龙七

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  Delphi

Delphi的总栏位
摘要:Insufficient memory for this operation'Insufficient memory for this operation' errorQuestion:Whenever I attempt to open many query or table cursors, I finally reach a point when I get an error, "Insufficient memory for this operation". What do I do?Answer:First, you should read the 阅读全文
posted @ 2012-10-17 12:07 龙七 阅读(4605) 评论(0) 推荐(0) 编辑

摘要:TClientDataSet控件继承自TDataSet,其数据存储文件格式扩展名为 .cds,是基于文件型数据存储和操作的控件。该控件封装了对数据进行操作处理的接口和功能,而本身并不依赖上述几种数据库驱动程序,基本上能满足单机"瘦"数据库应用程序的需要。 1.TClientDataSet的基本属性和方法介绍 1).FieldDefs: 字段定义列表属性 开发者可通过单击属性编辑器中该属性编辑按钮,或在该控件上单击右键选择弹出菜单中的"Fields Editor"菜单进行字段编辑。设置完此属性后,实际上就相当于定义了表的结构;如果想装入已有的数据表的结构和 阅读全文
posted @ 2011-08-31 19:11 龙七 阅读(15989) 评论(0) 推荐(1) 编辑

摘要:unit Unit1;interface {接口部分开始}uses {引用单元列表,这是可选的,如果包含必须紧跟interface关键字} {接口部分声明常量/类型/变量/过程和函数,这些声明对引用单元就像自己的声明一样} {在接口部分声明的过程和函数,就像使用了forward关键字} {接口部分结束}implementation {实现部分}uses {如果包含uses字句,必须紧跟关键字implementation} {在这里实现interface中定义的过程和函数,可以任意顺序的定义和调用.} {在这里可以省略过程和函数的列表,如果包括,必须一样.} {可以定义单元私有的常量/类型(包括 阅读全文
posted @ 2011-07-15 13:33 龙七 阅读(341) 评论(0) 推荐(0) 编辑

摘要:Delphi数据类型C/C++ShorInt8位有符号整数charByte8位无符号整数BYTE,unsigned shortSmallInt16位有符号整数shortWord16位无符号整数unsigned shortInteger,LongInt32位有符号整数int,longCardinal,LongWord/DWORD32位无符号整数unsigned longInt6464位有符号整数_int64Single4字节浮点数float*Real486字节浮点数 Doubles8字节浮点数double*Extended10字节浮点数long doubleCurrency64位货币类型 TDa 阅读全文
posted @ 2011-07-15 13:25 龙七 阅读(2495) 评论(0) 推荐(0) 编辑

摘要:转载至:http://bbs.itjsj.com/thread-334070-1-1.html近来,因工作需要,必须解决Delphi7写的主程序调用C#写的dll的问题。在网上一番搜索,又经过种种试验,最终证明有以下两种方法可行: 编写C#dll的方法都一样,首先在vs2005中创建一个“类库”项目TestDll,usingSystem.Runtime.InteropServices;namespaceTestDll{publicinterfaceITestClass{ voidYourProcedure(stirng param1); }[ClassInterface(ClassInter. 阅读全文
posted @ 2011-07-15 13:20 龙七 阅读(6896) 评论(1) 推荐(0) 编辑

摘要:Windows 数据类型Delphi 数据类型描述LPSTRPAnsiChar字符串指针LPCSTRPAnsiChar字符串指针DWORDLongWord整数BOOLLongBool布尔型PBOOL^BOOL指向布尔值的指针PByte^Byte指向字节值的指针PINT^Integer指向整数值的指针PSingle^Single指向单精度浮点值的指针PWORD^Word指向16位值的指针PDWORD^DWORD指向32位值的指针LPDWORDPDWORD指向32位值的指针UCHARByte8位值(可用来表示字符)PUCHAR^Byte指向8位值的指针SHORTSmallint带符号16位整数UI 阅读全文
posted @ 2011-07-14 23:30 龙七 阅读(333) 评论(0) 推荐(0) 编辑

摘要:分类快捷键解释备注组件设计类Escape选择当前组件容器Shift + Click选择多个组件;选择窗体Tab选择下一个组件Shift + Tab选择上一个组件方向键选择此方向的下一个组件Ctrl + 方向键将所选组件的位置移动 1 个像素Shift + 方向键将所选组件的大小改变 1 个像素Ctrl + Shift + 方向键将所选组件的位置移动 1 个栅格Del删除所选组件Ctrl + 鼠标拖动选择一个容器内的多个组件可以一起修改共同属性Tab(在 Object Inspector 中使用)搜索属性或事件代码编辑类F1; Ctrl + F1光标所在单词的帮助Ctrl + Shift + E 阅读全文
posted @ 2011-07-14 23:23 龙七 阅读(269) 评论(0) 推荐(0) 编辑

摘要:指令参数存放位置参数传递顺序参数内存管理适用地点registerCPU寄存器从左到右被调用者默认,published 属性存取方法必须使用pascal栈从左到右被调用者向后兼容cdecl栈从右到左调用者调用 C++ 共享库stdcall栈从右到左被调用者API 调用safecall栈从右到左被调用者API 调用,如果回调函数;双接口方法必须使用其他指令near far export inline assemble 等,曾经在16下使用 阅读全文
posted @ 2011-07-14 23:22 龙七 阅读(179) 评论(0) 推荐(0) 编辑

摘要:分类运算符操作操作数结果类型范例算术运算符+加整数,实数整数,实数X + Y-减整数,实数整数,实数Result - 1*乘整数,实数整数,实数P * InterestRate/实数除整数,实数实数X / 2div整数除整数整数Total div UnitSizemod取模整数整数Y mod 6+(一元)符号等同整数,实数整数,实数+7-(一元)符号相反整数,实数整数,实数-X布尔运算符not否定布尔型Booleannot (C in MySet)and与布尔型BooleanDone and (Total > 0)or或布尔型BooleanA or Bxor异或布尔型BooleanA x 阅读全文
posted @ 2011-07-14 23:21 龙七 阅读(277) 评论(0) 推荐(0) 编辑

摘要://TStringList 常用方法与属性:var List: TStringList; i: Integer;begin List := TStringList.Create; List.Add('Strings1'); {添加} List.Add('Strings2'); List.Exchange(0,1); {置换} List.Insert(0,'Strings3'); {插入} i := List.IndexOf('Strings1'); {第一次出现的位置} List.Sort; {排序} List.Sorted := 阅读全文
posted @ 2011-07-14 17:52 龙七 阅读(1793) 评论(0) 推荐(0) 编辑

摘要:一:发送方View Code varhwnd:THandle;cpStruct:COPYDATASTRUCT;beginhwnd:=FindWindow(nil,PChar(FORMNAME));ifhwnd<>0thenbegincpStruct.dwData:=0;cpStruct.cbData:=length('test')+1;cpStruct.lpData:=pchar('test');SendMessage(Handle,WM_COPYDATA,0,Cardinal(@cpStruct));//lParam和wParam的顺序不能交换,具 阅读全文
posted @ 2011-07-14 13:59 龙七 阅读(276) 评论(0) 推荐(0) 编辑

摘要:; not allowed before ELSEElSE前不允许有“;”<clause> clause not allowed in OLE automation section在OLE自动区段不允许“<clause>”子句<name> is not a type identifier<name>不是类型标识符<name> not previously declared as a PROPERTY<name>前面没有说明PROPERTYGOTO <label> leads into or out of TRY 阅读全文
posted @ 2011-07-13 17:37 龙七 阅读(269) 评论(0) 推荐(0) 编辑

摘要:错误信息形式为: Run-time error nnn at xxxx; 其中nnn是运行时的错误编号; xxxx是运行时的错误地址.编号说明I/O错误: (编号100-149)100磁盘读错误,若要对超过格式文件尾进行读取时101磁盘写错误,若磁盘满时,由CloseFile,Write,Writeln或Flush报告102没有指定文件,若文件变量没有由Assign或AssignFile赋值,由Reset, Rewrite,Append,Rename和Erase报告103文件没有打开,若文件未打开,由CloseFile,Read,Write,Seek,Eof, FilePos,FileSize 阅读全文
posted @ 2011-07-13 17:36 龙七 阅读(1500) 评论(0) 推荐(0) 编辑

摘要:在看 API 文档时, 我们经常见到 GetLastError; 它可以返回操作后系统给的提示.但 GetLastError 返回的只是一个信息代码, 如何返回对应的具体信息呢?FormatMessage 可以, 但这个函数太复杂了; 可以用 SysErrorMessage 代替它.举例:var err: string; ErrorCode: DWORD;begin ErrorCode:=GetLastError; ShowMessage(IntToStr(ErrorCode)); err := SysErrorMessage(ErrorCode); ShowMessage(err); {操作 阅读全文
posted @ 2011-07-13 14:26 龙七 阅读(535) 评论(0) 推荐(0) 编辑

摘要:一:创建DLLView Code library DemoDll;{ Important note about DLL memory management: ShareMem must be thefirst unit in your library's USES clause AND your project's (selectProject-View Source) USES clause if your DLL exports any procedures orfunctions that pass strings as parameters or function re 阅读全文
posted @ 2011-07-13 10:29 龙七 阅读(421) 评论(0) 推荐(0) 编辑

摘要://通过 DLL Wizard 建立: View Code library TestDll;{ Important note about DLL memory management: ShareMem must be thefirst unit in your library's USES clause AND your project's (selectProject-View Source) USES clause if your DLL exports any procedures orfunctions that pass strings as parameters o 阅读全文
posted @ 2011-07-13 10:13 龙七 阅读(244) 评论(0) 推荐(0) 编辑

摘要:一:新建DLLView Code library TestMDIDll;{ Important note about DLL memory management: ShareMem must be thefirst unit in your library's USES clause AND your project's (selectProject-View Source) USES clause if your DLL exports any procedures orfunctions that pass strings as parameters or function 阅读全文
posted @ 2011-07-12 17:30 龙七 阅读(436) 评论(0) 推荐(0) 编辑

摘要:1 连接远程服务器procedure Connect(AAutoLogin: boolean; const ATimeout: Integer);2 改变目录procedure ChangeDir(const ADirName: string);3 下载procedure Get(const ASourceFile: string; ADest: TStream; AResume: Boolean); overload;procedure Get(const ASourceFile: string; const ADestFile: string; const ACanOverwrite: b 阅读全文
posted @ 2011-07-11 20:13 龙七 阅读(2228) 评论(0) 推荐(1) 编辑

摘要:首先下载SuperObject 代码包官网 http://www.progdigy.com/?page_id=6下载地址 http://code.google.com/p/superobject/downloads/list官方论坛 http://www.progdigy.com/forums/viewforum.php?f=5好,开始例子var obj: ISuperObject;begin obj := SO('{"foo": true}'); //创建对象 memo1.lines.add(obj.asobject.s['foo']);/ 阅读全文
posted @ 2011-07-11 20:04 龙七 阅读(1742) 评论(0) 推荐(0) 编辑

摘要:使用串口SPCOMM接收数据的时候0x11和0x13无法接受,从时间间隔上看来可以接收,但是无法显示。网上查错误得:------------------------------------------------------------------------OutX_XonXOffFlow/InX_XonXoffFlow:这个属性是指进行发送/接收时的软件握手标志,两个握手信号之间的数据被认为是通讯数据,收到握手信号后,通讯就中止了。FOutx_XonXoffFlow := True;FInx_XonXoffFlow := True;XOffChar/XOnChar:这是指握手的字节,默认的 阅读全文
posted @ 2011-07-11 20:01 龙七 阅读(11990) 评论(2) 推荐(0) 编辑