常用的BCB+Delphi函数
Delphi函数大全
Delphi函数大全首部function Languages: TLanguages; $[SysUtils.pas功能返回系统语言对象说明通过此函数可以得到系统的语言环境参考type SysUtils.TLanguages例子///////Begin Languagesprocedure TForm1.Button1Click(Sender: TObject);varI: Integer;beginMemo1.Clear;for I := 0 to Languages.Count - 1 do;end;///////End Languages━━━━━━━━━━━━━━━━━━━━━首部function AllocMem(Size: Cardinal): Pointer; $[SysUtils.pas 功能返回一个指定大小Size的内存块说明配合用FreeMem释放资源参考function System.GetMem例子///////Begin AllocMemprocedure TForm1.Button1Click(Sender: TObject);varI: PInteger;beginI := AllocMem(SizeOf(Integer));I^ := 100;Edit1.Text := IntToStr(I^);FreeMem(I, SizeOf(Integer));end;///////End AllocMem━━━━━━━━━━━━━━━━━━━━━首部procedure AddExitProc(Proc: TProcedure); $[SysUtils.pas 功能添加一个退出处理的过程说明建议用finalization部分取代参考<NULL>例子////////Begin AddExitProcusesShellApi;procedure ExitProc;beginShellExecute(0, 'Open', 'Calc.exe', nil, nil, SW_SHOW);end;procedure TForm1.Button1Click(Sender: TObject);beginAddExitProc(ExitProc);end;////////End AddExitProc━━━━━━━━━━━━━━━━━━━━━首部function NewStr(const S: string): PString; deprecated; $[SysUtils.pas功能返回一个新的字符串指针地址说明字符串S为空时返回NullStr参考procedure System.New例子////////Begin NewStr,DisposeStrprocedure TForm1.Button1Click(Sender: TObject);varP: PString;beginP := NewStr(Edit1.Text);Edit2.Text := P^;DisposeStr(P);end;////////End NewStr,DisposeStr━━━━━━━━━━━━━━━━━━━━━首部procedure DisposeStr(P: PString); deprecated; $[SysUtils.pas功能释放字符串指针P资源说明配合函数NewStr使用参考procedure System.Dispose例子<如上参见,如下参见>━━━━━━━━━━━━━━━━━━━━━首部procedure AssignStr(var P: PString; const S: string); deprecated; $[SysUtils.pas 功能将字符串S更新给字符串指针P说明更新值时会释放以前字符串指针的资源参考function SysUtils.NewStr;function SysUtils.DisposeStr例子////////Begin AssignStrprocedure TForm1.Button1Click(Sender: TObject);varP: PString;beginP := nil;AssignStr(P, Edit1.Text);Edit2.Text := P^;DisposeStr(P);end;////////End AssignStr━━━━━━━━━━━━━━━━━━━━━首部procedure AppendStr(var Dest: string; const S: string); deprecated; $[SysUtils.pas功能在字符串Dest后追加字符串S说明相当于Dest := Dest + S;Delphi6已经不建议使用参考<NULL>例子////////Begin AppendStrprocedure TForm1.Button1Click(Sender: TObject);varS: string;beginS := Edit2.Text;AppendStr(S, Edit1.Text);Edit2.Text := S;end;////////End AppendStr━━━━━━━━━━━━━━━━━━━━━首部function UpperCase(const S: string): string; $[SysUtils.pas功能返回字符串S的大写形式说明非小写字符不处理参考procedure System.SetLength例子Edit2.Text := UpperCase(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function LowerCase(const S: string): string; $[SysUtils.pas功能返回字符串S的小写形式说明非大写字符不处理参考procedure System.SetLength例子Edit2.Text := LowerCase(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function CompareStr(const S1, S2: string): Integer; $[SysUtils.pas功能返回比较两个字符说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;区分大小写参考<NULL>例子SpinEdit1.Value := CompareStr(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function CompareMem(P1, P2: Pointer; Length: Integer): Boolean; assembler; $[SysUtils.pas功能返回比较两个内存指针说明CompareMem(PChar('12a'), PChar('12c'), 2)=True;CompareMem(PChar('12a'), PChar('12c'), 3)=False参考<NULL>例子CheckBox1.Checked := CompareMem(Self, Form1, 8);━━━━━━━━━━━━━━━━━━━━━首部function CompareText(const S1, S2: string): Integer; $[SysUtils.pas功能返回比较两个字符串说明不区分大小写参考<NULL>例子SpinEdit1.Value := CompareText(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function SameText(const S1, S2: string): Boolean; $[SysUtils.pas功能返回两个字符串是否相等说明不区分大小写参考<NULL>例子CheckBox1.Checked := SameText(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiUpperCase(const S: string): string; $[SysUtils.pas功能返回字符串S的大写形式说明ANSI(American National Standards Institute)美国国家标准协会;非小写的字符不变参考function Windows.CharUpperBuff例子Edit2.Text := AnsiUpperCase(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiLowerCase(const S: string): string; $[SysUtils.pas功能返回字符串S的小写形式说明非大写字符不处理参考function Windows.CharLowerBuff例子Edit2.Text := AnsiLowerCase(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiCompareStr(const S1, S2: string): Integer; $[SysUtils.pas功能反回比较两个字符串说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;区分大小写参考function pareString例子SpinEdit1.Value := AnsiCompareStr(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiSameStr(const S1, S2: string): Boolean; $[SysUtils.pas功能返回两个字符串是否相等说明区分大小写参考function SysUtils.AnsiCompareStr例子CheckBox1.Checked := AnsiSameStr(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiCompareText(const S1, S2: string): Integer; $[SysUtils.pas功能反回比较两个字符串说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;不区分大小写参考function pareString例子SpinEdit1.Value := AnsiCompareText(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiSameText(const S1, S2: string): Boolean; $[SysUtils.pas功能返回两个字符串是否相等说明不区分大小写参考function SysUtils.AnsiCompareText例子CheckBox1.Checked := AnsiSameText(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiStrComp(S1, S2: PChar): Integer; $[SysUtils.pas功能返回比较两个指针字符串说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;区分大小写参考function pareString例子SpinEdit1.Value := AnsiStrComp(PChar(Edit1.Text), PChar(Edit2.Text))━━━━━━━━━━━━━━━━━━━━━首部function AnsiStrIComp(S1, S2: PChar): Integer; $[SysUtils.pas功能返回比较两个指针字符串说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;不区分大小写;Ignore(忽略) 参考function pareString例子SpinEdit1.Value := AnsiStrIComp(PChar(Edit1.Text), PChar(Edit2.Text))━━━━━━━━━━━━━━━━━━━━━首部function AnsiStrLComp(S1, S2: PChar; MaxLen: Cardinal): Integer; $[SysUtils.pas功能返回比较两个指针字符串指定长度说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;区分大小写;Length(长度)参考function pareString例子SpinEdit1.Value := AnsiStrLComp(PChar(Edit1.Text), PChar(Edit2.Text), SpinEdit2.Value)━━━━━━━━━━━━━━━━━━━━━首部function AnsiStrLIComp(S1, S2: PChar; MaxLen: Cardinal): Integer; $[SysUtils.pas功能返回比较两个指针字符串指定长度说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;不区分大小写参考function pareString例子SpinEdit1.Value := AnsiStrLIComp(PChar(Edit1.Text), PChar(Edit2.Text), SpinEdit2.Value)━━━━━━━━━━━━━━━━━━━━━首部function AnsiStrLower(Str: PChar): PChar; $[SysUtils.pas功能返回指针字符串小写形式说明非大写字符不处理参考function Windows.CharLower例子Edit2.Text := AnsiStrLower(PChar(Edit1.Text));━━━━━━━━━━━━━━━━━━━━━首部function AnsiStrUpper(Str: PChar): PChar; $[SysUtils.pas功能返回指针字符串大写形式说明非小写字符不处理参考function Windows.CharUpper例子Edit2.Text := AnsiStrUpper(PChar(Edit1.Text));━━━━━━━━━━━━━━━━━━━━━首部function AnsiLastChar(const S: string): PChar; $[SysUtils.pas功能返回字符串S的最后一个指针字符说明当字符串S为空串则返回空指针参考function SysUtils.ByteType例子Edit2.Text := AnsiLastChar(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiStrLastChar(P: PChar): PChar; $[SysUtils.pas功能返回指针字符串P的最后一个指针字符说明当字符串P为空空指针则返回空指针参考function SysUtils.ByteType例子Edit2.Text := AnsiLastChar(PChar(Edit1.Text));━━━━━━━━━━━━━━━━━━━━━首部function WideUpperCase(const S: WideString): WideString; $[SysUtils.pas功能返回双字节字符串的大写形式说明WideChar双字节字符参考function Windows.CharUpperBuffW例子Edit2.Text := WideUpperCase(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function WideLowerCase(const S: WideString): WideString; $[SysUtils.pas功能返回双字节字符串的小写形式说明我怎么就测试不出来呢参考function Windows.CharLowerBuffW例子Edit2.Text := WideLowerCase(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function WideCompareStr(const S1, S2: WideString): Integer; $[SysUtils.pas 功能返回比较两个双字节字符串说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;区分大小写参考function pareStringW例子SpinEdit1.Value := WideCompareStr(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function WideSameStr(const S1, S2: WideString): Boolean; $[SysUtils.pas功能返回两个双字节字符串是否相同说明区分大小写参考function SysUtils.WideCompareStr例子CheckBox1.Checked := WideSameStr(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function WideCompareText(const S1, S2: WideString): Integer; $[SysUtils.pas 功能返回比较两个双字节字符串说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;不区分大小写参考function pareStringW例子SpinEdit1.Value := WideCompareText(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function WideSameText(const S1, S2: WideString): Boolean; $[SysUtils.pas 功能返回两个双字节字符串是否相同说明不区分大小写参考function SysUtils.WideCompareText例子CheckBox1.Checked := WideSameText(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function Trim(const S: string): string; overload; $[SysUtils.pas首部function Trim(const S: WideString): WideString; overload; $[SysUtils.pas功能返回除去字符串S左右不可见字符说明小于#32的字符看作不可见字符参考function System.Copy例子Edit2.Text := Trim(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function TrimLeft(const S: string): string; overload; $[SysUtils.pas首部function TrimLeft(const S: WideString): WideString; overload; $[SysUtils.pas功能返回除去字符串S左边不可见字符说明小于#32的字符看作不可见字符参考function System.Copy例子Edit2.Text := TrimLeft(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function TrimRight(const S: string): string; overload; $[SysUtils.pas首部function TrimRight(const S: WideString): WideString; overload; $[SysUtils.pas功能返回除去字符串S右边不可见字符说明小于#32的字符看作不可见字符参考function System.Copy例子Edit2.Text := TrimRight(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function QuotedStr(const S: string): string; $[SysUtils.pas功能返回字符串S在pascal中的表现形式说明单引号中的一个单引号将转成两个参考procedure System.Insert例子Edit2.Text := QuotedStr(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiQuotedStr(const S: string; Quote: Char): string; $[SysUtils.pas功能返回字符串S以字符Quote为引号的表现形式说明AnsiQuotedStr('hello"world', '@')='@hello"world@';AnsiQuotedStr('hello"world', '"')='"hello""world"'参考function SysUtils.AnsiStrScan例子Edit2.Text := AnsiQuotedStr(Edit1.Text, '"');━━━━━━━━━━━━━━━━━━━━━首部function AnsiExtractQuotedStr(var Src: PChar; Quote: Char): string; $[SysUtils.pas功能返回以字符Quote为引号的表现形式原形说明表现形式非法时Src不变否则为空参考function SysUtils.AnsiStrScan例子///////Begin AnsiExtractQuotedStrprocedure TForm1.Button1Click(Sender: TObject);varP: PChar;beginP := PChar(Edit1.Text);Edit2.Text := AnsiExtractQuotedStr(P, '"');Edit3.Text := P;end;///////End AnsiExtractQuotedStr━━━━━━━━━━━━━━━━━━━━━首部function AnsiDequotedStr(const S: string; AQuote: Char): string; $[SysUtils.pas功能返回以字符AQuote为引号的表现形式原形说明表现形式非法时则返回S参考function SysUtils.AnsiExtractQuotedStr例子Edit2.Text := AnsiDequotedStr(Edit1.Text, '"');━━━━━━━━━━━━━━━━━━━━━首部function AdjustLineBreaks(const S: string; Style: TTextLineBreakStyle = {$IFDEF LINUX} tlbsLF {$ENDIF} {$IFDEF MSWINDOWS} tlbsCRLF {$ENDIF}): string; $[SysUtils.pas功能返回将给定字符串的行分隔符调整为CR/LF序列说明AdjustLineBreaks('1'#13'2'#13)='1'#13#10'2'#13#10;AdjustLineBreaks('1'#10'2'#10)='1'#13#10'2' #13#10参考function SysUtils.StrNextChar例子<NULL>━━━━━━━━━━━━━━━━━━━━━首部function IsValidIdent(const Ident: string): Boolean; $[SysUtils.pas功能返回字符串Ident是否是正确的标识符说明标识符::字母|下划线[字母|下划线|数字]...参考<NULL>例子CheckBox1.Checked := IsValidIdent(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function IntToStr(Value: Integer): string; overload; $[SysUtils.pas首部function IntToStr(Value: Int64): string; overload; $[SysUtils.pas功能返回整数Value转换成字符串说明Format('%d', [Value])参考function SysUtils.FmtStr例子Edit2.Text := IntToStr(SpinEdit1.Value);━━━━━━━━━━━━━━━━━━━━━首部function IntToHex(V alue: Integer; Digits: Integer): string; overload; $[SysUtils.pas首部function IntToHex(V alue: Int64; Digits: Integer): string; overload; $[SysUtils.pas功能返回整数Value转换成十六进制表现结果;Format('%.*x', [Digits, Value])说明参数Digits指定字符最小宽度;最小宽度不足时将用0填充参考function SysUtils.FmtStr例子Edit2.Text := IntToHex(SpinEdit1.Value, SpinEdit2.Value);━━━━━━━━━━━━━━━━━━━━━首部function StrToInt(const S: string): Integer; $[SysUtils.pas功能返回字符串S转换成整数说明字符串非整数表达时将引起异常参考procedure System.Val例子SpinEdit1.Value := StrToInt(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function StrToIntDef(const S: string; Default: Integer): Integer; $[SysUtils.pas功能返回字符串S转换成整数说明字符串非整数表达时则返回默认值Default参考procedure System.Val例子SpinEdit1.Value := StrToIntDef(Edit1.Text, 0);━━━━━━━━━━━━━━━━━━━━━首部function TryStrToInt(const S: string; out Value: Integer): Boolean; $[SysUtils.pas 功能返回字符串S转换成整数V alue是否成功说明字符串非整数表达时返回False并且Value将输出为0参考procedure System.Val例子///////Begin TryStrToIntprocedure TForm1.Button1Click(Sender: TObject);varI: Integer;beginCheckBox1.Checked := TryStrToInt(Edit1.Text, I);SpinEdit1.Value := I;end;///////End TryStrToInt━━━━━━━━━━━━━━━━━━━━━首部function StrToInt64(const S: string): Int64; $[SysUtils.pas功能返回字符串S转换成六十四位整数说明字符串非六十四位整数表达时将引起异常参考procedure System.Val例子SpinEdit1.Value := StrToInt64(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function StrToInt64Def(const S: string; const Default: Int64): Int64; $[SysUtils.pas 功能返回字符串S转换成六十四位整数说明字符串非六十四位整数表达时则返回默认值Default参考procedure System.Val例子SpinEdit1.Value := StrToInt64Def(Edit1.Text, 0);━━━━━━━━━━━━━━━━━━━━━首部function TryStrToInt64(const S: string; out Value: Int64): Boolean; $[SysUtils.pas 功能返回字符串S转换成六十四位整数Value是否成功说明字符串非六十四位整数表达时返回False并且Value将输出为0参考procedure System.Val例子///////Begin TryStrToInt64procedure TForm1.Button1Click(Sender: TObject);varI: Int64;beginCheckBox1.Checked := TryStrToInt64(Edit1.Text, I);SpinEdit1.Value := I;end;///////End TryStrToInt64━━━━━━━━━━━━━━━━━━━━━首部function StrToBool(const S: string): Boolean; $[SysUtils.pas功能返回字符串S转换成逻辑值说明字符非逻辑表达时将引起异常参考function SysUtils.TryStrToBool例子CheckBox1.Checked := StrToBool(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function StrToBoolDef(const S: string; const Default: Boolean): Boolean; $[SysUtils.pas 功能返回字符串S转换成逻辑值说明字符非逻辑表达时则返回默认值Default参考function SysUtils.TryStrToBool例子CheckBox1.Checked := StrToBoolDef(Edit1.Text, False);━━━━━━━━━━━━━━━━━━━━━首部function TryStrToBool(const S: string; out Value: Boolean): Boolean; $[SysUtils.pas功能返回字符串S转换成逻辑值Value是否成功说明[注意]0为假非0为真;不是'True'和'False';Delphi6 Bug 如下修正参考function SysUtils.AnsiSameText;var SysUtils.TrueBoolStrs;var SysUtils.FalseBoolStrs 例子///////Begin TryStrToBoolprocedure TForm1.Button1Click(Sender: TObject);varB: Boolean;beginSetLength(TrueBoolStrs, 2);SetLength(FalseBoolStrs, 2);TrueBoolStrs[0] := 'True';FalseBoolStrs[0] := 'False';TrueBoolStrs[1] := 'Yes';FalseBoolStrs[1] := 'No';CheckBox1.Checked := TryStrToBool(Edit1.Text, B);CheckBox2.Checked := B;end;///////End TryStrToBool附加///////Begin TryStrToBoolfunction TryStrToBool(const S: string; out Value: Boolean): Boolean;function CompareWith(const aArray: array of string): Boolean;varI: Integer;beginResult := False;for I := Low(aArray) to High(aArray) doif AnsiSameText(S, aArray[I]) thenbeginResult := True;Break;end;end;varLResult: Extended;beginResult := TryStrToFloat(S, LResult);if Result thenValue := LResult <> 0elsebeginResult := True; //修正处VerifyBoolStrArray;if CompareWith(TrueBoolStrs) thenV alue := Trueelse if CompareWith(FalseBoolStrs) thenV alue := FalseelseResult := False;end;end;///////End TryStrToBool━━━━━━━━━━━━━━━━━━━━━首部function BoolToStr(B: Boolean; UseBoolStrs: Boolean = False): string; $[SysUtils.pas 功能返回逻辑值B转换成字符串说明BoolToStr(False, False)='0';BoolToStr(False, True)='-1'参考var SysUtils.TrueBoolStrs;var SysUtils.FalseBoolStrs例子Edit1.Text := BoolToStr(CheckBox1.Checked, CheckBox2.Checked);━━━━━━━━━━━━━━━━━━━━━首部function LoadStr(Ident: Integer): string; $[SysUtils.pas功能返回根据标识Ident的字符串资源说明字符串资源是指程序的内部资源参考function SysUtils.FindStringResource例子Edit2.Text := LoadStr(StrToIntDef(Edit1.Text, 0));━━━━━━━━━━━━━━━━━━━━━首部function FmtLoadStr(Ident: Integer; const Args: array of const): string; $[SysUtils.pas功能返回格式化的字符串资源说明字符串资源是指程序的内部资源参考function SysUtils.FmtStr;function SysUtils.FindStringResource例子<NULL>;━━━━━━━━━━━━━━━━━━━━━首部function FileOpen(const FileName: string; Mode: LongWord): Integer; $[SysUtils.pas功能返回打开文件果说明Mode指定打开文件的模式(fmOpenRead,fmOpenWrite,fmOpenReadWrite....);打开失败则返回负数参考function Windows.CreateFile例子///////Begin FileOpen,FileCloseprocedure TForm1.Button1Click(Sender: TObject);varI: Integer;beginI := FileOpen(Edit1.Text, fmOpenRead);CheckBox1.Checked := I > 0;FileClose(I);end;///////Begin FileOpen,FileClose━━━━━━━━━━━━━━━━━━━━━首部function FileCreate(const FileName: string): Integer; overload; $[SysUtils.pas首部function FileCreate(const FileName: string; Rights: Integer): Integer; overload; $[SysUtils.pas功能返回创建文件说明创建失败则返回负数参考function Windows.CreateFile例子///////Begin FileCreateprocedure TForm1.Button1Click(Sender: TObject);varI: Integer;beginI := FileCreate(Edit1.Text);CheckBox1.Checked := I > 0;FileClose(I);end;///////End FileCreate━━━━━━━━━━━━━━━━━━━━━首部function FileRead(Handle: Integer; var Buffer; Count: LongWord): Integer; $[SysUtils.pas 功能返回读取文件缓冲区的大小说明读取失败则返回负数参考function Windows.ReadFile例子<参见FileOpen>━━━━━━━━━━━━━━━━━━━━━首部function FileWrite(Handle: Integer; const Buffer; Count: LongWord): Integer; $[SysUtils.pas功能返回写入文件缓冲区的大小说明写入失败则返回负数参考function Windows.WriteFile例子<参见FileCreate>━━━━━━━━━━━━━━━━━━━━━首部function FileSeek(Handle, Offset, Origin: Integer): Integer; overload; $[SysUtils.pas首部function FileSeek(Handle: Integer; const Offset: Int64; Origin: Integer): Int64; overload; $[SysUtils.pas功能返回指定文件偏移量说明Offset指定偏移量;Origin指定原点(Origin为0时指文件首;为1时指当前位置;为2时指文件尾)参考function Windows.SetFilePointer例子<参见FileOpen>━━━━━━━━━━━━━━━━━━━━━首部procedure FileClose(Handle: Integer); $[SysUtils.pas功能返回关闭文件说明不关闭打开的文件会占用系统资源参考function Windows.CloseHandle例子<参见FileOpen>━━━━━━━━━━━━━━━━━━━━━首部function FileAge(const FileName: string): Integer; $[SysUtils.pas功能返回文件创建的时间说明文件不存在则返回-1参考function Windows.FindFirstFile例子///////Begin FileAge,DateTimeToStr,FileDateToDateTimeprocedure TForm1.Button1Click(Sender: TObject);beginSpinEdit1.Value := FileAge(Edit1.Text);if SpinEdit1.Value > 0 thenEdit2.Text := DateTimeToStr(FileDateToDateTime(SpinEdit1.Value));end;///////End FileAge,DateTimeToStr,FileDateToDateTime━━━━━━━━━━━━━━━━━━━━━首部function FileExists(const FileName: string): Boolean; $[SysUtils.pas功能返回文件名FileName是否有实体存在说明包括隐藏文件参考function SysUtils.FileAge例子CheckBox1.Checked := FileExists(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function DirectoryExists(const Directory: string): Boolean; $[SysUtils.pas功能返回目录名FileName是否有实体存在说明包括隐藏目录参考function Windows.GetFileAttributes例子CheckBox1.Checked := DirectoryExists(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function ForceDirectories(Dir: string): Boolean; $[SysUtils.pas功能返回创建子目录是否成功说明直接创建多级目录参考function SysUtils.CreateDir例子CheckBox1.Checked := ForceDirectories(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function FindFirst(const Path: string; Attr: Integer; var F: TSearchRec): Integer; $[SysUtils.pas功能返回设置文件搜索说明搜索成功则返回0参考function Windows.FindFirstFile例子///////Begin FindFirst,FindNext,FindCloseprocedure TForm1.Button1Click(Sender: TObject);varvSearchRec: TSearchRec;I: Integer;beginMemo1.Clear;I := FindFirst(Edit1.Text, faAnyFile, vSearchRec);while I = 0 do begin;I := FindNext(vSearchRec);end;FindClose(vSearchRec);end;///////End FindFirst,FindNext,FindClose━━━━━━━━━━━━━━━━━━━━━首部function FindNext(var F: TSearchRec): Integer; $[SysUtils.pas功能返回继续文件搜索说明搜索成功则返回0参考function Windows.FindNextFile例子<参见FindFirst>━━━━━━━━━━━━━━━━━━━━━首部procedure FindClose(var F: TSearchRec); $[SysUtils.pas功能结束当前文件搜索说明不关闭查询会占用系统资源参考function Windows.FindClose例子<参见FindFirst>━━━━━━━━━━━━━━━━━━━━━首部function FileGetDate(Handle: Integer): Integer; $[SysUtils.pas功能返回文件的修改时间说明读取失败则返回-1参考function Windows.GetFileTime例子///////Begin FileGetDateprocedure TForm1.Button1Click(Sender: TObject);varI: Integer;beginI := FileOpen(Edit1.Text, fmOpenRead);if I < 0 then Exit;SpinEdit1.Value := FileGetDate(I);Edit2.Text := DateTimeToStr(FileDateToDateTime(SpinEdit1.Value));FileClose(I);end;///////End FileGetDate━━━━━━━━━━━━━━━━━━━━━真诚的海2005-7-26 10:53首部function FileSetDate(const FileName: string; Age: Integer): Integer; overload; $[SysUtils.pas首部function FileSetDate(Handle: Integer; Age: Integer): Integer; overload; platform; $[SysUtils.pas功能返回设置文件的修改时间说明修改成功则返回0参考function Windows.SetFileTime例子SpinEdit1.Value := FileSetDate(Edit1.Text, DateTimeToFileDate(StrToDateTime(Edit2.Text)));━━━━━━━━━━━━━━━━━━━━━首部function FileGetAttr(const FileName: string): Integer; platform; $[SysUtils.pas功能返回文件的属性说明读取失败则返回$FFFFFFFF参考function Windows.GetFileAttributes例子SpinEdit1.Value := FileGetAttr(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function FileSetAttr(const FileName: string; Attr: Integer): Integer; platform; $[SysUtils.pas功能返回设置文件的属性说明设置成功则返回0参考function Windows.SetFileAttributes例子SpinEdit1.Value := FileSetAttr(Edit1.Text, SpinEdit2.Value);━━━━━━━━━━━━━━━━━━━━━首部function FileIsReadOnly(const FileName: string): Boolean; $[SysUtils.pas功能返回文件是否只读说明文件不存在看作只读参考function Windows.GetFileAttributes例子CheckBox1.Checked := FileIsReadOnly(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function FileSetReadOnly(const FileName: string; ReadOnly: Boolean): Boolean; $[SysUtils.pas功能返回设置文件是否只读是否成功说明文件不存在则返回False参考function Windows.GetFileAttributes;function Windows.SetFileAttributes例子CheckBox1.Checked := FileSetReadOnly(Edit1.Text, CheckBox2.Checked);━━━━━━━━━━━━━━━━━━━━━首部function DeleteFile(const FileName: string): Boolean; $[SysUtils.pas功能返回删除文件是否成功说明文件不存在则返回False参考function Windows.DeleteFile例子CheckBox1.Checked := DeleteFile(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function RenameFile(const OldName, NewName: string): Boolean; $[SysUtils.pas功能返回重命名文件是否成功说明文件不存在则返回False参考function Windows.MoveFile例子CheckBox1.Checked := RenameFile(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function ChangeFileExt(const FileName, Extension: string): string; $[SysUtils.pas功能返回改变扩展名后的文件名说明[注意]扩展名Extension前要加点;ChangeFileExt('a.jpg', 'bmp')='abmp'参考function stDelimiter;function System.Copy例子Edit1.Text := ChangeFileExt(Edit2.Text, Edit3.Text);━━━━━━━━━━━━━━━━━━━━━首部function ExtractFilePath(const FileName: string): string; $[SysUtils.pas功能返回文件名所在的路径说明ExtractFilePath('C:\')='C:\';ExtractFilePath('\\Server\Tool\Calc.exe')='\\Server\Tool\'参考function stDelimiter;function System.Copy例子Edit1.Text := ExtractFilePath(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function ExtractFileDir(const FileName: string): string; $[SysUtils.pas功能返回文件名所在的目录说明ExtractFileDir('C:\')='C:\';ExtractFileDir('\\Server\Tool\Calc.exe')='\\Server\Tool'参考function stDelimiter;function System.Copy例子Edit1.Text := ExtractFileDir(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function ExtractFileDrive(const FileName: string): string; $[SysUtils.pas功能返回文件名所在驱动器说明ExtractFileDrive('C:\')='C:';ExtractFileDrive('\\Server\Tool\Calc.exe')='\\Server\Tool'参考function System.Copy例子Edit1.Text := ExtractFileDrive(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function ExtractFileName(const FileName: string): string; $[SysUtils.pas功能返回绝对文件名说明ExtractFileName('C:\')='';ExtractFileName('\\Server\Tool\Calc.exe')='Calc.exe'参考function stDelimiter;function System.Copy例子Edit1.Text := ExtractFileName(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function ExtractFileExt(const FileName: string): string; $[SysUtils.pas功能返回文件名的扩展名说明ExtractFileExt('C:\')='';ExtractFileExt('\\Server\Tool\Calc.exe')='.exe'参考function stDelimiter;function System.Copy例子Edit1.Text := ExtractFileExt(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function ExpandFileName(const FileName: string): string; $[SysUtils.pas功能返回文件名的完整表示说明ExpandFileName('hello.pas')='C:\Program Files\Borland\Delphi6\Projects\hello.pas'参考function Windows.GetFullPathName例子Edit1.Text := ExpandFileName(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function ExpandFileNameCase(const FileName: string; out MatchFound: TFilenameCaseMatch): string; $[SysUtils.pas功能分情况返回文件名的完整表示说明type TFilenameCaseMatch = (mkNone, mkExactMatch, mkSingleMatch, mkAmbiguous); 参考function Windows.GetFullPathName;function SysUtils.SameFileName;function SysUtils.FindFirst例子///////Begin ExpandFileNameCaseprocedure TForm1.Button1Click(Sender: TObject);varvFilenameCaseMatch: TFilenameCaseMatch;beginEdit1.Text := ExpandFileNameCase(Edit2.Text, vFilenameCaseMatch);SpinEdit1.Value := Ord(vFilenameCaseMatch);end;///////End ExpandFileNameCase━━━━━━━━━━━━━━━━━━━━━首部function ExpandUNCFileName(const FileName: string): string; $[SysUtils.pas功能返回LINUX文件名的完整表示说明ExpandUNCFileName('C:/')='C:\'参考function SysUtils.ExpandFileName例子Edit1.Text := ExpandUNCFileName(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function ExtractRelativePath(const BaseName, DestName: string): string; $[SysUtils.pas 功能返回参数的相对路径说明ExtractRelativePath('C:\Windows\', 'C:\Windows\System')='System'参考function SysUtils.SameFilename;function SysUtils.ExtractFileDrive例子Edit1.Text := ExtractRelativePath(Edit2.Text, Edit3.Text);━━━━━━━━━━━━━━━━━━━━━首部function ExtractShortPathName(const FileName: string): string; $[SysUtils.pas功能返回参数的DOS路径说明ExtractShortPathName('C:\Program Files\Borland')='C:\PROGRA~1\BORLAND'参考function Windows.GetShortPathName例子Edit1.Text := ExtractShortPathName(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function FileSearch(const Name, DirList: string): string; $[SysUtils.pas功能返回目录列表中DirList搜索的第一个结果说明FileSearch('Calc.exe', 'd:\winxp\system32;c:\windows')='d:\winxp\system32\calc.exe'参考function SysUtils.FileExists;function SysUtils.AnsiLastChar例子Edit1.Text := FileSearch(Edit2.Text, Edit3.Text);━━━━━━━━━━━━━━━━━━━━━首部function DiskFree(Drive: Byte): Int64; $[SysUtils.pas功能返回驱动器可用空间说明参数Drive为0表示当前路径,为1表示=A驱,为2表示=B驱...;获取失败则返回-1参考function Windows.GetDiskFreeSpaceExA例子SpinEdit1.Value := DiskFree(SpinEdit2.Value);━━━━━━━━━━━━━━━━━━━━━首部function DiskSize(Drive: Byte): Int64; $[SysUtils.pas功能返回驱动器全部空间说明参数Drive为0表示当前路径,为1表示=A驱,为2表示=B驱...;获取失败则返回-1参考function Windows.GetDiskFreeSpaceExA例子SpinEdit1.Value := DiskSize(SpinEdit2.Value);━━━━━━━━━━━━━━━━━━━━━首部function FileDateToDateTime(FileDate: Integer): TDateTime; $[SysUtils.pas功能返回将文件日期时间类型转换日期时间类型说明FileDate非法是将触发异常参考function SysUtils.EncodeDate;function SysUtils.EncodeTime例子<参见FileAge>━━━━━━━━━━━━━━━━━━━━━首部function DateTimeToFileDate(DateTime: TDateTime): Integer; $[SysUtils.pas。
DELPHI常用过程和函数
DELPHI常用过程和函数DELPHI常用过程和函数2010-02-16 21:25一、数学运算函数1、绝对值函数function Abs(x);返回参数X的绝对值。
参数X可以是整型或实型,返回值为非负的整数实数;2、平方与平方根函数function Sqr(x:Extended):Extended;参数X实型表达式,返回X的平方,返回值也是实型数据。
function Sqrt(x:Extended):Extended;参数X非负实型表达式,返回X的算术平方根,返回值也是实型数据。
3、三角函数function Sin(x:Extended):Extended;function Cos(x:Extended):Extended;function ArcTan(x:Extended):Extended;参数X为数值表达式。
4、取整数部分与取小数部分函数function Int(x:Extended):Extended;参数X实行表达式,返回X的整数部分。
function Frac(x:Extended):Extended;参数X实行表达式,返回X的小数部分。
5、取整函数function Trunc(x:Extended):Int64;参数X实行表达式,返回不大于X的整数部分。
function Roundc(x:Extended):Int64;参数X实行表达式,返回对X的小数部分进行四舍五入后的整数部分。
6、指数函数和对数函数function Exp(x:Real):Real;参数X为实型表达式,返回e x,返回值也是实型数据。
function Ln(x:Real):Real;参数X为实型表达式,返回X的自然对数值,返回值也是实型数据。
7、随机函数function Random[(Range:Integer)];返回一个大于或等于0且小于参数Range的随机实数,如果缺省参数Range则返回大于或等于0且小于1的随机实数。
将Delphi代码变为BCB代码
有时Delphi应用程序与C++Builder应用程序可能需要相互转换。
这种转换虽然费时,但并不困难(顺便说一句,进行转换时,我将Delphi与C++Builder同时运行)。
这里只介绍将Delphi变为C++Builder的过程,反过来也差别不大。
将Delphi变为C++Builder主要有两步。
第一步是将Delphi应用程序窗体复制到C++Builder项目中,第二步是修改Delphi 代码。
一般情况下这都是没有必要的,除非你想改写为C++代码。
下面详细介绍这两个步骤:首先要复制Delphi窗体到C++Builder应用程序中。
Delphi窗体与C++Builder窗体使用相同的基本格式,但至少有一大差别。
显然,窗体文件包含窗体本身和窗体上每个构件的尺寸和位置。
但窗体文件中也还包含事件信息。
具体地说,窗体文件包括窗体及其构件所建事件处理器的描述。
在Delphi窗体文件中,事件引用的事件处理器是Delphi方法,而在C++Builder窗体文件中,事件指向C++Builder事件处理器。
自然,要删除Pascal 引用才能在C++Builder中使用窗体。
你不一定要知道这些细节,但将Delphi转为C++Builder时必须考虑这个因素。
复制Delphi主窗体的步骤如下:1.打开Delphi项目并记下主窗体文件名及其Name属性。
2.切换到C++Builder中,选择主窗体,将Name属性变为与Delphi项目主窗体同名。
保存C++Builder项目,保存主窗体单元,用Delphi中窗体的同一文件名(除去.PAS扩展名)。
将项目存为与Delphi项目相同的名称。
3.切换到Windows Explorer中,将Delphi的项目目录中的主窗体窗体文件(.DFM文件)复制到C++Builder项目目录中。
一定要复制文件并不是移动文件。
Windows Explorer警告说目标目录中已经有同名文件。
单击Yes改写C++Builder目录中的窗体文件。
delphi常用函数
_HELP函数集●●●●●●●------------------------------------------------------------------abs(x) 绝对值arctan(x) 反正切cos(x) 传回馀弦函数值exp(x) e的x次幂frac(x) 取小数部分int(x) 取整ln(x) 自然对数sin(x) 传回正弦函数值sqr(x) x*xsqrt(x) 平方根其它pred(x) pred('D')='C', pred(true)=1;succ(x) succ('Y')='Z', succ(pred(x))=xord(x) 求x在字符集中的序号,如ord('A')=65chr(x) chr(65)='A'round(x) 四舍五入trunc(x) trunc(4.8)=4,trunc('-3.6')=-3upcase(x) upcase('a')='A'hi(I) hi($2A30)=$2Alo(I) lo($2A30)=$30random(n) 产生[0,n)间的随机整数sizeof(name) 求出某类型或变量在内存中占用的字节数swap(num) swap($3621)=$2136================================Arithmetic routines 数学运算================================Abs 绝对值---------------------------------------------------------Unit System函数原型function Abs(X);说明X为整数or实数.范例varr: Real;i: Integer;beginr := Abs(-2.3); { 2.3 }i := Abs(-157); { 157 }end;----------------------------------------------------------ArcTan 三角函数范例Cosvar R: Extended;beginR := Cos(Pi);end;----------------------------------------------------------Sin----------------------------------------------------------范例varR: Extended;S: string;beginR := Sin(Pi);Str(R:5:3, S);Canvas.TextOut(10, 10, 'The Sin of Pi is ' + S);end;----------------------------------------------------------Unit System函数原型function ArcTan(X: Extended): Extended;函数原型function Cos(X: Extended): Extended;函数原型function Sin(X: Extended): Extended;----------------------------------------------------------说明X为径度.Tan(x) === Sin(x) / Cos(x)ArcSin(x) = ArcTan (x/sqrt (1-sqr (x)))ArcCos(x) = ArcTan (sqrt (1-sqr (x)) /x)左边这三个不是函数,而是右边运算求得. 范例varR: Extended;beginR := ArcTan(Pi);end;范例varR: Extended;S: string;beginR := Sin(Pi);Str(R:5:3, S);Canvas.TextOut(10, 10, 'The Sin of Pi is ' + S);end;Frac 求一个实数的小数部份----------------------------------------------------------Unit System函数原型function Frac(X: Real): Real;说明X为实数.范例varR: Real;beginR := Frac(123.456); { 0.456 }R := Frac(-123.456); { -0.456 }end;------------------------------------------Int 求一个实数的整数部份------------------------------------------Unit System函数原型function Int(X: Real): Real;说明X为实数.范例varR: Real;beginR := Int(123.456); { 123.0 }R := Int(-123.456); { -123.0 }end;------------------------------------------Pi 就是数学的Pi------------------------------------------Unit System函数原型function Pi: Extended;说明它是一个函数,但我们就把它当作是预设的变数来用吧!Pi= 3.1415926535897932385------------------------------------------Sqr X的平方-----------------------------------------范例varS, Temp: string;beginStr(Sqr(5.0):3:1, Temp);S := '5 squared is ' + Temp + #13#10;Str(Sqrt(2.0):5:4, Temp);S := S + 'The square root of 2 is ' + Temp;MessageDlg(S, mtInformation, [mbOk], 0);end;-----------------------------------------Sqrt X的平方根------------------------------------------Unit System函数原型function Sqr(X: Extended): Extended;函数原型function Sqrt(X: Extended): Extended;范例varS, Temp: string;beginStr(Sqr(5.0):3:1, Temp);S := '5 squared is ' + Temp + #13#10;Str(Sqrt(2.0):5:4, Temp);S := S + 'The square root of 2 is ' + Temp;MessageDlg(S, mtInformation, [mbOk], 0);end;------------------------------------------Ln 自然对数------------------------------------------范例vare : real;S : string;begine := Exp(1.0);Str(ln(e):3:2, S);S := 'e = ' + FloatToStr(e) + '; ln(e) = ' + S;Canvas.TextOut(10, 10, S);end;----------------------------------------Exp 指数------------------------------------------Unit System函数原型function Ln(X: Real): Real;函数原型function Exp(X: Real): Real;范例vare : real;S : string;begine := Exp(1.0);Str(ln(e):3:2, S);S := 'ln(e) = ' + S;Canvas.TextOut(10, 10, S);end;------------------------------------------Date and time routines 日期及时间函数------------------------------------------Date 传回目前的日期Unit SysUtils函数原型function Date: TDateTime;范例procedure TForm1.Button1Click(Sender: TObject);beginLabel1.Caption := 'Today is ' + DateToStr(Date);end;------------------------------------------DateTimeToStr 日期时间转换成内定型字串(1996/12/20 09:12:20 PM) ------------------------------------------Unit SysUtils函数原型function DateTimeToStr(DateTime: TDateTime): string;范例procedure TForm1.Button1Click(Sender: TObject);beginLabel1.Caption := DateTimeToStr(Now);end;--------------------------------------------------------DateTimeToString 日期时间转换成自定型字串-------------------------------------------------------Unit SysUtils函数原型procedure DateTimeToString(var Result: string; const Format:string; DateTime: TDateTime);范例procedure TForm1.FormCreate(Sender: TObject);vars:string;beginDateTimeToString(s,'dddd,mmmm d,yyyy "at" hh:mmAM/PM',Now);Label1.Caption :=s;end;结果星期五,十二月20,1996 at 09:20 PM-----------------------------------------------------------------------------**** Format格式叁考下面.FormatDateTime.--------------------------------------------------------DateToStr 日期转换成内定型字串.(1996/12/20)--------------------------------------------------------Unit SysUtils函数原型function DateToStr(Date: TDateTime): string;范例procedure TForm1.Button1Click(Sender: TObject);beginLabel1.Caption := 'Today is ' + DateToStr(Date);end;# Date, DateToStr Example--------------------------------------------------------DayOfWeek 求叁数日期是星期几.--------------------------------------------------------Unit SysUtils函数原型function DayOfWeek(Date: TDateTime): Integer;说明传回值是一整数,1~7.星期日为1.范例procedure TForm1.Button1Click(Sender: TObject);varADate: TDateTime;days: array[1..7] of string;begindays[1] := 'Sunday';days[2] := 'Monday';days[3] := 'Tuesday';days[4] := 'Wednesday';days[5] := 'Thursday';days[6] := 'Friday';days[7] := 'Saturday';ADate := StrToDate(Edit1.Text);ShowMessage(Edit1.Text + ' is a ' + days[DayOfWeek(ADate)];end;# StrToDate, DayOfWeek Example--------------------------------------------------------DecodeDate 将TDateTime型态的日期变数,转为Word型态. --------------------------------------------------------范例procedure TForm1.Button1Click(Sender: TObject);varPresent: TDateTime;Year, Month, Day, Hour, Min, Sec, MSec: Word;beginPresent:= Now;DecodeDate(Present, Year, Month, Day);Label1.Caption := 'Today is Day ' + IntToStr(Day) + ' of Month '+ IntToStr(Month) + ' of Year ' + IntToStr(Year);DecodeTime(Present, Hour, Min, Sec, MSec);Label2.Caption := 'The time is Minute ' + IntToStr(Min) + ' of Hour ' + IntToStr(Hour);end;# DecodeDate, DecodeTime Example--------------------------------------------------------DecodeTime 将TDateTime型态的时间变数,转为Word型态.--------------------------------------------------------Unit SysUtils函数原型procedure DecodeDate(Date: TDateTime; var Year, Month,Day: Word);函数原型procedure DecodeTime(Time: TDateTime; var Hour, Min, Sec,MSec: Word);范例procedure TForm1.Button1Click(Sender: TObject);varPresent: TDateTime;Year, Month, Day, Hour, Min, Sec, MSec: Word;beginPresent:= Now;DecodeDate(Present, Year, Month, Day);Label1.Caption := 'Today is Day ' + IntToStr(Day) + ' ofMonth ' + IntToStr(Month) + ' of Year ' + IntToStr(Year);DecodeTime(Present, Hour, Min, Sec, MSec);Label2.Caption := 'The time is Minute ' +IntToStr(Min) + ' ofHour ' + IntToStr(Hour);end;--------------------------------------------------------EncodeDate 将Word型态的日期变数,转为TDateTime型态.--------------------------------------------------------范例procedure TForm1.Button1Click(Sender: TObject);varMyDate: TDateTime;beginMyDate := EncodeDate(StrToInt(Edit1.T ext), StrToInt(Edit2.T ext), StrToInt(Edit3.Text));Label1.Caption := DateToStr(MyDate);end;-------------------------------------------------------EncodeTime 将Word型态的时间变数,转为TDateTime型态.--------------------------------------------------------Unit SysUtils函数原型function EncodeDate(Year, Month, Day: Word): TDateTime;函数原型function EncodeTime(Hour, Min, Sec, MSec: Word):TDateTime;范例procedure TForm1.Button1Click(Sender: TObject);varMyDate: TDateTime;MyTime: TDateTime;beginMyDate := EncodeDate(83, 12, 31);Label1.Caption := DateToStr(MyDate);MyTime := EncodeTime(0, 45, 45, 7);Label2.Caption := TimeToStr(MyTime);end;范例procedure TForm1.Button1Click(Sender: TObject);varMyTime: TDateTime;beginMyTime := EncodeTime(0, 45, 45, 7);Label1.Caption := TimeToStr(MyTime);end;--------------------------------------------------------FormatDateTime 将日期时间依Format的格式转换给一字串.--------------------------------------------------------Unit SysUtils函数原型function FormatDateTime(const Format: string; DateTime:TDateTime): string;**** 类似DateTimeToString.Format格式c 内定值ShortDateFormat的格式.(1996/12/20 09:20:15 PM).d 日期,前面不补0.(1-31)dd 日期,前面补0.(01-31)ddd 星期.(星期日).Dddd 中文2.01版,同上.ddddd 日期.(1996/12/20)dddddd 日期.(1996年12月20日)m 月份,前面不补0.(1-12)mm 月份,前面补0.(01-12)mmm 中文显示.(十二月)mmmm 中文2.01版,同上.Yy 年度.(00-99)yyyy 年度.(0000-9999)h 小时.(0-23)hh 小时.(00-23)n 分钟.(0-59)nn 分钟.(00-59)s 秒钟.(0-59)ss 秒钟.(00-59)t 时间.(09:20 PM)tt 时间.(09:20:15 PM)am/pm 单独显示am or pm.(若大写,则显示大写)a/p 单独显示a or p.范例The following example assigns 'The meeting is on Wednesday, February 15, 1995 at 10:30 AM' tothe string variable S.S := FormatDateTime('"The meeting is on " dddd, mmmm d, yyyy, " at " hh:mm AM/PM', StrToDateTime('2/15/95 10:30am'));//???--------------------------------------------------------Now 传回目前的日期时间.--------------------------------------------------------Unit SysUtils函数原型function Now: TDateTime;范例procedure TForm1.Button1Click(Sender: TObject);beginLabel1.Caption := DateTimeToStr(Now);end;# Now, DateTimeToStr Example--------------------------------------------------------StrToDate 将字串转为TDateTime型态的日期.--------------------------------------------------------Unit SysUtils函数原型function StrToDate(const S: string): TDateTime;范例procedure TForm1.Button1Click(Sender: TObject);varADate: TDateTime;beginADate := StrToDate(Edit1.Text);Label1.Caption := DateToStr(ADate);end;范例procedure TForm1.Button1Click(Sender: TObject);varADate: TDateTime;days: array[1..7] of string;begindays[1] := 'Sunday';days[2] := 'Monday';days[3] := 'Tuesday';days[4] := 'Wednesday';days[5] := 'Thursday';days[6] := 'Friday';days[7] := 'Saturday';ADate := StrToDate(Edit1.Text);ShowMessage(Edit1.Text + ' is a ' + days[DayOfWeek(ADate)];end;# StrToDate, DayOfWeek Example--------------------------------------------------------StrToDateTime 将字串转为TDateTime型态的日期时间.--------------------------------------------------------Unit SysUtils函数原型function StrToDateTime(const S: string): TDateTime; 范例procedure TForm1.Button1Click(Sender: TObject);varADateAndTime: TDateTime;beginADateAndTime := StrToDateTime(Edit1.Text);Table1.FieldByName('TimeStamp').AsDateTime := ADateAndTime; end;--------------------------------------------------------StrToTime 将字串转为TDateTime型态的时间. --------------------------------------------------------Unit SysUtils函数原型function StrToTime(const S: string): TDateTime;范例procedure TForm1.Button1Click(Sender: TObject);varATime: TDateTime;beginATime := StrToTime(Edit1.Text);if ATime < 0.50 thenShowMessage('Good Morning')elseShowMessage('Good Afternoon');end;--------------------------------------------------------Time 传回目前的时间.--------------------------------------------------------Unit SysUtils函数原型function Time: TDateTime;范例procedure TForm1.Timer1Timer(Sender: TObject);varDateTime : TDateTime;str : string;beginDateTime := Time; // store the current date and timestr := TimeToStr(DateTime); // convert the time into a stringCaption := str; // display the time on the form's caption{ Note This could have been done with the following line of code: Caption := TimeToStr(Time); }end;# Time, TimeToStr Example--------------------------------------------------------TimeToStr 时间转换成内定型字串.(09:20:15 PM) --------------------------------------------------------Unit SysUtils函数原型function TimeToStr(Time: TDateTime): string; GetMem procedure 配置记忆体程序New 配置指位器P的记忆体空间,大小为P所指型态的大小.--------------------------------------------------------Dispose 释放New所配置的记忆体.--------------------------------------------------------Unit System函数原型procedure New(var P: Pointer);函数原型procedure Dispose(var P: Pointer);范例typePListEntry = ^TListEntry;TListEntry = recordNext: PListEntry;Text: string;Count: Integer;end;varList, P: PListEntry;begin...New(P);P^.Next := List;P^.Text := 'Hello world';P^.Count := 1;List := P;...Dispose(P);…end;范例typeStr18 = string[18];varP: ^Str18;beginNew(P);P^ := 'Now you see it...';Dispose(P); { Now you don't... }end;--------------------------------------------------------GetMem 配置指位器P的记忆体空间,大小可自行设定. --------------------------------------------------------范例varF: file;Size: Integer;Buffer: PChar;beginAssignFile(F, 'test.txt');Reset(F, 1);trySize := FileSize(F);GetMem(Buffer, Size);tryBlockRead(F, Buffer^, Size);ProcessFile(Buffer, Size);finallyFreeMem(Buffer);end;finallyCloseFile(F);end;end;--------------------------------------------------------FreeMem 释放GetMem所配置的记忆体.--------------------------------------------------------Unit System函数原型procedure GetMem(var P: Pointer; Size: Integer);函数原型procedure FreeMem(var P: Pointer[; Size: Integer]);范例varF: file;Size: Integer;Buffer: PChar;beginAssignFile(F, 'test.txt');Reset(F, 1);trySize := FileSize(F);GetMem(Buffer, Size);tryBlockRead(F, Buffer^, Size);ProcessFile(Buffer, Size);finallyFreeMem(Buffer);end;finallyCloseFile(F);end;end;====================================File-management routines 档案管理常式====================================--------------------------------------------------------ChangeFileExt变更档案的副档名--------------------------------------------------------Unit SysUtils函数原型function ChangeFileExt(const FileName, Extension: string):string;范例procedure TForm1.Button1Click(Sender: TObject);varS: String;P1:String;P2:String;beginP1:='abc.txt';P2:='.ini';S := ChangeFileExt(P1,P2);Label1.Caption:=S;end;结果S== 'abc.ini'P1:='abc'P2:='.ini'S== 'abc.ini'P1:='c:\windows\abc.txt'P2:='.ini'S=='c:\windows\abc.ini'P1:='abc.txt'P2:='ini'S=='abcini'**注意:P2的第一位元必须有一点'.ini'范例procedure TForm1.ConvertIcon2BitmapClick(Sender: TObject);vars : string;Icon: TIcon;beginOpenDialog1.DefaultExt := '.ICO';OpenDialog1.Filter := 'icons (*.ico)|*.ICO';OpenDialog1.Options := [ofOverwritePrompt, ofFileMustExist, ofHideReadOnly ]; if OpenDialog1.Execute thenbeginIcon := TIcon.Create;tryIcon.Loadfromfile(OpenDialog1.FileName);s:= ChangeFileExt(OpenDialog1.FileName,'.BMP');Image1.Width := Icon.Width;Image1.Height := Icon.Height;Image1.Canvas.Draw(0,0,Icon);Image1.Picture.SaveToFile(s);ShowMessage(OpenDialog1.FileName + ' Saved to ' + s);finallyIcon.Free;end;end;end;# SaveToFile, Create, Height, Width, Canvas, ChangeFileExt example--------------------------------------------------------ExpandFileName 将档案名称加在目前所在之路径全名之後--------------------------------------------------------Unit SysUtils函数原型function ExpandFileName(const FileName: string): string;说明设目前目录为c:\windows\档案名称为abc.txt则结果为c:\windows\abc.txt**** 此函数并不是求abc.txt的所在路径.范例procedure TForm1.Button1Click(Sender: TObject);varS: String;beginS:=ExpandFileName('abc.txt');Label1.Caption:=S;end;范例procedure TForm1.Button1Click(Sender: TObject)beginListBox1.Items.Add(ExpandFileName(Edit1.Text));end;------------------------------------------------------------------DirectoryExists 目录是否存在------------------------------------------------------------------ UnitFileCtrluses FileCtrl;procedure TForm1.Button1Click(Sender: TObject);beginif not DirectoryExists('c:\temp') thenif not CreateDir('C:\temp') thenraise Exception.Create('Cannot create c:\temp');end;--------------------------------------------------------ForceDirectories 目录---------------------------------------------------------Unit FileCtrl函数原型function ForceDirectories(Dir: string): Boolean;procedure TForm1.Button1Click(Sender: TObject);varDir: string;beginDir := 'C:\APPS\SALES\LOCAL';if DirectoryExists(Dir) thenLabel1.Caption := Dir + ' was created'end;--------------------------------------------------------ExpandUNCFileName 同上(只是得到网路上的路径)--------------------------------------------------------Unit SysUtils函数原型function ExpandUNCFileName(const FileName: string):string; ExtractFileDir 分析字串中的路径Unit SysUtils函数原型function ExtractFileDir(const FileName: string): string;说明设S字串为c:\windows\abc.txt则结果为c:\windows**** 功能在於由任何部份传来的叁数,加以分析它的路径范例procedure TForm1.Button1Click(Sender: TObject);varS: String;P1:String;beginP1:='c:\windows\abc.txt';S:=ExtractFileDir(P1);Label1.Caption:=S;end;S=='c:\windows'P1:='abc.txt'S==''P1:='c:abc.txt'S=='c:'P1:='c:\abc.txt'S=='c:\'--------------------------------------------------------ExtractFileDrive 分析字串中的磁碟机名称--------------------------------------------------------Unit SysUtils函数原型function ExtractFileDrive(const FileName: string): string; **** 功能同上,只是传回磁碟机名称.范例procedure TForm1.Button1Click(Sender: TObject);varS: String;P1:String;beginP1:='c:\windows\abc.txt';S:=ExtractFileDrive(P1);Label1.Caption:=S;end;S:='c:'P1:='abc.txt'S==''--------------------------------------------------------ExtractFileExt 分析字串中的档案名称的副档名--------------------------------------------------------Unit SysUtils函数原型function ExtractFileExt(const FileName: string): string; 范例procedure TForm1.Button1Click(Sender: TObject);varS: String;P1:String;beginP1:='c:\windows\abc.txt';S:=ExtractFileExt(P1);Label1.Caption:=S;end;S=='.txt'P1:='c:\windows\abc'S==''范例MyFilesExtension := ExtractFileExt(MyFileName);--------------------------------------------------------ExtractFileName 分析字串中的档案名称(只传回档案名称)--------------------------------------------------------Unit SysUtils函数原型function ExtractFileName(const FileName: string): string;范例procedure TForm1.Button1Click(Sender: TObject);varS: String;P1:String;beginP1:='c:\windows\abc.txt';S:=ExtractFileName(P1);Label1.Caption:=S;end;S=='abc.txt'范例procedure TForm1.Button1Click(Sender: TObject);varBackupName: string;FileHandle: Integer;StringLen: Integer;X: Integer;Y: Integer;beginif SaveDialog1.Execute thenbeginif FileExists(SaveDialog1.FileName) thenbeginBackupName := ExtractFileName(SaveDialog1.FileName);BackupName := ChangeFileExt(BackupName, '.BAK');if not RenameFile(SaveDialog1.FileName, BackupName) thenraise Exception.Create('Unable to create backup file.');end;FileHandle := FileCreate(SaveDialog1.FileName);{ Write out the number of rows and columns in the grid. }FileWrite(FileHandle,StringGrid1.ColCount, SizeOf(StringGrid1.ColCount));FileWrite(FileHandle,StringGrid1.RowCount, SizeOf(StringGrid1.RowCount));for X := 0 to StringGrid1.ColCount ? 1 dobeginfor Y := 0 to StringGrid1.RowCount ? 1 dobegin{ Write out the length of each string, followed by the string itself. }StringLen := Length(StringGrid1.Cells[X,Y]);FileWrite(FileHandle, StringLen, SizeOf(StringLen));FileWrite(FileHandle,StringGrid1.Cells[X,Y], Length(StringGrid1.Cells[X,Y]);end;end;FileClose(FileHandle);end;end;##FileExists, RenameFile, FileCreate, FileWrite, FileClose, ExtractFileName Example --------------------------------------------------------ExtractFilePath 分析字串中的路径--------------------------------------------------------Unit SysUtils函数原型function ExtractFilePath(const FileName: string): string;说明设S字串为c:\windows\abc.txt则结果为c:\windows\范例procedure TForm1.Button1Click(Sender: TObject);varS: String;P1:String;beginP1:='c:\windows\abc.txt';S:=ExtractFilePath(P1);Label1.Caption:=S;end;范例beginwith Session dobeginConfigMode := cmSession;tryAddStandardAlias('TEMPDB', ExtractFilePath(ParamStr(0)), 'PARADOX'); finallyConfigMode := cmAll;end;end;##ConfigMode, AddStandardAlias, ExtractFilePath example--------------------------------------------------------FileSearch 寻找档案在磁碟机中的正确路径--------------------------------------------------------Unit SysUtils函数原型function FileSearch(const Name, DirList: string): string;范例vars:string;begins:= FileSearch('abc.txt', 'c:\window\');Label1.Caption:=s;end;说明找到传回c:\window\abc.txt 找不到传回空字串.范例procedure TForm1.Button1Click(Sender: TObject);varbuffer: array [0..255] of char;FileToFind: string;beginGetWindowsDirectory(buffer, SizeOf(buffer));FileToFind := FileSearch(Edit1.Text, GetCurrentDir + ';' + buffer);if FileToFind = '' thenShowMessage('Couldn''t find ' + Edit1.Text + '.')elseShowMessage('Found ' + FileToFind + '.');end;##FileSearch, ShowMessage Example--------------------------------------------------------FileAge 传回档案的日期及时间(DOS型态).--------------------------------------------------------Unit SysUtils函数原型function FileAge(const FileName: string): Integer;说明就是档案总管中档案内容裹面的修改日期.范例procedure TForm1.Button1Click(Sender: TObject);varS: String;FileDate1:Integer;DateTime1:TDateTime;beginFileDate1 := FileAge('c:\delphi_d\delphi_help1.txt');DateTime1 := FileDateToDateTime(FileDate1);S := DateTimeToStr(DateTime1);Label1.Caption:=S;end;--------------------------------------------------------FileDateToDateTime 将DOS型态的日期时间转换为TDateTime型态.--------------------------------------------------------Unit SysUtils函数原型function FileDateToDateTime(FileDate: Integer):TDateTime;-----------------------------------------------------------------------------DateTimeToFileDate 将TDateTime型态的日期时间转换为DOS型态. -----------------------------------------------------------------------------Unit SysUtils函数原型function DateTimeToFileDate(DateTime: TDateTime):Integer; FileGetDate 传回档案的日期及时间(DOS型态).Unit SysUtils函数原型function FileGetDate(Handle: Integer): Integer;说明就是档案总管中档案内容裹面的修改日期.范例procedure TForm1.Button1Click(Sender: TObject);varFileHandle:Integer;S: String;FileDate1:Integer;DateTime1:TDateTime;beginFileHandle :=FileOpen('c:\delphi_d\delphi_help2.txt',fmOpenReadWrite);if FileHandle > 0 thenBeginFileDate1 := FileGetDate(FileHandle);DateTime1 := FileDateToDateTime(FileDate1);S := DateTimeToStr(DateTime1);FileClose(FileHandle);EndelseS := 'Open File Error';Label1.Caption:=S;end;-----------------------------------------------------------------------------FileSetDate 设定档案的日期及时间(DOS型态).-----------------------------------------------------------------------------Unit SysUtils函数原型function FileSetDate(Handle: Integer; Age: Integer): Integer; 说明传回值为0表示成功.-----------------------------------------------------------------------------DeleteFile 删除档案-----------------------------------------------------------------------------Unit SysUtils函数原型function DeleteFile(const FileName: string): Boolean;范例一DeleteFile('DELETE.ME');范例二if FileExists(FileName) thenif MessageDlg('Do you really want to delete ' +ExtractFileName(FileName) + '?'), []) = IDYes thenDeleteFile(FileName);##FileExists, DeleteFile Example-----------------------------------------------------------------------------RenameFile 更改档名-----------------------------------------------------------------------------Unit SysUtils函数原型function RenameFile(const OldName, NewName: string):Boolean;范例procedure TForm1.Button1Click(Sender: TObject);varBackupName: string;FileHandle: Integer;StringLen: Integer;X: Integer;Y: Integer;beginif SaveDialog1.Execute thenbeginif FileExists(SaveDialog1.FileName) thenbeginBackupName := ExtractFileName(SaveDialog1.FileName);BackupName := ChangeFileExt(BackupName, '.BAK');if not RenameFile(SaveDialog1.FileName, BackupName) thenraise Exception.Create('Unable to create backup file.');end;FileHandle := FileCreate(SaveDialog1.FileName);{ Write out the number of rows and columns in the grid. }FileWrite(FileHandle,StringGrid1.ColCount, SizeOf(StringGrid1.ColCount));FileWrite(FileHandle,StringGrid1.RowCount, SizeOf(StringGrid1.RowCount));for X := 0 to StringGrid1.ColCount ? 1 dobeginfor Y := 0 to StringGrid1.RowCount ? 1 dobegin{ Write out the length of each string, followed by the string itself. }StringLen := Length(StringGrid1.Cells[X,Y]);FileWrite(FileHandle, StringLen, SizeOf(StringLen));FileWrite(FileHandle,StringGrid1.Cells[X,Y], Length(StringGrid1.Cells[X,Y]);end;end;FileClose(FileHandle);end;end;-----------------------------------------------------------------------------DiskFree 磁碟机剩馀空间(Bytes)-----------------------------------------------------------------------------Unit SysUtils函数原型function DiskFree(Drive: Byte): Integer;范例varS: string;beginS := IntToStr(DiskFree(0) div 1024) + ' Kbytes free.';Label1.Caption:=S;end;说明Drive0=目前磁碟机,1=A磁碟机,2=B磁碟机...传回值若为-1,表示磁碟机侦测错误.范例varS: string;AmtFree: Int64;Total: Int64;beginAmtFree := DiskFree(0);Total := DiskSize(0);S := IntToStr(AmtFree div Total) + 'percent of the space on drive 0 is free: ' (AmtFree div 1024) + ' Kbytes free. ';Canvas.TextOut(10, 10, S);。
delphi常用函数(带使用实例)
delphi常用函数(带使用实例)//-------------------------------delphi 常用函数1.Abs功能说明:求绝对值。
参考实例:varr: Single;i: Integer;beginr := Abs(-2.8); // r等于 2.8i := Abs(-156); // I 等于 156end;2.AllocMem功能说明:分配内存空间并自动初始化为零。
如果不需要初始化为零,可以使用GetMem代替AllocMem。
参考实例:varBuffer: PChar;beginBuffer := AllocMem(256); // 分配大小为256个字节的内存空间end;3.Append功能说明:追加内容到文件中。
文件必须要存在。
参考实例:varS: String;F: TextFile;beginS := 'This is a book.';AssignFile(F, 'C:\MyFile.txt'); // 将C:\MyFile.txt文件与F变量建立连接,后面可以使用F变量对文件进行操作。
Append(F); // 以追加的方式打开文件Writeln(F, S); // 将S变量中的内容追加到文本尾后。
CloseFile(F); // 关闭文件end;4.AssignFile功能说明:与指定的文件建立连接。
参考实例:varF: TextFile; // 声明文本文件类型变量beginAssignFile(F, 'C:\MyFile.txt'); // 将C:\MyFile.txt文件与F变量建立连接,后面可以使用F变量对文件进行操作。
end;5.ChDir功能说明:改变当前目录(文件夹)。
参考实例:varsDir: String;beginsDir := 'C:\Windows';ChDir(sDir); // 此时,系统的当前目录则为C:\Windows目录。
Delphi中常用的函数和属性
控件当前状态
Str
函数
将数值转换为字符串
StrAlloc
函数
给以NULL结束的字符串分配最大长度-1的缓冲区
StrBufSize
函数
返回存储在由StrAlloc分配的字符缓冲区的最大字符数
StrCat
函数
将一字符串附加到另一字符串尾并返回合并的字符串
StrComp
函数
比较两个字符串
StrCopy
属性
使背景色的色彩加重或减少50%
DragCursor
属性
当鼠标按下时光标的形状
DragMode
属性
按动的作用方式
DropDownCount
属性
容许的显示数据项的数目
E部
EditMask
属性
编辑模式
Enabled
属性
是否使标签呈现打开状态
EncodeDate
函数
将年月日合成为日期格式
EncodeTime
FindFirst
命令
对指定的文件名及属性搜索目录
FindNext
命令
返回与文件名及属性匹配的下一入口
FloatToDecimal
函数
将浮点数转换为十进制数
FloatToStrF
函数
将浮点数转换为字符串
FloatToStr
函数
将浮点数转换为字符串
FloatToText
函数
将给定的浮点数转换为十进制数
OnActivate
事件
焦点移到窗体上时触发
OnClick
事件
单击窗体或组件触发
OnDblClick
事件
双击窗体或组件触发
OnCloseQuery
BCB文件操作函数大全
如:
if not DirectoryExists('c:\5') then
CreateDir('c:\5');
也可以
if not DirectoryExists('c:\5\') then
CreateDir('c:\5\');
ExtractFileDrive :返回完整文件名中的驱动器,如"C:"
参数:FileName:要处理的文件名
例:ShowMessage(ExtractShortPathName("E:\\Program Files\\Dual Wheel Mouse\\4dmain.exe"));
/*显示"E:\Progra~1\dualwh~1\4dmain.exe"*/
⑾MatchesMask()
⑻ExpandUNCFileName()
3
原型:extern PACKAGE AnsiString __fastcall ExpandUNCFileName(const AnsiString FileName);
功能:返回含有网络驱动器的文件全路径,格式为:\\机器名\共享名\文件名
参数:FileName:要处理的文件名
例:ShowMessage(MatchesMask("Lxf.exe","*.?x?)); //显示"true"
2、文件管理函数
这类函数包括设置和读取驱动器、子目录和文件的有关的各种操作,下表列出这类操作常用的函数及其
功能。
函数功能
CreateDir()创建新的子目录
BCB常用函数
SetTextBuf 过程分配I/O缓冲区的内容到文件Sin 函数正弦函数SizeOf 函数返回参数所占的字节数Slice 函数返回数组的子段Sqr 函数平方函数Sqrt 函数平方根函数Str 过程将数值转换为字符串StringOfChar 函数返回指定个数的字符组成的字符串StringToOleStr 函数拷贝字符串到OLE格式StringToWideChar 函数转换Pascal字符串到UNICODE字符串Succ 函数返回后继的参数Swap 函数交换参数的高低地址位Trunc 函数将实型值截取为整型值Truncate 过程截去当前文件位置后的内容TypeInfo 函数返回一个运行期的类型信息的指针Unassigned 常数一个不分配值的变量UniqueString 过程保证一个字符串是一个唯一的字符串UpCase 函数将字符转换为大写Val 过程将字符串转换为整型值VarArrayCreate 函数以给定的界限和维数建立变体数组VarArrayDimCount 函数返回给定变体的维数VarArrayHighBound 函数返回给定变体数组维数的上界VarArrayLock 函数锁定给定的变体数组VarArrayLowBound 函数返回给定变体数组维数的下界VarArrayOf 函数返回指定变体的数组元素VarArrayRedim 过程通过改变上限来调整变体的大小VarArrayRef 函数返回指定的变体数组VarArrayUnlock 过程解锁指定的变体数组VarAsType 函数将变体转换为指定的类型VarCast 过程将变体转换为指定的类型并保存他VarClear 过程清除指定的变体VarCopy 过程将指定的变体复制为指定的变体VarFromDateTime 函数返回包含日期时间的变体VarIsArray 函数测试变体是否为数组VarIsEmpty 函数测试变体是否为unassignedVarIsNull 函数测试变体是否为nullVarToDateTime 函数将给定的变体转换为日期时间VarToStr 函数转换变体到字符串VarType 函数将变体转换为指定的类型并保存他WideCharLenToStrVar 过程将unicode字符串转换为ansi字符串变量WideCharLenToString 函数将ansi字符串转换为unicode字符串WideCharToStrVar 过程将unicode字符串转换为ansi字符串变量WideCharToString 函数将unicode字符串转换为ansi字符串Write 过程(for text files) 对有格式的文件,写一变量到文件组件中;对文本文件,写一个或多个值到文件中Writeln 过程执行write过程,然后输出一行结束标志文件:SysutilsAbort 过程引起放弃的意外处理AddExitProc 过程将一过程添加到运行时库的结束过程表中AddTerminateProc 过程添加一个终止过程到系统的终止过程列表中AdjustLineBreaks 函数将给定字符串的行分隔符调整为cr/lf序列AllocMem 函数在堆栈上分配给定大小的块AnsiCompareFileName 函数比较两个文件名(不区分大小写)AnsiCompareStr 函数比较字符串(区分大小写)AnsiCompareText 函数比较字符串(不区分大小写)AnsiExtractQuotedStr 函数转换一个引用字符串到不引用字符串AnsiLastChar 函数返回字符串的结尾AnsiLowerCase 函数返回一个给定字符串的小写拷贝AnsiLowerCaseFileName 函数返回一个给定文件名的小写拷贝AnsiPos 函数在一个字符串中查找第一个子串AnsiQuotedStr 函数返回字符串的引用版本AnsiSameStr 函数比较两个字符串是否相等(区分大小写)AnsiSameText 函数比较两个字符串是否相等(不区分大小写)AnsiStrComp 函数比较两个以零结尾的字符串(区分大小写)AnsiStrIComp 函数同上(区分不可见字符)AnsiStrLComp 函数返回以零结尾字符串的结尾AnsiStrLIComp 函数比较两个字符串开始几位。
常用的BCB & Delphi 函数
DictionaryDeactivate 过程 使一个数据字典不激活
FindAttrID 函数 返回一个指定的属性集的ID
FindDatabaseID 函数 返回指定的数据库的ID
FindFieldID 函数 返回指定字段的ID
CursorToString 函数 把光标转换成字符串
FindControl 函数 输入窗口的句柄,返回一个TWinControl控件的对象。
FindDragTarget 函数 查找在鼠标的位置下的控件
FindVCLWindow 函数 查找指定位置下的VCL控件
GetCaptureControl 函数 获得正在处理鼠标事件的控件
GetCursorvalues 过程 回调函数,获得光标的值
GetLongHint 函数 获得Hint字符串的第二行以后的字符串 行用‘‘字符隔开
GetShortHint 函数 获得Hint字符串的第一行的字符串
IdentToCursor 函数 转换字符串到光标
IsDragObject 函数 判断指定的对象是不是TDragObject类的子孙。
Session 变量 全局的TSession对象
Sessions 变量 全局的TSessionList对象
文件: Dialogs
CreateMessageDialog 函数 创建一个消息对话框
ForceCurrentDirectory 变量 强制初始对话框为当前路径,如果为True,就是当前路径,否则就是My Documents路径。
FindGlobalComponent 变量 返回一个最高阶的容器类。
GetClass 函数 返回一个已经注册了的从TPersistent继承的类
Delphi必熟的基本函数
Delphi必须掌握的基本函数:数值函数:Abs 函数绝对值函数。
Abs(-1) = 1;Exp 函数指数函数。
Odd 函数测试参数是否为奇数。
odd(1) = TruePi 函数返回圆周率Pi。
Random 函数返回一随机函数。
(产生一个大于0小于1的小数);Randomize 函数用一随机数初始化内置的随机数生成器。
Sqr 函数平方函数。
Sqr(3) =9Sqrt 函数平方根函数。
Sryt(9) 3Frac 函数返回参数的小数部分。
Frac(3.14) = 0.14Int 函数返回参数的整数部分。
int(3.6) = 3Round 函数将实数值四舍五入取整型值。
Round(3.6) = 4Trunc 函数将实型值截取为整型值。
//Ceil 函数直接往大的取整,比如Ceil(-123.55) = -123,Ceil(123.55) = 124。
需要引用单元Math.pas。
Floor 函数直接往小的取整,比如Floor(-123.55) = -124,Floor(123.55) = 123。
需要引用单元Math.pas。
ReverseString 翻转字符串倒序输出来ReverseString(abcd)=dcba字符串函数:CompareStr 函数比较字符串(区分大小写)。
StrComp 函数比较两个字符串(区分大小写)。
StrIComp 函数比较两个字符串(不区分大小写)。
Concat 函数合并字符串。
Copy 函数返回一字符串的子串。
Delete 函数从字符串中删除子串。
Insert 函数在字符串中插入子串。
Pos 函数在字符串中搜索子串。
Format 函数格式化一系列的参数并返回Pascal字符串。
FormatDateTime 函数用指定的格式来格式化日期和时间。
formatdatetime('c', Now)字符c以短时间格式显示时间,即全部是数字的表示。
d对应时间中的日期,dd是输出两位的日期。
Delphi函数大全
Delphi函数大全Delphi函数大全首部function Languages: TLanguages; $[功能返回系统语言对象说明通过此函数可以得到系统的语言环境参考type例子12a12c12a12c.参考例子:= IsValidIdent;━━━━━━━━━━━━━━━━━━━━━首部function IntT oStr(Value: Integer): string; overload; $[首部function IntT oStr(Value: Int64): string; overload; $[功能返回整数Value转换成字符串说明Format('%d', [Value])参考function例子:= IntToStr;━━━━━━━━━━━━━━━━━━━━━首部function IntT oHex(V alue: Integer; Digits: Integer): string; overload; $[首部function IntT oHex(V alue: Int64; Digits: Integer): string; overload; $[功能返回整数Value转换成十六进制表现结果;Format('%.*x', [Digits, Value]) 说明参数Digits指定字符最小宽度;最小宽度不足时将用0填充参考function例子:= IntToHex, ;━━━━━━━━━━━━━━━━━━━━━首部function StrToInt(const S: string): Integer; $[功能返回字符串S转换成整数说明字符串非整数表达时将引起异常参考procedure例子:= StrT oInt;━━━━━━━━━━━━━━━━━━━━━首部function StrT oIntDef(const S: string; Default: Integer): Integer; $[功能返回字符串S转换成整数说明字符串非整数表达时则返回默认值Default参考procedure例子:= StrT oIntDef, 0);━━━━━━━━━━━━━━━━━━━━━首部function TryStrToInt(const S: string; out Value: Integer): Boolean; $[功能返回字符串S转换成整数V alue是否成功说明字符串非整数表达时返回False并且Value将输出为0参考procedure例子..);打开失败则返回负数参考function例子xe'参考function ;function例子:= ExtractFileExt;━━━━━━━━━━━━━━━━━━━━━首部function ExpandFileName(const FileName: string): string; $[功能返回文件名的完整表示说明ExpandFileName('')='C:\Program Files\Borland\Delphi6\Projects\'参考function例子:= ExpandFileName;━━━━━━━━━━━━━━━━━━━━━首部function ExpandFileNameCase(const FileName: string; out MatchFound: TFilenameCaseMatch): string; $[功能分情况返回文件名的完整表示说明type TFilenameCaseMatch = (mkNone, mkExactMatch, mkSingleMatch, mkAmbiguous); 参考function ;function ;function 例子.;获取失败则返回-1参考function例子:= DiskFree;━━━━━━━━━━━━━━━━━━━━━首部function DiskSize(Drive: Byte): Int64; $[功能返回驱动器全部空间说明参数Drive为0表示当前路径,为1表示=A驱,为2表示=B 驱...;获取失败则返回-1参考function例子:= DiskSize;━━━━━━━━━━━━━━━━━━━━━首部function FileDateToDateTime(FileDate: Integer): TDateTime; $[功能返回将文件日期时间类型转换日期时间类型说明FileDate非法是将触发异常参考function ;function例子<参见FileAge>━━━━━━━━━━━━━━━━━━━━━首部function DateTimeToFileDate(DateTime: TDateTime): Integer; $[功能返回将日期时间类型转换文件日期时间类型说明年份在1980到2107之外则返回0参考function ;function例子<参见FileSetDate>━━━━━━━━━━━━━━━━━━━━━首部function GetCurrentDir: string; $[功能返回当前操作目录说明[注意]调用文件对话框会改变当前操作目录参考function例子:= GetCurrentDir;━━━━━━━━━━━━━━━━━━━━━首部function SetCurrentDir(const Dir: string): Boolean; $[ 功能返回设置当前操作目录是否成功说明[注意]调用文件对话框会改变当前操作目录参考function例子:= SetCurrentDir;━━━━━━━━━━━━━━━━━━━━━首部function CreateDir(const Dir: string): Boolean; $[功能返回创建目录是否成功说明不支持多级目录;已经存在则返回False参考function例子:= CreateDir;━━━━━━━━━━━━━━━━━━━━━首部function RemoveDir(const Dir: string): Boolean; $[ 功能返回删除目录是否成功说明必须是空目录参考function例子:= RemoveDir;━━━━━━━━━━━━━━━━━━━━━首部function StrLen(const Str: PChar): Cardinal; $[功能返回指针字符串的长度说明当指针字符串Str为nil时将触发异常参考例子:= StrLen(PChar);━━━━━━━━━━━━━━━━━━━━━首部function StrEnd(const Str: PChar): PChar; $[功能返回指针字符串的结尾说明当指针字符串Str为nil时将触发异常参考例子:= StrEnd(PChar) - ;━━━━━━━━━━━━━━━━━━━━━首部function StrMove(Dest: PChar; const Source: PChar; Count: Cardinal): PChar; $[ 功能返回将指针字符串Source指定内存数量Count复制覆盖到指针字符串Dest中说明Dest没有分配资源将触发异常s参考function例子255] of Char;beginStrECopy(StrECopy(vBuffer, PChar), PChar);:= vBuffer;end;255] of Char;beginStrLCopy(vBuffer, PChar, ;:= vBuffer;end;255] of Char;beginStrPCopy(vBuffer, PChar);:= vBuffer;end;255] of Char;beginStrPLCopy(vBuffer, , ;:= vBuffer;end;255] of Char;beginStrPCopy(vBuffer, ;StrCat(vBuffer, PChar);:= vBuffer;end;255] of Char;beginStrPCopy(vBuffer, ;StrLCat(vBuffer, PChar, ;:= vBuffer;end;2005-7-26 摘要] 类型Format('x=%d', [12]); 3f, []); f', [5, ]); d', [12]); x', [12]); 0000C255] of Char;E: Extended;beginE := StrToFloatDef, 0);:= FloatToText(vBuffer, E,fvExtended, ffNumber, , ;:= Copy(vBuffer, 1, ;end;0', 90) = '1,234,567,'参考function例子:= FormatFloat, StrToFloatDef, 0));━━━━━━━━━━━━━━━━━━━━━首部function FormatCurr(const Format: string; Value: Currency): string; $[功能返回货币类型以指定格式字符串Format转换成字符串说明FormatCurr(',.00', 90) = '1,234,567,'参考function例子:= FormatCurr, StrToCurrDef, 0));━━━━━━━━━━━━━━━━━━━━━首部function FloatToTextFmt(Buf: PChar; const Value; ValueType: TFloatValue; Format:PChar): Integer; $[功能返回浮点数以指定格式字符串Format转换成指针字符串的内存大小说明ValueType指定无类型参数Value的类型参考例子255] of Char;E: Extended;beginE := StrToFloatDef, 0);:= FloatToTextFmt(vBuffer, E,fvExtended, PChar);:= Copy(vBuffer, 1, ;end;7] of string =('星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六');begin:= cWeekCn[DayOfWeek(Now)];end;2002-03-092002年03月09日255] of Char;beginExceptionErrorMessage(Self, Self, vBuffer, 255);Caption := vBuffer;end;, '') = 16参考function ;function例子:= LastDelimiter, ;━━━━━━━━━━━━━━━━━━━━━首部function AnsiCompareFileName(const S1, S2: string): Integer; $[功能返回比较两个文件名说明当S1>S2返回值>0;当S1<s2返回值< bdsfid="265" p=""></s2返回值<>例子:= AnsiCompareFileName, ;━━━━━━━━━━━━━━━━━━━━━首部function SameFileName(const S1, S2: string): Boolean; $[功能返回两个文件名是否相等说明区分大小写参考function例子:= SameFileName, ;━━━━━━━━━━━━━━━━━━━━━首部function AnsiLowerCaseFileName(const S: string): string; $[功能返回小写文件名说明在非多字节字符系统上相当于AnsiLowerCase参考function例子:= AnsiLowerCaseFileName;━━━━━━━━━━━━━━━━━━━━━首部function AnsiUpperCaseFileName(const S: string): string;$[功能返回大写文件名说明在非多字节字符系统上相当于AnsiUpperCase参考function例子:= AnsiUpperCaseFileName;━━━━━━━━━━━━━━━━━━━━━首部function AnsiPos(const Substr, S: string): Integer; $[功能返回子串Substr在字符中第一次出现的位置说明不存在则返回0参考例子:= AnsiPos, ;━━━━━━━━━━━━━━━━━━━━━首部function AnsiStrPos(Str, SubStr: PChar): PChar; $[功能返回指针子串Substr在指针字符中第一次出现的指针位置说明不存在则返回nil参考function例子:= AnsiStrPos(PChar, PChar);━━━━━━━━━━━━━━━━━━━━━首部function AnsiStrRScan(Str: PChar; Chr: Char): PChar; $[ 功能返回在指针字符串Str搜索字符Chr最后一个出现的地址说明支持多字节字符系统;AnsiStrRScan('', '.') = ''参考function例子:= AnsiStrScan(PChar, '.');━━━━━━━━━━━━━━━━━━━━━首部function AnsiStrScan(Str: PChar; Chr: Char): PChar; $[ 功能返回在指针字符串Str搜索字符Chr第一个出现的地址说明支持多字节字符系统;AnsiStrRScan('', '.') = '.'参考function例子:= AnsiStrScan(PChar, '.');━━━━━━━━━━━━━━━━━━━━━首部function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string; $[功能返回替换后的字符串说明rfReplaceAll为替换全部内容;rfIgnoreCase为忽略大小写参考function ;function ;function例子///////Begin StringReplaceprocedure (Sender: TObject);begin'[]'] :=StringReplace, , , []);'[rfReplaceAll]'] :=StringReplace, , , [rfReplaceAll]);'[rfIgnoreCase]'] :=StringReplace, , , [rfIgnoreCase]);'[rfReplaceAll, rfIgnoreCase]'] :=StringReplace, , , [rfReplaceAll, rfIgnoreCase]);end;///////End StringReplace━━━━━━━━━━━━━━━━━━━━━首部function WrapText(const Line, BreakStr: string; const BreakChars: TSysCharSet; MaxCol: Integer): string; overload; $[ 首部function WrapText(const Line: string; MaxCol: Integer = 45): string; overload; $[功能返回对字符串自动换行说明Result := WrapText(Line, sLineBreak, [' ', '-', #9], MaxCol);参考function ;function例子:= WrapText, ;━━━━━━━━━━━━━━━━━━━━━首部function FindCmdLineSwitch(const Switch: string; constChars: TSysCharSet; IgnoreCase: Boolean): Boolean; overload; $[ 首部function FindCmdLineSwitch(const Switch: string): Boolean; overload; $[首部function FindCmdLineSwitch(const Switch: string; IgnoreCase: Boolean): Boolean; overload; $[功能返回程序命令参数是否找到说明Result := FindCmdLineSwitch(Switch, SwitchChars, True);参考function ;function ;function例子:= FindCmdLineSwitch;━━━━━━━━━━━━━━━━━━━━━首部procedure FreeAndNil(var Obj); $[功能释放对象Obj并赋为空说明如果对象已经释放资源将触发异常参考type例子///////Begin FreeAndNilprocedure (Sender: TObject);varTemp: TObject;beginTemp := ;;ShowMessage(Format('%p', [Pointer(Temp)]));Temp := ;FreeAndNil(Temp);ShowMessage(Format('%p', [Pointer(Temp)]));end;///////End FreeAndNil━━━━━━━━━━━━━━━━━━━━━首部function Supports(const Instance: IInterface; const IID:TGUID; out Intf): Boolean; overload; $[首部function Supports(const Instance: TObject; const IID: TGUID; out Intf): Boolean; overload; $[首部function Supports(const Instance: IInterface; const IID: TGUID): Boolean; overload; $[首部function Supports(const Instance: TObject; const IID: TGUID): Boolean; overload; $[首部function Supports(const AClass: TClass; const IID: TGUID): Boolean; overload; $[功能返回对象是否支持指定的接口说明Result := (IID) <> nil;参考type例子━━━━━━━━━━━━━━━━━━━━━首部function CreateGUID(out Guid: TGUID): HResult; $[功能返回创建全局标识是否成功说明返回S_OK表示成功参考function例子///////Begin CreateGUIDprocedure (Sender: TObject);varvGUID: TGUID;beginCreateGUID(vGUID);:= GUIDT oString(vGUID);end;///////End CreateGUID━━━━━━━━━━━━━━━━━━━━━首部function StringToGUID(const S: string): TGUID; $[功能返回字符串S转换成全局标识说明如果字符串非法将触发异常参考fuction例子:= GUIDT oString(StringT oGUID);━━━━━━━━━━━━━━━━━━━━━首部function GUIDToString(const GUID: TGUID): string; $[功能返回全局标识GUID转换成字符串说明参考fuction例子:= GUIDT oString(StringT oGUID);━━━━━━━━━━━━━━━━━━━━━首部function IsEqualGUID(const guid1, guid2: TGUID): Boolean; $[功能返回两个全局标识是否相同说明function IsEqualGUID; external '' name 'IsEqualGUID';参考例子:= IsEqualGUID(StringToGUID, StringToGUID);━━━━━━━━━━━━━━━━━━━━━首部function LoadPackage(const Name: string): HMODULE; $[功能返回载入包资源说明参考function ;function ;function例子━━━━━━━━━━━━━━━━━━━━━首部procedure UnloadPackage(Module: HMODULE); $[功能取消载入包资源说明参考function ;function例子━━━━━━━━━━━━━━━━━━━━━首部procedure GetPackageInfo(Module: HMODULE; Param: Pointer; var Flags: Integer; InfoProc: TPackageInfoProc); $[ 功能返回包的信息说明参考例子━━━━━━━━━━━━━━━━━━━━━首部function GetPackageDescription(ModuleName: PChar): string; $[功能返回包的描述说明参考function ;function例子━━━━━━━━━━━━━━━━━━━━━首部procedure InitializePackage(Module: HMODULE); $[功能初始化包说明参考function例子━━━━━━━━━━━━━━━━━━━━━首部procedure FinalizePackage(Module: HMODULE); $[功能终止化包说明参考function例子━━━━━━━━━━━━━━━━━━━━━首部procedure RaiseLastOSError; $[功能触发操作系统的最后一个异常说明如果没有出现异常则默认调用Api函数异常参考function例子RaiseLastOSError;━━━━━━━━━━━━━━━━━━━━━首部procedure RaiseLastWin32Error; deprecated; $[功能触发Win32系统的最后一个异常说明如果没有出现异常则默认调用Api函数异常参考function ;例子RaiseLastWin32Error;━━━━━━━━━━━━━━━━━━━━━首部function Win32Check(RetVal: BOOL): BOOL; platform; $[ 功能返回检测调用系统Api函数返回结果说明如果RetVal为False则触发异常参考function例子:= Win32Check;━━━━━━━━━━━━━━━━━━━━━首部procedure AddTerminateProc(TermProc: TTerminateProc); $[ 功能添加一个退出过程到系统中说明执行AddTerminateProc(nil)将导致系统异常参考const例子///////Begin AddT erminateProcfunction NewTerminateProc: Boolean;beginResult := True;ShowMessage('NewTerminateProc');end;procedure (Sender: TObject);beginAddTerminateProc(NewTerminateProc);end;///////End AddTerminateProc━━━━━━━━━━━━━━━━━━━━━首部function CallTerminateProcs: Boolean; $[功能返回调用退出过程是否成功说明不建议调用参考const例子CallTerminateProcs;━━━━━━━━━━━━━━━━━━━━━首部function GDAL: LongWord; $[功能说明参考例子━━━━━━━━━━━━━━━━━━━━━首部procedure RCS; $[说明参考例子━━━━━━━━━━━━━━━━━━━━━首部procedure RPR; $[功能说明参考例子━━━━━━━━━━━━━━━━━━━━━首部function SafeLoadLibrary(const Filename: string; ErrorMode: UINT = SEM_NOOPENFILEERRORBOX): HMODULE; $[功能返回安全方式载入动态连接库资源说明<参见LoadLibrary>参考function例子━━━━━━━━━━━━━━━━━━━━━首部function GetEnvironmentVariable(const Name: string): string; overload; $[功能返回过程环境变量说明配合SetEnvironmentVariable函数使用参考function例子:= GetEnvironmentVariable;///////Begin GetEnvironmentVariableprocedure (Sender: TObject);beginSetEnvironmentVariable(PChar, PChar);:= GetEnvironmentVariable;end;///////End GetEnvironmentVariable━━━━━━━━━━━━━━━━━━━━━首部function InterlockedIncrement(var I: Integer): Integer; $[ 功能说明Kylix函数参考例子━━━━━━━━━━━━━━━━━━━━━首部function InterlockedDecrement(var I: Integer): Integer; $[功能说明Kylix函数参考例子━━━━━━━━━━━━━━━━━━━━━首部function InterlockedExchange(var A: Integer; B: Integer): Integer; $[说明Kylix函数参考例子━━━━━━━━━━━━━━━━━━━━━首部function InterlockedExchangeAdd(var A: Integer; B: Integer): Integer; $[ 功能说明Kylix函数参考例子━━━━━━━━━━━━━━━━━━━━━。
BCB时间和日期函数Delphi
BCB时间和日期函数Delphi函数都是delphi的,但是delphi和c++builder差不多,help里找找就行了:function FormatDateTime(const Format: string; DateTime: TDateTime): string;Format参数是一个格式化字符串。
DateTime是时间类型。
返回值是一种格式化后的字符串,重点来看Format参数中的指令字符c以短时间格式显示时间,即全部是数字的表示FormatdateTime('c',now);输出为:2004-8-7 9:55:40d 对应于时间中的日期,日期是一位则显示一位,两位则显示两位FormatdateTime('d',now);输出可能为1~31dd 和d的意义一样,但它始终是以两位来显示的FormatdateTime('dd',now);输出可能为01~31ddd 显示的是星期几FormatdateTime('ddd',now);输出为: 星期六dddd 和ddd显示的是一样的。
但上面两个如果在其他国家可能不一样。
ddddd 以短时间格式显示年月日FormatdateTime('ddddd',now);输出为:2004-8-7dddddd 以长时间格式显示年月日FormatdateTime('dddddd',now);输出为:2004年8月7日e/ee/eee/eeee 以相应的位数显示年FormatdateTime('ee',now);输出为:04 (表示04年)m/mm/mmm/mmmm 表示月FormatdateTime('m',now);输出为:8FormatdateTime('mm',now);输出为 08FormatdateTime('mmm',now);输出为八月FormatdateTime('mmmm',now);输出为八月和ddd/dddd 一样,在其他国家可能不同yy/yyyy 表示年FormatdateTime('yy',now);输出为 04FormatdateTime('yyyy',now);输出为 2004h/hh,n/nn,s/ss,z/zzz 分别表示小时,分,秒,毫秒t 以短时间格式显示时间FormatdateTime('t',now);输出为 10:17tt 以长时间格式显示时间FormatdateTime('tt',now);输出为10:18:46ampm 以长时间格式显示上午还是下午FormatdateTime('ttampm',now);输出为:10:22:57上午如果要在Format中加普通的字符串,可以用双引号隔开那些特定义的字符,这样普通字符串中如果含特殊的字符就不会被显示为时间格式啦:FormatdateTime('"today is" c',now);输出为:today is 2004-8-7 10:26:58时间中也可以加"-"或"\"来分开日期:FormatdateTime('"today is" yy-mm-dd',now); FormatdateTime('"today is" yy\mm\dd',now); 输出为: today is 04-08-07也可以用":"来分开时间FormatdateTime('"today is" hh:nn:ss',now); 输出为:today is 10:32:23。
常用的BCB函数汇总
WideCharToStrVar 过程 将unicode字符串转换为ansi字符串变量
WideCharToString 函数 将unicode字符串转换为ansi字符串
Write 过程 (for text files) 对有格式的文件,写一变量到文件组件中;对文本文件,写一个或多个值到文件中
Finalize 过程
FindClassHInstance 函数 返回一个包含指定类的定义的实例
FindHInstance 函数 返回一个包含指定地址的模块地址
FindResourceHInstance 函数返回一个包含指定的资源模块的地址
Flush 过程 清空文本缓冲区
Frac 函数 返回一个浮点数的小数部分
ParamStr 函数 返回指定的命令行参数
Pi 函数 返回圆周率pi=3.1415926535897932385.
Pos 函数 在字符串中搜索子串
Pred 函数 返回先前的参数
Ptr 函数 转换一个地址到指针
RandSeed 变量 存储随机函数的种子
Random 函数 随机函数
UpCase 函数 将字符转换为大写
Val 过程 将字符串转换为整型值
VarArrayCreate 函数 以给定的界限和维数建立变体数组
VarArrayDimCount 函数 返回给定变体的维数
VarArrayHighBound 函数 返回给定变体数组维数的上界
VarArrayLock 函数 锁定给定的变体数组
常用的BCB & Delphi 函数
Delphi中常用字符串处理函数
Delphi中常⽤字符串处理函数1.copy(str,pos,num) 从str字符串的pos处开始,截取num个字符的串返回.假设str为'abcdef',copy(str,3,2)='cd',copy(str,4,10)='def'2.concat(str1,str2{,strn}) 把各⾃变量连接起来,返回连接后的字符串(长度不能超过255)3.length(str) 返回str的字符个数,即其长度.4.pos(obj,target) 在target字符串中找出第⼀个出现obj的第⼀个字符位置,如果找不到,返回0.5.AnsiStrLastChar('你好')结果是“好”。
如果有半个汉字出现,返回这半个汉字。
⼆者字符串长度分别为2和1。
pareStr - 区分⼤⼩写pareText - 不区分⼤⼩写8.StringReplace(const S, OldPattern, NewPattern: string;Flags: TReplaceFlags): string;字符串替换函数,需要引⽤SysUtils单元rfReplaceAll:全部替换rfIgnoreCase:忽略⼤⼩写使⽤⽅法Lg: str:='01231142211:655767';//需要把:替换成----s:=StringReplace(str,':','----',[rfReplaceAll]);For Example:varaStr: String;beginaStr := 'This is a book, not a pen!';ShowMessage(StringReplace (aStr, 'a', 'two', [])); //This is two book, not a pen!只替换了第⼀个符合的字ShowMessage(StringReplace (aStr, 'a', 'two', [rfReplaceAll]));//This is two book, not two pen!替换了所有符合的字aStr := 'This is a book, not A pen!';ShowMessage(StringReplace (aStr, 'a', 'two', [rfReplaceAll])); //This is two book, not A pen!只替换了符合的字(⼩写a)ShowMessage(StringReplace (aStr, 'a', 'two', [rfReplaceAll, rfIgnoreCase])); //This is two book, not two pen!不管⼤⼩写替换了所有符合的字end;9.delete是删除⼀个字符串中的某部分字符⽤法是delete(str,//被删除的字符串index,//从第⼏个字符开始删除count //删除⼏个);Delete(S, 2, 2); 就是从S中的第⼆个开始删除,删除2个字符即2、3.所以结果是145.////////////////////////////////////////////////////////LEFTSTR, MIDSTR, RIGHTSTR的介绍这⼏个函数都包含在StrUtils中,所以需要uses StrUtils;假设字符串是 Dstr := ’Delphi is the BEST’, 那么LeftStr(Dstr, 5) := ’Delph’MidStr(Dstr, 6, 7) := ’i is th’RightStr(Dstr, 6) := ’e BEST’8.{判断字符是否是数字}function IsDigit(ch: char): boolean;beginResult := ch in ['0'..'9'];end;9、{判断字符是否是⼤写字符}function IsUpper(ch: char): boolean;beginResult := ch in ['A'..'Z'];end;10、{判断字符是否是⼩写字符}function IsLower(ch: char): boolean;beginResult := ch in ['a'..'z'];end;11、{转换为⼤写字符}function ToUpper(ch: char): char;beginResult := chr(ord(ch) and $DF);end;12、{转换为⼩写字符}function ToLower(ch: char): char;beginResult := chr(ord(ch) or $20);end;{ Capitalizes first letter of every word in s }function Proper(const s: string): string;vari: Integer;CapitalizeNextLetter: Boolean;beginResult := LowerCase(s);CapitalizeNextLetter := True;for i := 1to Length(Result) dobeginif CapitalizeNextLetter and IsLower(Result[i]) thenResult[i] := ToUpper(Result[i]);CapitalizeNextLetter := Result[i] = '';end;end;////////////////////////////////////////////////////////////13.{返回两个⼦字符串之间字符的个数}Function p2pcount( s, ss1, ss2 : string ): integer;var i, j, slen : integer;begini := pos( ss1, s );j := pos( ss2, s );slen := Length(ss2);if j >= i then Result := j - i + slen else Result := 0;end;14.{更快速的字符查询,快40%}function ScanStr(ToScan: PChar; Sign: Char):PChar;beginResult:= nil;if ToScan <> nil thenwhile (ToScan^ <> #0) do beginif ToScan^ = Sign then beginResult:= ToScan;break;end;inc(ToScan);end;end;/////////////////////////////15.替换字符串中⼦串的函数,他可以从字符串中找出指定⼦串,并替换为另⼀⼦串。
Delphi中BCD和Currency类型
Delphi中BCD和Currency类型Delphi中BCD和Currency类型⼀. BCD类型BCD即Binary-Coded Decimal,在Delphi中,BCD字段类型可以精确保存浮点数据类型。
Delphi⽀持的BCD码的数据类型名为TBCD,它的定义如下:TBcd = packed recordPrecision: Byte; { 1..64 }SignSpecialPlaces: Byte; { Sign:1, Special:1, Places:6 }Fraction: packed array [0..31] of Byte; { BCD Nibbles, 00..99 per Byte, highNibble 1st }end;对BCD的⽀持是在FMTBcd单元中,所以要使⽤BCD函数,则需要引⽤此单元。
Delphi的BCD函数有:BcdAdd计算两个BCD码的和BcdCompare⽐较两个BCD的⼤⼩BcdDivide BCD数据相除BcdMultiply BCD数据相乘BcdPrecision返回BCD的数据个数。
如BCD的123返回值为3,BCD值为9382时返回值为4。
BcdScale返回BCD码的⼩数位数BcdSubtract两个BCD码相减BCDToCurr转换BCD码为Current格式的数据类型BcdToDouble BCD码转换为Double格式的数据类型BcdToInteger BCD码转换为Integer格式的数据类型BcdToStr BCD码转换为字符串BcdToStrF BCD码转换为带格式控制的字符串CurrToBCD Current数据类型转换为BCD码DoubleToBcd Double数据类型转换为BCD码FormatBcd格式化BCD码为字符串IntegerToBcd Integer整数类型转换为BCD码IsBcdNegative判断BCD是否为负数NormalizeBcd将⼀个BCD的值根据给定的精度和⼩数位数转换为另外⼀个BCD码的值NullBcd判断BCD是否为NULLStrToBcd字符串转换为BCD码TryStrToBcd字符串转换为BCD码,转换失败返回给定的默认值⼆. Currency类型和SQL SERVER中money类型⼀模⼀样,Delphi中Currency类型:1)占⽤8个字节。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GetLongHint 函数 获得Hint字符串的第二行以后的字符串 行用'|'字符隔开
GetShortHint 函数 获得Hint字符串的第一行的字符串
IdentToCursor 函数 转换字符串到光标
IsDragObject 函数 判断指定的对象是不是TDragObject类的子孙。
UnregisterClass 过程 反注册一个类
UnregisterClasses 过程 反注册一组类
UnregisterModuleClasses 过程 反注册定义在模块中的所有的类
WriteComponentResFile 过程 写控件和她的属性到文件。
文件: Clipbrd
InputBox 函数 创建一个用于输入的对话框
InputQuery 函数 创建一个用于输入的对话框,有返回值表示确定或取消
MessageDlg 函数 在屏幕的中间显示一个消息框
MessageDlgPos 函数 根据输入的位置在屏幕上显示一个消息框
MessageDlgPosHelp 函数 同上,还显示一个帮助按钮
GetComponentEditor 函数(*)
RegisterCustomModule 过程(*)
NewEditorGroup 函数(*)
FreeEditorGroup 过程(*)
NotifyGroupChange 过程(*)
UnNotifyGroupChange 过程(*)
UpdateConstraints 过程
UpdateDataset 过程 更新数据集和所有的她的字段控件以匹配数据字典
UpdateField 过程 更新一个字段控件以匹配连接在数据字典中的属性集
文件: DsgnIntf
CreateSelectionList 函数(*)
MakeIPersistent 函数(*)
ExtractPersistent 函数(*)
TryExtractPersistent 函数(*)
MakeIComponent 函数(*)
ExtractComponent 函数(*)
TryExtractComponent 函数(*)
GetComponentProperties 过程(*)
ShowMessage 过程 显示一个对话框
ShowMessageFmt 过程 显示格式化的字符串
文件: Drintf
AssociateAttr 过程 建立一个属性ID和字段ID的连结
CreateField 函数 创建一个存储在数据字典中的新的字段
DictionaryActive 函数 判断一个数据字典是否是激活的
FindClass 函数 从输入字符串中返回一个从TPersistent继承的类
FindGlobalComponent 变量 返回一个最高阶的容器类。
GetClass 函数 返回一个已经注册了的从TPersistent继承的类
LineStart 函数 返回下一行的开始字符位置
ObjectBinaryToText 过程 转换对象的二进制流形式到文件。
GetAttrName 函数 输入属性ID返回属性名字
GetAttrNames 过程 为每个属性设置名字时执行回调函数
GetControlClass 函数 返回和属性集连接的类的名字
HasConstraints 函数 判断数据字典中是否数据集约束
IsNullID 函数 输入一个ID判断她在数据字典中的实体是否为空
RegisterPropertyEditor 过程 注册属性编辑器
RegisterPropertyInCategory 函数 注册属性种类(单个)
文件: Exptintf
RegisterLibraryExpert 过程 注册一个专家
文件: ExtCtrls
Frame3D 过程 使控件具有3D外观
RegisterAction 过程 注册Action
UnRegisterAction 过程 反注册Action
文件: Classes
Bounds 函数 输入上下高宽返回一个矩形结构。
CollectionsEqual 函数 比较两个TCollection是不是相等。
CurrentGroup 变量
Clipboard 函数 返回一个TClipboard对象
SetClipboard 函数 用一个新TClipboard替换全局TClipboard。
文件: Controls
CancelDrag 过程 在程序中取消drag-and-drop或drag-and-dock操作。
CursorToIdent 函数 判断光标常数是不是和字符串相等
DictionaryDeactivate 过程 使一个数据字典不激活
FindAttrID 函数 返回一个指定的属性集的ID
FindDatabaseID 函数 返回指定的数据库的ID
FindFieldID 函数 返回指定字段的ID
FindTableID 函数 返回指定表的ID
GetAttrID 函数 返回和字段连接的属性ID
NewAttr 函数 创建一个基于字段控件的属性的属性集
QualifyTaleNameByName 函数 同上
UnassociateAttr 过程 删除一个属性ID和字段ID的连结
UpdateAttr 过程 更新一个属性集以匹配字段控件的属性
NotebookHandlesNeeded 过程(*)
文件: FileCtrl
DirectoryExists 函数 判断存在有一个指定的文件夹
ForceDirectories 函数 根据指定的路径创建全路径
ProcessPath 过程 分解文件名成驱动器名,和文件名
SelectDirectory 函数 调用一个对话框允许用户输入一个目录名
ReadComponentResEx 函数 同上
ReadComponentResFile 函数 从窗口资源文件中读出一个控件和她的属性。
Rect 函数 输入上下左右返回一个矩形结构
RegisterClass 过程 注册一个从TPersistent继承的类,使她的类的类型能够被识别。
RegisterClassAlias 过程 注册一个和另一个除了名字外都相同的类。
LoginDialogEx 函数 创建一个登陆对话框(扩展)
RemoteLoginDialog 创建一个远程登陆对话框
文件: Dbpwdlg
显示一个对话框提示输入本地表的密码
文件: Dbtables
AnsiToNative 函数 把ANSI字符集转换成本地字符集
AnsiToNativeBuf 过程 同上
CursorToString 函数 把光标转换成字符串
FindControl 函数 输入窗口的句柄,返回一个TWinControl控件的对象。
FindDragTarget 函数 查找在鼠标的位置下的控件
FindVCLWindow 函数 查找指定位置下的VCL控件
GetCaptureControl 函数 获得正在处理鼠标事件的控件
Mouse 变量 鼠标对象,全局
MoveWindowOrg 过程 在设备上下文中改变点的相对位置
SetCaptureControl 过程 设置指定的控件处理鼠标事件
StringToCursor 函数 字符串转换到光标
文件: Db
BCDToCurr 函数 把TBCD结构转化成货币类型
RegisterClasses 过程 注册一组类
RegisterComponents 过程 注册一组控件
RegisterIntegerConsts 过程
RegisterNoIcon 过程 注册一组没有图标的控件
RegisterNonActiveX 过程 防止一组控件被ActiveX wizard识别。
IsPropertyInCategory 函数 是否属性在特定的种类中
PropertyCategoryList 函数 属性种类列表
RegisterComponentEditor 过程 注册控件编辑器
RegisterPropertiesInCategory 函数 注册属性种类(多个)
DatabaseError 过程 创建并且触发一个EDatabaseError异常
DatabaseErrorFmt 过程 创建并且格式化EDatabaseError异常
GetFieldProperty 函数 从TDateSet和TControl中获得字段属性
RegisterFields 过程 注册字段类
Check 过程 判断一个从BDE返回的值是否是错误的。
DBIError 过程 创建并且触发一个EDBEngineError异常
NativeCompareStr 函数 根据本地数据库比较两个字符串,区分大小写
NativeCompareStrBuf 函数 根据本地数据库比较两个以零结尾的字符串,区分大小写
NativeCompareText 函数 根据本地数据库比较两个字符串,不区分大小写
NativeCompareTextBuf 函数 根据本地数据库比较两个以零结尾的字符串,不区分大小写
NativeToAnsi 函数 把本地字符集转换成ANSI字符集
NativeToAnsiBuf 过程 同上
VarTypeToDataType 函数 把一个整形转换成TFieldType型