bsp;TForm1.Button1Click(Sender: TObject); var ATime: TDateTime; begin ATime := StrToTime(Edit1.Text); if ATime < 0.50 then ShowMessage(''''Good Morning'''') else ShowMessage(''''Good Afternoon''''); end; -------------------------------------------------------- Time 传回目前的时间. -------------------------------------------------------- Unit SysUtils 函数原型 function Time: TDateTime; 范例 procedure TForm1.Timer1Timer(Sender: TObject); var DateTime : TDateTime; str : string; begin DateTime := Time; // store the current date and time str := TimeToStr(DateTime); // convert the time into a string Caption := 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); 范例 type PListEntry = ^TListEntry; TListEntry = record Next: PListEntry; Text: string; Count: Integer; end; var List, P: PListEntry; begin ... New(P); P^.Next := List; P^.Text := ''''Hello world''''; P^.Count := 1; List := P; ... Dispose(P); … end; 范例 type Str18 = string[18]; var P: ^Str18; begin New(P); P^ := ''''Now you see it...''''; Dispose(P); { Now you don''''t... } end; -------------------------------------------------------- GetMem 配置指位器P的记忆体空间,大小可自行设定. -------------------------------------------------------- 范例 var F: file; Size: Integer; Buffer: PChar; begin AssignFile(F, ''''test.txt''''); Reset(F, 1); try Size := FileSize(F); GetMem(Buffer, Size); try BlockRead(F, Buffer^, Size); ProcessFile(Buffer, Size); finally FreeMem(Buffer); end; finally CloseFile(F); end; end; -------------------------------------------------------- FreeMem 释放GetMem所配置的记忆体. -------------------------------------------------------- Unit System 函数原型 procedure GetMem(var P: Pointer; Size: Integer); 函数原型 procedure FreeMem(var P: Pointer[; Size: Integer]); 范例 var F: file; Size: Integer; Buffer: PChar; begin AssignFile(F, ''''test.txt''''); Reset(F, 1); try Size := FileSize(F); GetMem(Buffer, Size); try BlockRead(F, Buffer^, Size); ProcessFile(Buffer, Size); finally FreeMem(Buffer); end; finally CloseFile(F); end; end;
==================================== File-management routines 档案管理常式 ==================================== -------------------------------------------------------- ChangeFileExt 变更档案的副档名 -------------------------------------------------------- Unit SysUtils 函数原型 function ChangeFileExt(const FileName, Extension: string): string; 范例 procedure TForm1.Button1Click(Sender: TObject); var S: String; P1:String; P2:String; begin P1:=''''abc.txt''''; P2:=''''.ini''''; S := ChangeFileExt(P1,P2); Label1.Caption:=S; end;
OpenDialog1.Filter := ''''icons (*.ico)|*.ICO''''; OpenDialog1.Options := [ofOverwritePrompt, ofFileMustExist, ofHideReadOnly ]; if OpenDialog1.Execute then begin Icon := TIcon.Create; try Icon.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); finally Icon.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); var S: String; begin S:=ExpandFileName(''''abc.txt''''); Label1.Caption:=S; end; 范例 procedure TForm1.Button1Click(Sender: TObject) begin ListBox1.Items.Add(ExpandFileName(Edit1.Text)); end;
------------------------------------------------------------------ DirectoryExists 目录是否存在------------------------------------------------------------------ Unit FileCtrl
uses FileCtrl;
procedure TForm1.Button1Click(Sender: TObject); begin if not DirectoryExists(''''c:\temp'''') then if not CreateDir(''''C:\temp'''') then raise Exception.Create(''''Cannot create c:\temp''''); end; ---------------------