摘要:分类: Indy组件 2012-02-20 11:22 1120人阅读 评论(0) 收藏 举报 delphiiocsocket网络游戏网络应用tcpdelphi 接收心跳包怎么写 有开发网络应用经历的人都知道,网络中的接收和发送数据都是使用WINDOWS中的SOCKET进行实现。但是如果此套接字已经...
阅读全文
05 2015 档案
摘要:从Indy9升级到Indy10时IdTcpServer的变化 首先Indy9.18中的TcpServer在Indy10中被分割成了2个组件:TIdCmdTCPServer和TIdTCPServer。其中TIdCmdTCPServer是原来的TIdTCPServer,新的TIdTCPServer单独分...
阅读全文
摘要:DELPHI高性能大容量SOCKET并发(四):粘包、分包、解包粘包使用TCP长连接就会引入粘包的问题,粘包是指发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾。粘包可能由发送方造成,也可能由接收方造成。TCP为提高传输效率,发送方往往要收集到足够多的...
阅读全文
摘要:TRawSocket = class(TObject)private buf: array[0..BUFLEN - 1] of char; FdwNotifyWnd: Cardinal; hsocket: Cardinal; str: string;public con...
阅读全文
摘要:8位(bit)=1字节(Byte) 8位(bit)=1字节(Byte),1024字节=1KB;提到了字节,不得不再提到“字”这个计量单位:“字”由若干个字节构成,字的位数叫做字长,字长就是说字所对应的二进制数的长度。不同的机器有不同的字长。例如一台8位机,它的1个字就等于1个字节,字长为8位。如果是...
阅读全文
摘要:IF OBJECT_ID('[A]') IS NOT NULL DROP TABLE [A]GOCREATE TABLE [A] ([id] [int],[name] [nvarchar](10),[yoyo] [nvarchar](10))INSERT INTO [A]SELECT '2','na...
阅读全文
摘要:select * from DISPATCH order by FLTID descSELECT TOP 1000 [FLTID] ,[VIP_ID] ,[VIP_NAME] ,[GENDER] ,[VIP_POS] ,[VIP_AGE] ...
阅读全文
摘要:SELECT * FROM ( SELECT 'ISA.FLIGHTTIME' AS 表名, * FROM ISA.DBO.AIRLINES_FLIGHTTIME EXCEPT SELECT 'B表' AS 表名, * FROM ISA510.DBO.AIRLINES_FLI...
阅读全文
摘要:unit TransferThread;////////////////////////////////////////////////////////////////////////////////// 模块说明: FTP传输核心模块类// 功能: 指...
阅读全文
摘要:1 内存分配常见函数GetMem和FreeMem、GetMemory和FreeMemory、New和Dispose、StrAlloc和StrDispose、AllocMem、SysGetMem和SysFreeMem。2 GetMem和FreeMem、GetMemory和FreeMemory由于DEL...
阅读全文
摘要:.Application 变量(标准应用程序) 描绘应用程序级的信息 单元 Forms var Application: TApplication; 描述 默认地,当创建一个新的项目,Delphi会构造一个应用程序对象并将其赋给位于Forms单元中的Application变量。Applica...
阅读全文
摘要:Application.Terminate 只是呼叫 PostQuitMessage 這個 Windows API表明程式準備要結束而已, 它並不會立即中止整個程式, 也不會強迫終止若有其他程序還在運行, 則程式很可能會發生如你描述的那種情形Application.Terminate 的詳細說明, ...
阅读全文
摘要:只有在线程执行体中调用主进程的全局变量才使用同步.Synchronize
阅读全文
摘要:TNotifyEvent是Delphi中基本通知事件的类型,定义为: type TNotifyEvent = procedure(Sender: TObject) of object; 它除了发送者外不带任何其他信息,只用作通知程序某个事件已经发生...
阅读全文
摘要:线程中CreateEvent和SetEvent及WaitForSingleObject的用法博客分类:delphi多线程WindowsSocket网络应用thread首先介绍CreateEvent是创建windows事件的意思,作用主要用在判断线程退出,程锁定方面.CreateEvent函功能描述:...
阅读全文
摘要:Delphi之virtual,dynamic,abstract 对象的方法能定义成静态(static)、虚拟(virtual)、动态(dynamic)或消息处理(message)。请看下面 的例子: TFoo = class procedure IAmAStatic; procedure IAmAV...
阅读全文
摘要:1、位(bit) 来自英文bit,音译为“比特”,表示二进制位。位是计算机内部数据储存的最小单位,11010100是一个8位二进制数。一个二进制位只可以表示0和1两种状态(21);两个二进制位可以表示00、01、10、11四种(22)状态;三位二进制数可表示八种状态(23)……。 2、字节(byte...
阅读全文
摘要:位:在计算机中,数据的最小单位是位,位是指一位二进制数,英文名称是bit。字节:8个二进制位构成1个字节(B),1个字节可以储存1个英文字母或半个汉字。字节是存储空间的基本计量单位,计算机杨的内存和磁盘的容量都是以字节表示的。字:不同计算机系统中字长的整数倍.字长:电脑技术中对CPU在单位时间内(同...
阅读全文
摘要:delphi中Record 和Packed Record的区别 .分类: delphi 2011-06-25 09:33 3669人阅读 评论(2) 收藏 举报 delphiinteger编译器windows Record 和Packed Record 第一种不带packed关键字的...
阅读全文
摘要:(转)临界区,互斥量,信号量,事件的区别(线程同步) (转)临界区,互斥量,信号量,事件的区别(线程同步) .分类: C++ windows 核心编程 2012-04-10 14:55 3321人阅读 评论(0) 收藏 举报 semaphoremfcnulleventsthreadhtt...
阅读全文
摘要:TIdFTP.List和返回值容器--用于GUI控制(2007-04-29 18:33:10)转载▼标签:indyftplist分类:编程今天的劳动成果,没什么难度,拿出来共享吧!如果你想把FTP远程目录显示出来,这些有用。针对Indy9 TIdFTP.List的返回结果在GUI控制中显示的帮助。L...
阅读全文
摘要:function Slice ( SourceArray : array; Count : Integer ) : array;描述:Slice函数从源数组SourceArray中第一个元素开始,共Count个元素,创建成一个子数组。这个子数组只能用于作为一个过程或函数的开放数组参数。开放数组参数...
阅读全文
摘要:具体要求:我的代码:varstrlist:tstringlist;begin strlist := tstringlist.Create; //创建 strlist.LoadFromFile(txtlj); //读取文档 i := strlist.Count; for i...
阅读全文
摘要:procedure TForm3.btn1Click(Sender: TObject); const w=100; h = 20; var ObjList: TObjectList; LstList:Tstringlist; Edit: TEdit; i: Integer; begin Ob...
阅读全文
摘要:作者 : pandame标题 : Delphi 小谈之TList 篇(转) 关键字: 分类 : 个人专区 密级 : 公开 (评分: , 回复: 0, 阅读: 1526) ?? 看了这里标题,大家可能以为我会谈TListBox控件,那就错了。我要谈的是Delphi提供给我们的具有列表性质的类:Tstr...
阅读全文
摘要:GRANT SELECT on AC to CQCP GRANT SELECT on AC_VERSION to CQCP GRANT SELECT on dbo.AC_ACTYPES to CQCP REVOKE SELECT to CQCP
阅读全文
摘要:1、Invalidate介绍 void Invalidate( BOOL bErase = TRUE ); 该函数的作用是使整个窗口客户区无效。窗口的客户区无效意味着需要重绘,例如,如果一个被其它窗口遮住的窗口变成了前台窗口,那么原来被遮住的部分就是无效的,需要重绘。这时Windows会在应用程...
阅读全文
摘要:252627 //第一种方式procedure TForm1.btn1Click(Sender: TObject);beginWith TForm2.Create(Application) doTry ShowModal;finally free;end;end; //第二种方式proced...
阅读全文
摘要:串口通讯时传输速率与传输距离有什么关系 ? 1. 波特率 在串行通信中,用 “ 波特率 ” 来描述数据的传输速率。所谓波特率,即每秒钟传送的二进制位数,其单位为 bps ( bits per second )。它是衡量串行数据速度快慢的重要指标。有时也用 “ 位周期 ” 来...
阅读全文
摘要:串口通信之数据接收处理1 如果通信物理设备连接如下图1所示,即计算机有1到多个串口,而每个串口设备下仅仅挂载1个采集器,那么协议就没必要地址码,协议可以是:同步头 + 命令字 + 数据长度 + 数据正文 + 校验码。此时各个串口通信是互不相关的。 接收数据可以采用一个队列,每当串口有数...
阅读全文
摘要:TRTLCriticalSection是一个结构体,在windows单元中定义;是InitializeCriticalSection, EnterCriticalSection, LeaveCriticalSection, DeleteCriticalSection 等这几个kernel32....
阅读全文
摘要:【转载】Delphi7从子线程中发送消息到主线程触发事件执行 在对数据库的操作时,有时要用一个子线程来进行后台的数据操作。比如说数据备份,转档什么的。在主窗口还能同是进行其它操作。而有时后台每处理一个数据文件,要向主窗口发送消息,让主窗口实时显示处理进度在窗口上(可视),同时进行日志处理等。我用的是...
阅读全文
摘要:关于IOCP乱序的探讨 2011-07-14 10:55:49标签:职场 休闲 IOCP乱序关于IOCP的探讨本文主要探讨一下windows平台上的完成端口开发及其与之相关的几个重要的技术概念,这些概念都是与基于IOCP的开发密切相关的,对开发人员来讲,又不得不给予足够重视的几个概念: 1) 基...
阅读全文
摘要:MFC data forwarding to main thread via PostMessage up vote3down votefavorite3I have a C++/MFC application I need to restructure. The app used to proce...
阅读全文
摘要:Delphi中的线程类 转贴于 华夏黑客同盟 http://www.77169.orgDelphi中有一个线程类TThread是用来实现多线程编程的,这个绝大多数Delphi书藉都有说到,但基本上都是对TThread类的几个成员作一简单介绍,再说明一下Execute的实现和Synchronize的...
阅读全文
摘要:当您使用的类层次结构的对象如TThread,其属性和方法都不能保证是线程安全的。也就是说,直接访问其他窗体属性或执行方法,则使用的内存不从受其他线程的保护。正因为如此,一个主线程是预留访问VCL和CLX对象,从而使所有的Windows组件接收到线程发送的消息时进行处理,即让应用程序上的所有控件同步...
阅读全文
摘要:Delphi中多线程用消息实现VCL数据同步显示Lanno Ckeeke 2006-5-12概述:delphi中严格区分主线程和子主线程,主线程负责GUI的更新,子线程负责数据运算,当数据运行完毕后,子线程可以向主线程式发送消息,以便通知其将VCL中的数据更新。实现:关键在于消息的发送及接收。在消息...
阅读全文
摘要:For example, if you have the some enum typeTyourEnumType = (One, Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten)and you want in run-time to get ...
阅读全文
摘要:Second example: same form with listview and two buttons:// Will failprocedure TForm1.AddString(Var S : String);beginwith form1.listview1 do beginif (F...
阅读全文
摘要:ADO多线程数据库查询通常会出现3个问题:1、CoInitialize 没有调用 (CoInitialize was not called);所以,在使用任何dbGo对象前,必须手 调用CoInitialize和CoUninitialize。调用CoInitialize失败会产生"CoInitial...
阅读全文
摘要:function TCFADODBStorage.OpenConnection: Boolean; //线程里打开ADOConnection,在XP下切换输入法程序会死掉 //原因:ADO自动创建一个ADODB.AsyncEventMessenger窗口,然后会有一个对应的IME窗口,但线程里没...
阅读全文
摘要:→读某行某列的操作:Edit1.Text := listview1.Items[i].Caption; //读第i行第1列Edit2.Text := listview1.Items[i].SubItems.strings[0]; //读第i行第2列Edit3.Text := listview1.It...
阅读全文
摘要:Delphi ListView快速操作通用实现众所周知,Delphi ListView类直接进行Add、Update、Delete操作的速度是比较慢的,尤其是当数据量较大时,比如数据量达到5000、10000、50000时,速度真是可以说是“慢得惊人”。其实快速操作的方法非常简单,就当大家都知道了。...
阅读全文
摘要:CTreeCtrl是在OnNMCustomdraw中自绘的,不要设定其他属性 CListCtrl是在DrawItem中自绘的,要设定属性LVS_OWNERDRAWFIXED|LVS_REPORT CButton是在DrawItem中自绘的,要设定属性BS_OWNERDRAW CMenu是在...
阅读全文
摘要:orm.Free - 释放Form占用的所有资源。Free后,Form指针不能再使用,除非对Form重新赋值。 form.Hide - 隐藏Form。可以调用form.Show再一次显示。 form.close - 关闭Form,实际的结果取决于OnCloseQuer...
阅读全文
摘要:在iniFiles单元中,有三个读取ini文件的三个主要操作类TCustomIniFile、TmemIniFile和TiniFile,其中在windows系统编译下,TcustomIniFile分别为TmemIniFile和TiniFile下的基类,其中在windows系统中TmemIniFile和...
阅读全文
摘要:1.)方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。 如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding...
阅读全文
摘要:FMX是一套UI类库,就相当于以前的VCL,但是相比VCL来说,支持了跨平台,同时也直接内部支持了各种特效动画甚至3D的效果,如果效率性能上来了,这个类库还是很有前景的。这次我主要学习的就是一个FMX窗体是如何绘制并显示出来的,相比较于VCL,有哪些不同之处,以及一个FMX程序的启动运转的最简单...
阅读全文
摘要:Delphi的Android程序是原生的程序,也就是NativeActivity。那么就需要先看一下NativeActivity的原理,在AndroidManifest.xml文件里面指定入口activity为nativeactivity,这样应用程序一启动,java虚拟机这边就开一个主线程,主线程...
阅读全文
摘要:从Delphi 5开始VCL中增加了一个新的Contnrs单元,单元中定义了8个新的类,全部都是基于标准的TList 类。TList 类 TList 类实际上就是一个可以存储指针的容器类,提供了一系列的方法和属性来添加,删除,重排,定位,存取和排序容器中的类,它是基于数组的机制来实现的容器,比较...
阅读全文
摘要:接口(interface)在Delphi中是一个很有意思的东西。Delphi 3开始支持接口,从而形成了COM编程的基础;然而,Delphi中的接口也可用在非COM开发中,实现类似抽象类(含有抽象方法的类)的功能,从而弥补了Delphi中不能多继承(子类有多个同级父类)的不足。这里所讲的interf...
阅读全文
摘要:集合是由具有某些共同特征的元素构成的一个整体。在pascal中,一个集合是由具有同一有序类型的一组数据元素所组成,这一有序类型称为该集合的基类型。一、集合类型的定义和变量的说明集合类型的一般形式为:set of 基类型;基类型可以是任意顺序类型, 而不能是实型或其它构造类型。同时,基类型的数据的序号...
阅读全文
摘要:unit Unit1;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, V...
阅读全文
摘要:MMSQueue:= TQueue.Create;MMSQueue.Push(StrNew(PChar(strAccidentTime)));//堆上申请空间 strRecv:= MMSQueue.Pop; argTime:= StrPas(strRecv); StrDisp...
阅读全文