zoukankan      html  css  js  c++  java
  • Delphi学习第一天笔记

    Delphi变量不区分大小写
    Delphi变量可以用下划线开头
    常量声明格式:

      const 
    	变量名1 := 常量值1;
    	变量名2 := 常量值2;
    

    变量声明格式:

       var
    	变量名1 : 数据类型;
    	变量名2, 变量名3, 变量名4 : 数据类型;
    

    在过程或函数中定义的变量都是局部变量,其它的都为全局变量
    全局变量系统会自动初始化,Integer = 0, string = ''
    局部变量如果没有显示初始化,则为一个随机数

    简单类型包括有序类型和实数类型

    有序类型定义了一个有序的数值范围,除了第一个值外,均有前一个值。

    有序类型包括Integer、Cardinal(无符号大正数)、字符型(Char,单个字符)、布尔值、枚举、子界类型

    定义枚举

    type
      TWeekDay = (SunDay, Monday);
    

    枚举类型的意义是用有意义的值代替状态值
    Ord(Monday):判断枚举值的位置,从0开始

    子界类型:用于限定数据取值范围
    定义字界类型:

    	type
    		Age = 10..18:--定义了一个age类型,它是Int类型的,只能取10到18间的值
    

    Extended、Float、Double:实数类型
    TDateTime:日期,实质是一个double型的数据

    一个有趣的类型转换:
    var a: Integer; b: Double; c:DateTime;
    begin
      a := 10;
      b := a + 0.5;
      c := b; //c = '1900-01-09 12:00:00'
    end;
    dateTimeToStr():将日期转换为字符串,格式与计算机的日期格式有关,故不常用
    FormatDateTime('yyyy-mm-dd hh:nn:ss.zzz', MyDate):
    IntToStr()
    

    字符串类型:
    ShortString: maxL = 255
    AnsiString: 单字节字符串,一个中文占两个字节,一个英文占一个字节。MaxL = 20亿,有引用计数
    WideString: 双字节字符串,不管中英文,通通占两个字节。MaxL = 20亿,无引用计数、
    UnicodeString:MaxL = 20亿,有引用计数
    string = UnicodeString
    字符串用单引号
    栈的读写速度很快,堆的容量最多可以是整个内存大小
    对于占空间小的变量,可以保存在栈中
    如果变量的值很大或是复杂类型的变量,则将变量的值保存在堆中,在栈中保存指向该堆地址的指针和变量名
    引用计数:堆中某块地址被引用的次数,为0则自动释放这段内存。
    字符串一旦创建,就不能更改,对字符串的更改本质上是重新new一个字符串(和Java中的String类有点像)

    结构类型:

    集合类型:set of 基本类型,一般与+并集、-差集、*交集、In成员检测配合使用
    例: var age = set of 1..10;

    数组类型:

            array of 数据类型
    	array[数组下标..数值上标] Of Integer
    	二维数组:array[row1Down..row1Up, row2Down..row2Up] of ..
    
    var arr : array of Integer
    SetLength(arr, length); {动态设置数组长度}
    
    

    记录类型:和SQL中的变量表相似,用于记录一整套的相关信息。(和Java中的类相似)
    定义记录类型:

    	type
    		类型名 = Record
    				...各种变量声明	
    			 end;
    

    指针类型:保存指定类型的变量的所在地址
    var
    指针名 : ^数据类型
    @变量名 :获得该变量的地址

    指针名^ :获取该指针指向的地址保存的值

    流程控制语句:

            if...then ...else
    	Case
    	For循环: for i = 0 to 10 do
    	
    		  for i = 10 downto 0 do
    	break、Continue
    
  • 相关阅读:
    C#后台正则表达式
    Layer 弹出层抖动问题
    JS中子页面父页面方法 变量相互调用
    layer最大话.最小化.还原回调方法
    trove远程连接mongodb
    tar.gz tar.bz2的解压命令
    IO测试工具之fio详解
    HTTP请求方法
    jmeter --使用put方法上传文件
    DHCP的原理和实现过程
  • 原文地址:https://www.cnblogs.com/wuchangxing/p/15221585.html
Copyright © 2011-2022 走看看