• 阶段一总结


    目录
    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 选择结构
    
    fortodo  计次循环(小到大)
    
    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() 删除第一行
  • 相关阅读:
    Linux内核tracepoints
    Linux 设备驱动的固件加载
    Android HIDL HAL 接口定义语言详解
    Android HIDL 详解
    Android各版本对应的SDK版本
    ifconfig调用过程
    Input系统—启动篇
    Linux下2号进程的kthreadd--Linux进程的管理与调度
    rest_init函数分析(续)
    【python】-常用模块2
  • 原文地址:https://www.cnblogs.com/qq32175822/p/3144060.html
Copyright © 2020-2023  润新知