阶段一总结
目录 1.数据类型 2.申明API 3.流程 4.组件的使用 下一步研究方向(1.源码调试方法的整理 2.代码风格的优化(全局变量 局部变量的命令规则) 3.Delphi DLL的写法 4.自用函数的封装 5.其他组件的用法(学习Delphi就是学习Delphi组件的用法)) ********************数据类型******************** 整型 integer 有符号整型 长度4字节 -2147483648-2147483647 (鄙视很多编译器 什么句柄型 布尔型什么的 按照罗云彬的说法 汇编只有整型 句柄就是一个整型数 BOOL型就是一字节的1或者0 把简单的问题搞复杂而已) Cardinal 无符号整型 长度4字节 0-4294967295 longword 长字型 长度4字节 0-4294967295 (这个最接近汇编的申明办法 汇编一般申明 dword(长度4字节) Delphi申明longworld 呵呵 (一个汇编的dword整型 Delphi有三种申明办法 呵呵) smallInt 小整型 长度2字节 -32768-32767 Word 无符号小整型 长度2字节 0-65535 shortInt 短整型 长度1字节 -128-127 Byte 无符号短整型 长度1 字节 0-255 好吧 写到这里我好象懂了 byte(1字节) word(字) longworld(双字) 可以和汇编对应 ---------------------------------------------------- 逻辑型 Boolean 逻辑型 1 False(假)0/True(真)1 ----------------------------------------------------- 文本型 string 文本型 2的31次方的字符 Char 字符串 1个字符 例如 a:array[0..5]of char 申明 内存模型为 00 01 02 03 04 05的字符串 ---------------------------------------------------- 数组 定义一个静态结构数组 a:array[0..6]of Byte 申明 内存模型为 00 01 02 03 04 05 06的字节集 静态数组 你也可以自己定义一个结构 创建一个结构数组 自己定义的结构 type Snapshot32=record //记录类型的名称 A1:Integer; A2:Integer; end; a:array[0..6]of Snapshot32; 定义一个动态结构数组 a:arry of integer; 或者 a:arry of Snapshot32 注意:动态定义以后 要用数组前一定要用 setlength(数组名,数组个数) 申明数组大小 附:length(数组名) 返回数组个数 ******************申明API***************** 例如1 自定义名 参数一 参数二传址 反回值 function getthpid(jubing:Integer;var lpid: Integer ): Integer; stdcall; external 'user32.dll' name 'GetWindowThreadProcessId'; 调用方式 在哪个DLL 本名 例如2 参数自己定义结构传址 自己定义的结构 type Snapshot32=record //记录类型的名称 A1:Integer; A2:Integer; A3:Integer; A4:Integer; A5:Integer; A6:Integer; A7:Integer; A8:Integer; A9:Integer; A10:array[0..259]of char; end; 参数二自己定义结构传址 function Process32First(x:Integer;VAR y: Snapshot32): Integer; stdcall; external 'kernel32.dll' name 'Process32First'; **********************流程******************** if then 顺序结构 if then else 选择结构 for 小 to 大 do 计次循环(小到大) for 大 dwonto 小 do 计次循环(大到小) while 条件 do 判断循环() repeat until(条件) 循环判断() break 跳出循环 continue 到循环尾 流程没什么好说 很简单 ******************组件的使用*************** listview 超级列表框 增加列表 var newitem:TListItem //定义TListItem类的一个变量 如果是循环增加 特别是第一项放到循环体里增加 newitem:=listview.Items.Add; newitem.Caption:='增加标题'; newitem.SubItems.Add('增加列2');列1是标题 ListView.Items.count总数<>0 ListView.Selected现行选中项<>nil ListView.Selected.Caption 现行选中项标题 ListView.Selected.SubItems.Strings[0]); 现行选中项列2 列1是标题 ListView.Selected.SubItems.Strings[1]); 现行选中项列3 列1是标题 ListView.Selected.Delete()删除选中项 ListView.Items[0].caption 第一行标题 ListView.Items[0].SubItems.strings[0] 第1行第2列数据 列1是标题 ListView.Items[0].Delete() 删除第一行