• 我学Delphi心得及笔记编写Delphi代码(第一讲)


    第一讲内容:

    1、注释

    Delphi注释分为三种:

    1.1: //this is my code.---  单行注释。

    1.2: (* this is my code *)-----这种方式在欧洲使用较广 ,因为欧洲的键盘缺少大括号。

    1.3:{this is my code}---段落注释

    2、使用大写字母Delphi语言的大小写不区分)

    Pascal 编译器(不象其他语言的编译器)不考虑字符的大小写,因此标识符Myname、 MyName、 myname、 myName、 和MYNAME是完全相同的。总体上来说,这是Pascal的一大优点,因为在大小写敏感的语言中,许多语法错误是由不正确的大写引起的。:写使用的一致性不是编译器强制要求的,但是保持大写使用的一致性是值得提倡的好习惯。一个常用的方法是将每个标识符的第一个字母大写,标识符若由几个词组合而成(中间不能插入空格),每个词的第一个字母应写:MyLongIdentifier,MyVeryLongAndAlmostStupidIdentifier

    关于代码编写风格的最后一条建议是:尽量使用空白优化版面。这一条很容易做到,只需要在写复合句时,以上一句为参照,下一句向右缩进两个空格,复合句内嵌的复合句缩进四个空格,依此类推。例如:

    if ... then
      statement;
    if ... then
    begin
      statement1;
      statement2;
    end;
    if ... then
    begin
      if ... then
        statement1;
      statement2;
    end;

    3、关键字

    关键字是Object Pascal 的保留标识符,在语言中有着特殊含义。保留字不能用作标识符,指令字也同样不应该用作标识符,即使编译器允许也最好不用。在实际中你不应该把任何关键字用作标识符。

    关键字作用
    absolute 指令 (变量)
    abstract 指令 (方法)
    and 运算符 (布尔)
    array 类型
    as 运算符 (RTTI)
    asm 语句
    assembler 向后兼容 (汇编)
    at 语句 (异常处理)
    automated 访问类别符 (类)
    begin 块标记
    case 语句
    cdecl 函数调用协定
    class 类型
    const 声明或指令(参数)
    constructor 特殊方法
    contains 运算符 (集合)
    default 指令 (属性)
    destructor 特殊方法
    dispid dispinterface 界面类别符
    dispinterface 类型
    div 运算符
    do 语句
    downto 语句 (for)
    dynamic 指令 (方法)
    else 语句 (if 或 case)
    end 块标记
    except 语句 (异常处理)
    export 向后兼容 (类)
    exports 声明
    external 指令 (函数)
    far 向后兼容 (类)
    file 类型
    finalization 单元结构
    finally 语句 (异常处理)
    for 语句
    forward 函数指令
    function 声明
    goto 语句
    if 语句
    implementation 单元结构
    implements 指令 (属性)
    in 运算符 (集合) - 工程结构
    index 指令 (dipinterface界面)
    inherited 语句
    initialization 单元结构
    inline 向后兼容 (见 asm)
    interface 类型
    is 运算符 (RTTI)
    label 声明
    library 程序结构
    message 指令 (方法)
    mod 运算符 (数学)
    name 指令 (函数)
    near 向后兼容 (类)
    nil 数值
    nodefault 指令 (属性)
    not 运算符 (布尔)
    object 向后兼容 (类)
    of 语句 (case)
    on 语句 (异常处理)
    or 运算符 (布尔)
    out 指令 (参数)
    overload 函数指令
    override 函数指令
    package 程序结构 (控件包)
    packed 指令 (记录)
    pascal 函数调用协定
    private 访问类别符 (class)
    procedure 声明
    program 程序结构
    property 声明
    protected 访问类别符 (类)
    public 访问类别符 (类)
    published 访问类别符 (类)
    raise 语句 (异常处理)
    read 属性类别符
    readonly dispatch 界面类别符
    record 类型
    register 函数调用协定
    reintroduce 函数指令
    repeat 语句
    requires 程序结构 (控件包)
    resident 指令 (函数)
    resourcestring 类型
    safecall 函数调用协定
    set 类型
    shl 运算符 (数学)
    shr 运算符 (数学)
    stdcall 函数调用协定
    stored 指令 (属性)
    string 类型
    then 语句 (if)
    threadvar 声明
    to 语句 (for)
    try 语句 (异常处理)
    type 声明
    unit 单元结构
    until 语句
    uses 单元结构
    var 声明
    virtual 指令 (方法)
    while 语句
    with 语句
    write 属性类别符
    writeonly dispatch 界面类别符
    xor 运算符 (布尔)

    4、表达式和运算符
    建立表达式没有通用的方法,因为要取决于所用的运算符,Pascal包括有逻辑运算符、算术运算符、布尔运算符、关系运算符和集合运算符等等。
    表达式可用于确定赋给一个变量的值、计算函数或过程的参数、或者判断一个条件,表达式也可以包含函数调用。表达式是对一个标识符的值而不是标识符本身进行运算。
    运算符及其优先级
    所有编程语言中的表达式都是常量、变量、数值、运算符和函数值的合法组合。表达式可以传递给过程或函数的值参,但不能传递给过程或函数中的引用参数。
    如果你以前写过程序,那么你已经知道表达式是什么了。这里我专门讲一下Pascal 运算符的特殊部分:运算符的优先级。表2.2中按优先级分组列出了Pascal语言的运算符。
    与大多数编程语言相反,Pascal语言中and和or运算符的优先级比关系运算符高。因此,如果你的代码为a < b and c < d,编译器首先会编译and运算符,由此导致编译出错。为此你应该把每个 < 表达式用小括号括起来: (a < b) and (c < d)。   
    同一种运算符用于不同数据类型时它的作用不同。例如,运算符 + 可以计算两个数字的和、连接两个字符串、求两个集合的并集、甚至给PChar 指针加一个偏移量。然而,你不能象在C语言中那样将两个字符相加。
    另一个特殊的运算符是 div。在Pascal 中,你能用 / 计算两个数字(实数或整数)的商,而且你总能得到一个实型结果。如果计算两个整数的商并想要一个整型结果,那么就需要用 div 运算符。
      
    单目运算符 (最高优先级)
    @ 取变量或函数的地址(返回一个指针)
    not 逻辑取反或按位取反
    乘除及按位运算符
    * 相乘或集合交集
    / 浮点相除
    div 整数相除
    mod 取模 (整数相除的余数)
    as 程序运行阶段类型转换 (RTTI运算符)
    and 逻辑或按位求和
    shl 按位左移
    shr 按位右移
    加减运算符
    + 相加、集合并集、字符串连接或指针增加一个偏移量
    - 相减、集合差集或指针减少一个偏移量
    or 逻辑或按位或运算
    xor 逻辑或按位异或运算
    关系及比较运算符(最低优先级)
    = 判断是否相等
    <> 判断是否不相等
    < 判断是否小于
    > 判断是否大于
    <= 判断是否小于或等于,或是否是一个集合的子集
    >= 判断是否大于或等于,或是否是一个集合的父集
    in 判断是否是集合成员
    is 判断对象是否类型兼容 (又一个RTTI运算符)
     

    5、集合运算符

    集合运算符包括并(+)、差(-)、交(*)、成员检测(in),及一些关系运算符。要把一个元素添加到集合中,你可以采用集合并运算。下面是一个选择字体的Delphi 例子:

    Style := Style + [fsBold];
    Style := Style + [fsBold, fsItalic] - [fsUnderline];
    

    另一种方法是利用标准过程Include 和Exclude,它们效率更高(但不能用于控件的集合类型属性,因为只能操纵一个元素):

    Include (Style, fsBold);
  • 相关阅读:
    解决Could not load file or assembly CefSharp.Core.dll的问题
    操作AppConfig.xml中AppSettings对应值字符串
    SqlServer根据时段统计数据
    Jquery Validation 多按钮,多表单,分组验证
    HDU 4630 No Pain No Game 线段树 和 hdu3333有共同点
    二叉查找树模板
    五边形数定理
    HDU 4651 Partition 整数划分,可重复情况
    CSU 1114 平方根大搜索 java大数
    hdu 4869 Turn the pokers
  • 原文地址:https://www.cnblogs.com/youshan/p/2101769.html
Copyright © 2020-2023  润新知