Delphi6函数大全4-SysUtils.pas
首部 function FormatFloat(const Format: string; Value: Extended): string; $[SysUtils.pas 功能 返回浮点数类型以指定格式字符串Format转换成字符串 说明 FormatFloat(',.00', 1234567890) = '1,234,567,890.00' 参考 function SysUtils.FloatToTextFmt 例子 Edit1.Text := FormatFloat(Edit2.Text, StrToFloatDef(Edit3.Text, 0)); ━━━━━━━━━━━━━━━━━━━━━ 首部 function FormatCurr(const Format: string; Value: Currency): string; $[SysUtils.pas 功能 返回货币类型以指定格式字符串Format转换成字符串 说明 FormatCurr(',.00', 1234567890) = '1,234,567,890.00' 参考 function SysUtils.FloatToTextFmt 例子 Edit1.Text := FormatCurr(Edit2.Text, StrToCurrDef(Edit3.Text, 0)); ━━━━━━━━━━━━━━━━━━━━━ 首部 function FloatToTextFmt(Buf: PChar; const Value; ValueType: TFloatValue; Format: PChar): Integer; $[SysUtils.pas 功能 返回浮点数以指定格式字符串Format转换成指针字符串的内存大小 说明 ValueType指定无类型参数Value的类型 参考 例子 ///////Begin FloatToTextFmt procedure TForm1.Button1Click(Sender: TObject); var vBuffer: array[0..255] of Char; E: Extended; begin E := StrToFloatDef(Edit1.Text, 0); SpinEdit1.Value := FloatToTextFmt(vBuffer, E, fvExtended, PChar(Edit2.Text)); Edit3.Text := Copy(vBuffer, 1, SpinEdit1.Value); end; ///////End FloatToTextFmt ━━━━━━━━━━━━━━━━━━━━━ 首部 function StrToFloat(const S: string): Extended; $[SysUtils.pas 功能 返回字符串S转换成浮点数 说明 字符串非浮点数表达时将引起异常 参考 function SysUtils.TextToFloat 例子 var E: Extended; begin E := StrToFloat(Edit1.Text); end; ━━━━━━━━━━━━━━━━━━━━━ 首部 function StrToFloatDef(const S: string; const Default: Extended): Extended; $[SysUtils.pas 功能 返回字符串S转换成浮点数 说明 字符串非浮点数表达时则返回默认值Default 参考 function SysUtils.TextToFloat 例子 var E: Extended; begin E := StrToFloatDef(Edit1.Text, 0); end; ━━━━━━━━━━━━━━━━━━━━━ 首部 function TryStrToFloat(const S: string; out Value: Extended): Boolean; overload; $[SysUtils.pas 首部 function TryStrToFloat(const S: string; out Value: Single): Boolean; overload; $[SysUtils.pas 首部 function TryStrToFloat(const S: string; out Value: Double): Boolean; overload; $[SysUtils.pas 功能 返回字符串S转换成浮点数Value是否成功 说明 字符串非浮点数表达时返回False并且Value将输出为不确定的值 参考 function SysUtils.TextToFloat 例子 ///////Begin TryStrToFloat procedure TForm1.Button1Click(Sender: TObject); var E: Extended; begin CheckBox1.Checked := TryStrToFloat(Edit1.Text, E); Edit2.Text := FormatFloat('', E); end; ///////End TryStrToFloat ━━━━━━━━━━━━━━━━━━━━━ 首部 function StrToCurr(const S: string): Currency; $[SysUtils.pas 功能 返回字符串S转换成货币数 说明 字符串非货币数表达时将引起异常 参考 function SysUtils.TextToFloat 例子 var C: Currency; begin C := StrToCurr(Edit1.Text); end; ━━━━━━━━━━━━━━━━━━━━━ 首部 function StrToCurrDef(const S: string; const Default: Currency): Currency; $[SysUtils.pas 功能 返回字符串S转换成货币数 说明 字符串非货币数表达时则返回默认值Default 参考 function SysUtils.TextToFloat 例子 var C: Currency; begin C := StrToCurrDef(Edit1.Text, 0); end; ━━━━━━━━━━━━━━━━━━━━━ 首部 function TryStrToCurr(const S: string; out Value: Currency): Boolean; $[SysUtils.pas 功能 返回字符串S转换成货币数Value是否成功 说明 字符串非货币数表达时返回False并且Value将输出为不确定的值 参考 function SysUtils.TextToFloat 例子 ///////Begin TryStrToCurr procedure TForm1.Button1Click(Sender: TObject); var C: Currency; begin CheckBox1.Checked := TryStrToCurr(Edit1.Text, C); Edit2.Text := FormatCurr('', C); end; ///////End TryStrToCurr ━━━━━━━━━━━━━━━━━━━━━ 首部 function TextToFloat(Buffer: PChar; var Value; ValueType: TFloatValue): Boolean; $[SysUtils.pas 功能 返回将指针字符串Buffer转换成无类型变量Value 说明 ValueType指定无类型参数Value的类型 参考 例子 ///////Begin TextToFloat procedure TForm1.Button1Click(Sender: TObject); var E: Extended; begin CheckBox1.Checked := TextToFloat(PChar(Edit1.Text), E, fvExtended); Edit2.Text := FormatFloat('', E); end; ///////End TextToFloat ━━━━━━━━━━━━━━━━━━━━━ 首部 procedure FloatToDecimal(var Result: TFloatRec; const Value; ValueType: TFloatValue; Precision, Decimals: Integer); $[SysUtils.pas 功能 将浮点数转换成浮点结构类型并返回到Result 说明 ValueType指定类型;Precision指定精度;Decimals指定小数 参考 type SysUtils.TFloatRec 例子 ━━━━━━━━━━━━━━━━━━━━━ 首部 function DateTimeToTimeStamp(DateTime: TDateTime): TTimeStamp; $[SysUtils.pas 功能 返回日期时间类型转换成时间结构类型 说明 参考 type SysUtils.TTimeStamp 例子 ━━━━━━━━━━━━━━━━━━━━━ 首部 function TimeStampToDateTime(const TimeStamp: TTimeStamp): TDateTime; $[SysUtils.pas 功能 返回时间结构类型转换成日期时间类型 说明 参考 type SysUtils.TTimeStamp 例子 ━━━━━━━━━━━━━━━━━━━━━ 首部 function MSecsToTimeStamp(MSecs: Comp): TTimeStamp; $[SysUtils.pas 功能 返回微妙转换成时间结构类型 说明 参考 type SysUtils.TTimeStamp 例子 ━━━━━━━━━━━━━━━━━━━━━ 首部 function TimeStampToMSecs(const TimeStamp: TTimeStamp): Comp; $[SysUtils.pas 功能 返回时间结构类型转换成微妙 说明 参考 type SysUtils.TTimeStamp 例子 ━━━━━━━━━━━━━━━━━━━━━ 首部 function EncodeDate(Year, Month, Day: Word): TDateTime; $[SysUtils.pas 功能 返回合并年、月、日得到的日期 说明 当出现非法组合时将触发异常 参考 function SysUtils.TryEncodeDate 例子 Edit1.Text := DateToStr(EncodeDate(SpinEdit1.Value, SpinEdit2.Value, SpinEdit3.Value)); ━━━━━━━━━━━━━━━━━━━━━ 首部 function EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime; $[SysUtils.pas 功能 返回合并时、分、秒、微秒得到的时间 说明 当出现非法组合时将触发异常 参考 function SysUtils.TryEncodeTime 例子 Edit1.Text := TimeToStr(EncodeTime(SpinEdit1.Value, SpinEdit2.Value, SpinEdit3.Value, SpinEdit4.Value)); ━━━━━━━━━━━━━━━━━━━━━ 首部 function TryEncodeDate(Year, Month, Day: Word; out Date: TDateTime): Boolean; $[SysUtils.pas 功能 返回合并年、月、日得到的日期是否成功 说明 当出现非法组合时将返回False并且Date输出为0 参考 function SysUtils.IsLeapYear 例子 ///////Begin TryEncodeDate procedure TForm1.Button1Click(Sender: TObject); var vDate: TDate; begin CheckBox1.Checked := TryEncodeDate(SpinEdit1.Value, SpinEdit2.Value, SpinEdit3.Value, TDateTime(vDate)); Edit1.Text := DateToStr(vDate); end; ///////End TryEncodeDate ━━━━━━━━━━━━━━━━━━━━━ 首部 function TryEncodeTime(Hour, Min, Sec, MSec: Word; out Time: TDateTime): Boolean; $[SysUtils.pas 功能 返回合并时、分、秒、微秒得到的时间是否成功 说明 当出现非法组合时将返回False并且Time输出为0 参考 const SysUtils.MSecsPerDay 例子 ///////Begin TryEncodeTime procedure TForm1.Button1Click(Sender: TObject); var vTime: TTime; begin CheckBox1.Checked := TryEncodeTime(SpinEdit1.Value, SpinEdit2.Value, SpinEdit3.Value, SpinEdit3.Value, TDateTime(vTime)); Edit1.Text := TimeToStr(vTime); end; ///////End TryEncodeTime ━━━━━━━━━━━━━━━━━━━━━ 首部 procedure DecodeDate(const DateTime: TDateTime; var Year, Month, Day: Word); $[SysUtils.pas 功能 分解日期为年、月、日 说明 参考 function SysUtils.DecodeDateFully 例子 ///////Begin DecodeDate procedure TForm1.Button1Click(Sender: TObject); var Year, Month, Day: Word; begin DecodeDate(Date, Year, Month, Day); SpinEdit1.Value := Year; SpinEdit2.Value := Month; SpinEdit3.Value := Day; end; ///////End DecodeDate ━━━━━━━━━━━━━━━━━━━━━ 首部 function DecodeDateFully(const DateTime: TDateTime; var Year, Month, Day, DOW: Word): Boolean; $[SysUtils.pas 功能 分解日期为年、月、日、星期 说明 [DOW:Day Of Week] 参考 function SysUtils.DateTimeToTimeStamp 例子 ///////Begin DecodeDateFully procedure TForm1.Button1Click(Sender: TObject); var Year, Month, Day, DOW: Word; begin DecodeDateFully(Date, Year, Month, Day, DOW); SpinEdit1.Value := Year; SpinEdit2.Value := Month; SpinEdit3.Value := Day; SpinEdit4.Value := DOW; end; ///////End DecodeDateFully ━━━━━━━━━━━━━━━━━━━━━ 首部 function InternalDecodeDate(const DateTime: TDateTime; var Year, Month, Day, DOW: Word): Boolean; $[SysUtils.pas 功能 说明 Kylix函数 参考 function SysUtils.DecodeDateFully 例子 ━━━━━━━━━━━━━━━━━━━━━ 首部 procedure DecodeTime(const DateTime: TDateTime; var Hour, Min, Sec, MSec: Word); $[SysUtils.pas 功能 分解时间为时、分、秒、微妙 说明 参考 function SysUtils.DateTimeToTimeStamp 例子 ///////Begin DecodeTime procedure TForm1.Button1Click(Sender: TObject); var Hour, Min, Sec, MSec: Word; begin DecodeTime(Time, Hour, Min, Sec, MSec); SpinEdit1.Value := Hour; SpinEdit2.Value := Min; SpinEdit3.Value := Sec; SpinEdit4.Value := MSec; end; ///////End DecodeTime ━━━━━━━━━━━━━━━━━━━━━ 首部 procedure DateTimeToSystemTime(const DateTime: TDateTime; var SystemTime: TSystemTime); $[SysUtils.pas 功能 返回日期时间类型转换成系统时间类型 说明 参考 function SysUtils.DecodeDateFully;function SysUtils.DecodeTime 例子 ━━━━━━━━━━━━━━━━━━━━━ 首部 function SystemTimeToDateTime(const SystemTime: TSystemTime): TDateTime; $[SysUtils.pas 功能 返回系统时间类型转换成日期时间类型 说明 参考 function SysUtils.EncodeDate;function SysUtils.EncodeTime 例子 ━━━━━━━━━━━━━━━━━━━━━ 首部 function DayOfWeek(const DateTime: TDateTime): Word; $[SysUtils.pas 功能 返回日期时间DateTime所在的星期 说明 1(星期天),2(星期一),3(星期二),4(星期三),5(星期四),6(星期五),7(星期六) 参考 function SysUtils.DateTimeToTimeStamp 例子 ///////Begin DayOfWeek procedure TForm1.Button1Click(Sender: TObject); const cWeekCn: array[1..7] of string = ('星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'); begin Edit1.Text := cWeekCn[DayOfWeek(Now)]; end; ///////End DayOfWeek ━━━━━━━━━━━━━━━━━━━━━ 首部 function Date: TDateTime; $[SysUtils.pas 功能 返回当前日期 说明 Date - Int(Date)=0; 参考 function SysUtils.DateTimeToString 例子 Edit1.Text := DateToStr(Date); ━━━━━━━━━━━━━━━━━━━━━ 首部 function Time: TDateTime; $[SysUtils.pas 功能 返回当前时间 说明 Time - Frac(Time)=0; 参考 function Windows.GetLocalTime;function SysUtils.EncodeTime 例子 Edit1.Text := TimeToStr(Time); ━━━━━━━━━━━━━━━━━━━━━ 首部 function Now: TDateTime; $[SysUtils.pas 功能 返回当前日期时间 说明 Date + Time=Now 参考 function Windows.GetLocalTime;function SysUtils.EncodeDate;function SysUtils.EncodeTime 例子 Edit1.Text := DateTimeToStr(Now); ━━━━━━━━━━━━━━━━━━━━━ 首部 function CurrentYear: Word; $[SysUtils.pas 功能 返回当前年份 说明 参考 function Windows.GetLocalTime 例子 SpinEdit1.Value := CurrentYear; ━━━━━━━━━━━━━━━━━━━━━ 首部 function IncMonth(const DateTime: TDateTime; NumberOfMonths: Integer = 1): TDateTime; $[SysUtils.pas 功能 返回增加月份给日期 说明 NumberOfMonths为负数时则减月份 参考 procedure SysUtils.DecodeDate;procedure SysUtils.IncAMonth;function SysUtils.EncodeDate;procedure SysUtils.ReplaceTime 例子 DateTimePicker1.Date := IncMonth(Date, SpinEdit1.Value); ━━━━━━━━━━━━━━━━━━━━━ 首部 procedure IncAMonth(var Year, Month, Day: Word; NumberOfMonths: Integer = 1); $[SysUtils.pas 功能 返回增加月份给年月日 说明 NumberOfMonths为负数时则减月份 参考 procedure System.Inc 例子 ///////Begin IncAMonth procedure TForm1.Button1Click(Sender: TObject); var vYear, vMonth, vDay: Word; begin DecodeDate(Date, vYear, vMonth, vDay); IncAMonth(vYear, vMonth, vDay, SpinEdit1.Value); DateTimePicker1.Date := EncodeDate(vYear, vMonth, vDay); end; ///////End IncAMonth ━━━━━━━━━━━━━━━━━━━━━ 首部 procedure ReplaceTime(var DateTime: TDateTime; const NewTime: TDateTime); $[SysUtils.pas 功能 用时间NewTime替换日期时间DateTime的时间部分 说明 Int(DateTime) + Frac(NewTime) 参考 function System.Trunc;function System.Abs;function System.Frac 例子 ///////Begin ReplaceTime procedure TForm1.Button1Click(Sender: TObject); var vDateTime: TDateTime; begin vDateTime := Now; ReplaceTime(vDateTime, DateTimePicker1.Time); Edit1.Text := DateTimeToStr(vDateTime); end; ///////End ReplaceTime ━━━━━━━━━━━━━━━━━━━━━ 首部 procedure ReplaceDate(var DateTime: TDateTime; const NewDate: TDateTime); $[SysUtils.pas 功能 用日期NewDate替换日期时间DateTime的日期部分 说明 Int(NewTime) + Frac(DateTime) 参考 procedure SysUtils.ReplaceTime 例子 ///////Begin ReplaceDate procedure TForm1.Button1Click(Sender: TObject); var vDateTime: TDateTime; begin vDateTime := Now; ReplaceDate(vDateTime, DateTimePicker1.Date); Edit1.Text := DateTimeToStr(vDateTime); end; ///////End ReplaceDate ━━━━━━━━━━━━━━━━━━━━━ 首部 function IsLeapYear(Year: Word): Boolean; $[SysUtils.pas 功能 返回年份Year是否是闰年 说明 (Year mod 4 = 0) and ((Year mod 100 <> 0) or (Year mod 400 = 0)) 参考 例子 CheckBox1.Checked := IsLeapYear(SpinEdit1.Value); ━━━━━━━━━━━━━━━━━━━━━ 首部 function DateToStr(const DateTime: TDateTime): string; $[SysUtils.pas 功能 返回日期DateTime转换成字符串 说明 转换格式由系统变量ShortDateFormat控制 参考 function SysUtils.DateTimeToString;var SysUtils.ShortDateFormat 例子 Edit1.Text := DateToStr(Date); ━━━━━━━━━━━━━━━━━━━━━ 首部 function TimeToStr(const DateTime: TDateTime): string; $[SysUtils.pas 功能 返回时间DateTime转换成字符串 说明 转换格式由系统变量LongTimeFormat控制 参考 function SysUtils.DateTimeToString;var SysUtils.LongTimeFormat 例子 Edit1.Text := TimeToStr(Date); ━━━━━━━━━━━━━━━━━━━━━ 首部 function DateTimeToStr(const DateTime: TDateTime): string; $[SysUtils.pas 功能 返回日期时间DateTime转换成字符串 说明 转换格式由系统变量ShortDateFormat和LongTimeFormat控制 参考 function SysUtils.DateTimeToString 例子 Edit1.Text := DateTimeToStr(Now); ━━━━━━━━━━━━━━━━━━━━━ 首部 function StrToDate(const S: string): TDateTime; $[SysUtils.pas 功能 返回字符串S转换成日期 说明 字符非日期表达时将引起异常 参考 function SysUtils.TryStrToDate 例子 DateTimePicker1.Date := StrToDate(Edit1.Text); ━━━━━━━━━━━━━━━━━━━━━ 首部 function StrToDateDef(const S: string; const Default: TDateTime): TDateTime; $[SysUtils.pas 功能 返回字符串S转换成日期 说明 字符非日期表达时则返回默认值Default 参考 function SysUtils.TryStrToDate 例子 DateTimePicker1.Date := StrToDateDef(Edit1.Text, Date); ━━━━━━━━━━━━━━━━━━━━━ 首部 function TryStrToDate(const S: string; out Value: TDateTime): Boolean; $[SysUtils.pas 功能 返回字符串S转换成日期Value是否成功 说明 字符非日期表达时返回False并且Value将输出为0 参考 例子 ///////Begin TryStrToDate procedure TForm1.Button1Click(Sender: TObject); var vDateTime: TDateTime; begin CheckBox1.Checked := TryStrToDate(Edit1.Text, vDateTime); DateTimePicker1.Date := vDateTime; end; ///////End TryStrToDate ━━━━━━━━━━━━━━━━━━━━━ 首部 function StrToTime(const S: string): TDateTime; $[SysUtils.pas 功能 返回字符串S转换成时间 说明 字符非时间表达时将引起异常 参考 function SysUtils.TryStrToTime 例子 DateTimePicker1.Time := StrToTime(Edit1.Text); ━━━━━━━━━━━━━━━━━━━━━ 首部 function StrToTimeDef(const S: string; const Default: TDateTime): TDateTime; $[SysUtils.pas 功能 返回字符串S转换成时间 说明 字符非时间表达时则返回默认值Default 参考 function SysUtils.TryStrToTime 例子 DateTimePicker1.Time := StrToTimeDef(Edit1.Text, Time); ━━━━━━━━━━━━━━━━━━━━━ 首部 function TryStrToTime(const S: string; out Value: TDateTime): Boolean; $[SysUtils.pas 功能 返回字符串S转换成时间Value是否成功 说明 字符非时间表达时返回False并且Value将输出为0 参考 例子 ///////Begin TryStrToTime procedure TForm1.Button1Click(Sender: TObject); var vDateTime: TDateTime; begin CheckBox1.Checked := TryStrToTime(Edit1.Text, vDateTime); DateTimePicker1.Time := vDateTime; end; ///////End TryStrToTime ━━━━━━━━━━━━━━━━━━━━━ 首部 function StrToDateTime(const S: string): TDateTime; $[SysUtils.pas 功能 返回字符串S转换成日期时间 说明 字符非日期时间表达时将引起异常 参考 function SysUtils.TryStrToDateTime 例子 Edit1.Text := DateTimeToStr(StrToDateTime(Edit2.Text)); ━━━━━━━━━━━━━━━━━━━━━ 首部 function StrToDateTimeDef(const S: string; const Default: TDateTime): TDateTime; $[SysUtils.pas 功能 返回字符串S转换成日期时间 说明 字符非日期时间表达时则返回默认值Default 参考 function SysUtils.TryStrToDateTime 例子 Edit1.Text := DateTimeToStr(StrToDateTimeDef(Edit2.Text, Now)); ━━━━━━━━━━━━━━━━━━━━━ 首部 function TryStrToDateTime(const S: string; out Value: TDateTime): Boolean; $[SysUtils.pas 功能 返回字符串S转换成日期时间Value是否成功 说明 字符非日期时间表达时返回False并且Value将输出为0 参考 例子 ///////Begin TryStrToDateTime procedure TForm1.Button1Click(Sender: TObject); var vDateTime: TDateTime; begin CheckBox1.Checked := TryStrToDateTime(Edit1.Text, vDateTime); Edit2.Text := DateTimeToStr(vDateTime); end; ///////End TryStrToDateTime ━━━━━━━━━━━━━━━━━━━━━ 首部 function FormatDateTime(const Format: string; DateTime: TDateTime): string; $[SysUtils.pas 功能 返回用指定的格式Format来格式化日期时间DateTime 说明 FormatDateTime('YYYY"年"MM"月"DD"日"', StrToDate('2002-03-09')) = '2002年03月09日' 参考 function SysUtils.DateTimeToString 例子 Edit2.Text := FormatDateTime(Edit1.Text, Now); ━━━━━━━━━━━━━━━━━━━━━ 首部 procedure DateTimeToString(var Result: string; const Format: string; DateTime: TDateTime); $[SysUtils.pas 功能 用指定的格式Format来格式化日期时间DateTime并返回到字符串Result中 说明 <参见FormatDateTime> 参考 function System.SetString 例子 <参见FormatDateTime> ━━━━━━━━━━━━━━━━━━━━━ 首部 function FloatToDateTime(const Value: Extended): TDateTime; $[SysUtils.pas 功能 返回浮点数转换成日期时间类型 说明 如果浮点数超出范围将触发异常 参考 function System.Int 例子 Edit2.Text := DateTimeToStr(FloatToDateTime(StrToFloatDef(Edit1.Text, 0))); ━━━━━━━━━━━━━━━━━━━━━ 首部 function SysErrorMessage(ErrorCode: Integer): string; $[SysUtils.pas 功能 返回系统中错误代码所对应的信息 说明 此函可以有助于已习惯Windows编程的用户使用 参考 function Windows.FormatMessage;function System.SetString 例子 Edit1.Text := SysErrorMessage(SpinEdit1.Value); ━━━━━━━━━━━━━━━━━━━━━ 首部 function GetLocaleStr(Locale, LocaleType: Integer; const Default: string): string; platform; $[SysUtils.pas 功能 返回当前系统指定参数的字符串值 说明 GetLocaleStr(GetThreadLocale, LOCALE_SLANGUAGE, '') = '中文(中国)' 参考 function Windows.GetLocaleInfo 例子 Edit1.Text := GetLocaleStr(GetThreadLocale, SpinEdit1.Value, ''); ━━━━━━━━━━━━━━━━━━━━━ 首部 function GetLocaleChar(Locale, LocaleType: Integer; Default: Char): Char; platform; $[SysUtils.pas 功能 返回当前系统指定参数的字符值 说明 GetLocaleChar(GetThreadLocale, LOCALE_STHOUSAND, #0) = ',' 参考 function Windows.GetLocaleInfo 例子 Edit1.Text := GetLocaleChar(GetThreadLocale, LOCALE_SLANGUAGE, #0); ━━━━━━━━━━━━━━━━━━━━━ 首部 procedure GetFormatSettings; $[SysUtils.pas 功能 恢复系统参数设置 说明 日期时间格式等 参考 function Windows.GetThreadLocale;function Windows.GetLocaleStr 例子 ///////Begin GetFormatSettings procedure TForm1.Button1Click(Sender: TObject); begin ShortDateFormat := 'YYYY"年"MM"月"DD"日"'; ShowMessage(DateToStr(Date)); GetFormatSettings; ShowMessage(DateToStr(Date)); end; ///////End GetFormatSettings ━━━━━━━━━━━━━━━━━━━━━
|