main.pas

来自「《Kylix程序设计》一书中附带的例程源代码」· PAS 代码 · 共 107 行

PAS
107
字号
unit Main;interfaceuses  SysUtils, Types, Classes, Variants, QGraphics, QControls, QForms, QDialogs,  QStdCtrls;type  TAddressBook = record    Name: string;    Age: Byte;    BirthDay: record      Year: Integer;      Month: Byte;      Day: Byte;    end;    Tel: array [ 0 .. 2 ] of string;    Home: string;  end;  TFrmMain = class(TForm)    BtnShow: TButton;    Memo: TMemo;    procedure FormCreate(Sender: TObject);    procedure FormDestroy(Sender: TObject);    procedure BtnShowClick(Sender: TObject);  private    { Private declarations }    FAddressBook: array of TAddressBook;    procedure SetAddressBook();  public    { Public declarations }  end;var  FrmMain: TFrmMain;implementation{$R *.xfm}procedure TFrmMain.FormCreate(Sender: TObject);begin  SetLength( FAddressBook, 2 );  SetAddressBook();end;procedure TFrmMain.FormDestroy(Sender: TObject);begin  FAddressBook := nil;end;procedure TFrmMain.SetAddressBook;begin//  SetLength( FAddressBook, High( FAddressBook ) + 1 );  FAddressBook[0].Name := 'June';  FAddressBook[0].Age := 24;  FAddressBook[0].BirthDay.Year := 1977;  FAddressBook[0].BirthDay.Month := 6;  FAddressBook[0].BirthDay.Day := 1;  FAddressBook[0].Tel[0] := '010-12345678';  FAddressBook[0].Tel[1] := '13987654321';  FAddressBook[0].Tel[2] := '010-43218765';  FAddressBook[0].Home := 'Haidian District, Beijing, PR China';  FAddressBook[1].Name := 'July';  FAddressBook[1].Age := 29;  FAddressBook[1].BirthDay.Year := 1972;  FAddressBook[1].BirthDay.Month := 5;  FAddressBook[1].BirthDay.Day := 5;  FAddressBook[1].Tel[0] := '010-66778899';  FAddressBook[1].Tel[1] := '13012345678';  FAddressBook[1].Home := 'Haidian District, Beijing, PR China';end;procedure TFrmMain.BtnShowClick(Sender: TObject);var  i, j: Integer;  str: string;begin  for i := Low( FAddressBook ) to High( FAddressBook ) do  begin    str := FAddressBook[i].Name;    Memo.Lines.Add( str );    str := '  ' + IntToStr( FAddressBook[i].Age );    Memo.Lines.Add( str );    str := '  ' + IntToStr( FAddressBook[i].BirthDay.Year );    if FAddressBook[i].BirthDay.Month < 10 then      str := str + '0' + IntToStr( FAddressBook[i].BirthDay.Month )    else      str := str + IntToStr( FAddressBook[i].BirthDay.Month );    if FAddressBook[i].BirthDay.Day < 10 then      str := str + '0' + IntToStr( FAddressBook[i].BirthDay.Day )    else      str := str + IntToStr( FAddressBook[i].BirthDay.Day );    Memo.Lines.Add( str );    for j := 0 to 2 do    begin      if not( FAddressBook[i].Tel[i] = '' ) then        Memo.Lines.Add( FAddressBook[i].Tel[i] );    end;    Memo.Lines.Add( FAddressBook[i].Home );  end;end;end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?