DateForm.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:2k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit DateForm;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5.   StdCtrls, DateL;
  6. type
  7.   TForm1 = class(TForm)
  8.     ButtonAddDates: TButton;
  9.     ButtonAddButton: TButton;
  10.     ListBox1: TListBox;
  11.     ComboBox1: TComboBox;
  12.     procedure ButtonAddDatesClick(Sender: TObject);
  13.     procedure FormCreate(Sender: TObject);
  14.     procedure ButtonAddButtonClick(Sender: TObject);
  15.     procedure ComboBox1Change(Sender: TObject);
  16.     procedure FormDestroy(Sender: TObject);
  17.   private
  18.     ListI: TDateListI;
  19.     ListW: TDateListW;
  20.   public
  21.     procedure UpdateList;
  22.   end;
  23. var
  24.   Form1: TForm1;
  25. implementation
  26. {$R *.DFM}
  27. uses
  28.   Dates;
  29. procedure TForm1.ButtonAddDatesClick(Sender: TObject);
  30. var
  31.   I: Integer;
  32.   Date: TDate;
  33. begin
  34.   Randomize;
  35.   for I := 1 to 10 do
  36.   begin
  37.     Date := TDate.Create (1900 + Random (200),
  38.       1 + Random (12), 1 + Random (28));
  39.     ListI.Add (Date);
  40.   end;
  41.   for I := 1 to 10 do
  42.   begin
  43.     Date := TDate.Create (1900 + Random (200),
  44.       1 + Random (12), 1 + Random (28));
  45.     ListW.Add (Date);
  46.   end;
  47.   UpdateList;
  48. end;
  49. procedure TForm1.FormCreate(Sender: TObject);
  50. begin
  51.   ListI := TDateListI.Create;
  52.   ListW := TDateListW.Create;
  53.   ComboBox1.ItemIndex := 0;
  54. end;
  55. procedure TForm1.ButtonAddButtonClick(Sender: TObject);
  56. begin
  57.   ListW.Add (TDate(TButton.Create (nil)));
  58.   TList(ListI).Add (TButton.Create (nil));
  59.   UpdateList;
  60. end;
  61. procedure TForm1.UpdateList;
  62. var
  63.   I: Integer;
  64. begin
  65.   ListBox1.Clear;
  66.   try
  67.     if ComboBox1.ItemIndex = 0 then
  68.       for I := 0 to ListI.Count - 1 do
  69.         Listbox1.Items.Add (
  70.           ListI [I].GetText)
  71.     else
  72.       for I := 0 to ListW.Count - 1 do
  73.         Listbox1.Items.Add (
  74.           ListW [I].GetText);
  75.   except
  76.     on E: Exception do
  77.       Listbox1.Items.Add ('Error: ' +
  78.         E.Message);
  79.   end;
  80. end;
  81. procedure TForm1.ComboBox1Change(Sender: TObject);
  82. begin
  83.   UpdateList;
  84. end;
  85. procedure TForm1.FormDestroy(Sender: TObject);
  86. begin
  87.   // delete lists
  88.   ListW.Free;
  89.   ListI.Free;
  90. end;
  91. end.