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

    Delphi中PChar转换到string是自动进行的,没必要用StrPas
    '#0'终结符:读到#0后就不会往后查看了
    PChar类型可以看成一个字符数组指针,类似于C语音中的数组指针
    StrPCopy(P, str):将str的内容复制给P(PChar)
    StrCopy(P1, P2):把P2指向的内容复制给P1
    P1 := P2;将P2的指向的地址赋值给P1
    Inc(P)等于P + 1;
    PChar写操作有三种方式:1,GetMem申请内存;2,指向一个用SetLength预设长度的string;3,指向一个数组


    有序类型的序号:
    Pred:前一个序号
    Ord:自己的序号
    Succ:后一个的序号


    日期类型实际上是一个Double类型,意义是从1989年12月30日开始的天数。
    整数部分表示天数,小数部分表示时间占一天的比值

    日期类型:TDate,’2021-09-11’
    时间类型:TTime, ‘23:59:59 999’
    日期时间类型:TDateTime ‘2021-09-11 23:59:59 999’

    获取当前时间:
    Date:获取当前的日期部分。'YYYY-MM-dd'
    Time:获取当前的时间部分。'hh-mm-ss zzz'
    Now:获取当前的日期和时间

    解码日期(Now是日期类型,其它参数为Word类型):
    DecodeDate(Now, Year, Month, day)
    DecodeTime(Now, Hour, Minute,second. MillionSecond)
    编码日期(都是Integer类型):
    EncodeDate(year, month, day);
    EncodeTime(....)

    IncMonth:返回日期增加一个月的日期
    其它类似的Inc需要引用System.DateUtils单元

    StartofYear/Month/Day..开始时间.
    EndOfYear/Month/Day...结束时间(毫秒部分精确到999,但SQL中毫秒部分为997)

    DateUtils中的日期函数 :
    YearOf
    MonthOf
    DayOf

    获取时间间隔:Years/Months/Days/Hours/Minutes/Seconds/MilliSecondsBetween
    获取毫秒间隔是准确的。
    其它的都用到了Div来计算
    Trunc(Now) = DaysBetween(Now, 0)


    StrToIntDef等有默认值的转换可以用try strToInt.. Except ... end;替换

    Str(Num[, Width[, Decimal]]; var Str);将数值类型Num转换为String并保存到Str中。其中Width长度、Decimal精度是可选的。
    Val(Str, var Num, Index;):将Str中前面的合法数值字符串转化为数值保存在Num中,如果有不合法的字符,则用Index保存第一个不合法字符的位置(第Index个)。


    文件函数:
    FileExists(FilePath):判断文件是否存在
    DeleteFile(FilePath): 删除文件,成功则返回True
    Extract函数:解析文件全路径,返回某部分(例C:Path/Hello/a.txt)
    ExtractFileName(FilePath):返回文件名(含扩展名),如a.txt
    ExtractExt(FilePath):返回文件扩展名(包含.),如.txt
    ExtractFilePath(FilePath):返回该文件所在文件夹路径(含/),如C:Path/Hello/
    ExtractFileDir(FilePath):返回该文件所在文件夹路径(不含/),如C:Path/Hello
    ExtractFileDrive(FilePath):返回该文件所在的驱动器盘符,如C
    ChangeFileExt(FilePath):返回修改扩展名后的文件名(没有修改文件实体)
    ReNameFile(FilePath):修改文件的扩展名
    例: ReNameFile(FilePath, ChangeFileExt(FilePath, ‘.Doc’));


    设有一个指针P指向一个对象O,P.Free只是将O释放了,但P依旧指向O原本所在的空间,此时P成为非法指针,很容易报错。FreeAndNil(P)则是将O释放并将P重置为Nil,是安全的。

    Assigned()判断变量是否为空

  • 相关阅读:
    用mstsc連接服務器收到超出最大連接數的問題
    DIV+CSS自適就高度解決方案
    与佛关于婚外情的经典对白[轉]
    [轉]修改计算机名,sharepoint站点打不开了
    今天測試服務器壞了
    Microsoft.Jet.Oledb.4.0 找不到提供者或未安裝問題
    今天開始學習silverlight了
    FreeTextBox運行錯誤解決
    使用AJAXControlToolkit出現的問題
    子类如何调用被子类override了的方法?
  • 原文地址:https://www.cnblogs.com/wuchangxing/p/15262101.html
Copyright © 2011-2022 走看看