• Delphi第二天学习笔记


    string类型可以看成一个Char数组,但是这个数组的下标是从1开始的。
    动态数组的下标默认是从0开始的,而自定义数组的下标是用户自定义的。
    如:

      var 
          arr : array of Integer;  -- 动态数组
          arr1 : array[4..100] of Integer;  --自定义数组(下标也可能是字符等其它有序类型)
      begin
        SetLength(arr, 10);
        ShowMessage(IntToStr(Low(arr)));  --结果为0
        ShowMessage(IntToStr(Low(arr1)));  --结果为4
      end;
    

    const声明参数值不可改变
    var声明的参数,传进来的不是该参数的值,而是该参数的引用,故该参数值改变了就是原变量的值改变了
    Length(数组名):求数组长度
    raise Exception.Create('Error Message'):抛出错误,并显示错误信息
    Low(arr):求数组下标的最小值;High(arr):求数组下标的最大值
    Inc(P):令P自增加1, P要是有序数据类型;Dec(P):自减,类似Inc
    Delete(s, startIndex, count):从s的第startIndex个字符开始,删除count个字符
    Nil:空指针。
    A Div B:A / B,取整(A、B都是整型)
    A Mod B:A % B,求余
    Not:单目运算,逻辑或按位取反
    xor:逻辑异或,按位异或:相同为0,不同为1
    And:逻辑与,按位与:全部为1才为1,否则为0
    or:逻辑或,按位或:只要有一个1就为1,否则为0
    多条件要用()包裹各个条件

    With语句是一种简写方式,见下例:

      With label1, edit1 Do   --不推荐在with中使用多个控件,容易出现歧义
      begin
        Caption := 'label';  --edit1没有caption属性,故是对label1进行的赋值
        font.color := clRed; --就近原则,edit1和lable1都有font属性,因为edit最后定义,离这句代码最近,所以是对edit1的赋值
      end
    

    if ... then ... else ...; 算一行代码,故在else前不许加';'

     Case 表达式 Of    --表达式的值必须是有序数据类型
            值1: ....;    --用begin end包裹多句代码
            值2:....;
            值3..值4:...;  --在值3到4的范围内触发
      end;
    

    delphi中的函数和过程只有返回值不同(函数有返回值,过程没有返回值),其它都相同
    delphi中,不建议在公共函数或过程中引用某个对象的子组件。

        --声明属于某个对象(设为Object)的函数或方法
        Procedure  Object.ProcName();
    

    delphi中写完函数或过程后,光标点击到代码体内,按下 Ctrl + Shift + C,会自动生成该函数和过程的声明。
    函数中默认有一个变量Result,它用于返回函数的返回值。
    不推荐用函数名来返回结果

    Delphi中默认是值传递,引用传递要用var声明。
    值传递和参数传递:值传递指只将参数的值传进来,不改变原参数的值;引用传递是将该参数的引用传递进来,会改变原参数的值。
    表达式(如常量表达式、a-6等)可以做为函数或过程的值传递参数,但不可以作为引用参数传递进来。

        --小数转整数
        Round(float); --对小数部分四舍五入
        trunc(float); --直接截取整数部分
    
        --格式化
        FormatFloat(FormatStr, float);    --格式化字符串中0代表有数就填。没数就用0代替;#代表有数就填,没有就不填;如果有一个或多个',',代表千位分隔符,整数部分每有三位就会自动加一个
        Format(formatStr, ParamList);    --带占位符的格式化
        --例:
        FormatFloat('#,0.00', 1234567.89111);  --结果为1,234,567.89
        Format('我有%f 元, 可以买 %d 本书', [200.35, 5]); --结果为 我有200.35 元, 可以买 5 本书
        
        
        --弹出输入框:inputQuery和InputBox
        function InputQuery(const ACaption, APrompt: string; var Value: string): Boolean; 
        --InputQuery返回值为是否点了OK 输入的字符串放在了变量Value中 
    
        function InputBox(const ACaption, APrompt, ADefault: string): string; 
        --inputBox返回值是字符串,也就是输入的字符串
    
        --尝试将字符串s转换成Integer类型的数据,如果转换成功,则将转换后的整数值赋给value变量,并返回True;否则value变量的值不变,返回false。
        tryStrToInt(Const s: string; out Value: Integer);
    
    
    
  • 相关阅读:
    数组
    Java读取键盘输入
    Java不同类型字符转换String/int/Float/////
    微信公众号第三方验证的代码实现
    Debian Tips【在Debian下使用dos2unix、unix2dos、ifconfig、Adobe Flash Player、蓝牙音响等工具】
    数组的三种方式总结 多维数组的遍历 Arrays类的常用方法总结
    java基本数据类型总结 类型转换 final关键字的用法
    Maven通解
    IDEA——错误: 找不到或无法加载主类 com.Main
    Docker安装mysql,redis,mongodb数据库,docker常用命令,以及更换阿里镜像地址
  • 原文地址:https://www.cnblogs.com/wuchangxing/p/15222118.html
Copyright © 2020-2023  润新知