home *** CD-ROM | disk | FTP | other *** search
/ Delphi 4 Bible / Delphi_4_Bible_Tom_Swan_IDG_Books_1998.iso / source / OBJLIST / MAIN.PAS < prev    next >
Pascal/Delphi Source File  |  1998-04-13  |  2KB  |  71 lines

  1. unit Main;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, Windows, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, StdCtrls, Buttons;
  8.  
  9. type
  10.   TMainForm = class(TForm)
  11.     CheckBox1: TCheckBox;
  12.     CheckBox2: TCheckBox;
  13.     CheckBox3: TCheckBox;
  14.     CheckBox4: TCheckBox;
  15.     CheckBox5: TCheckBox;
  16.     CheckBox6: TCheckBox;
  17.     OnOffButton: TButton;
  18.     BitBtn1: TBitBtn;
  19.     procedure FormCreate(Sender: TObject);
  20.     procedure FormDestroy(Sender: TObject);
  21.     procedure OnOffButtonClick(Sender: TObject);
  22.   private
  23.     { Private declarations }
  24.   public
  25.     { Public declarations }
  26.   end;
  27.  
  28. var
  29.   MainForm: TMainForm;
  30.  
  31. implementation
  32.  
  33. {$R *.DFM}
  34.  
  35. const
  36.   numCheckBoxes = 6;
  37.  
  38. type
  39.   PObjectArray = ^TObjectArray;
  40.   TObjectArray = array[0..65520 div SizeOf(TObject)] of TObject;
  41.  
  42. var
  43.   CheckBoxArray: PObjectArray;  { Pointer to array of CheckBoxes }
  44.  
  45. procedure TMainForm.FormCreate(Sender: TObject);
  46. begin
  47.   GetMem(CheckBoxArray, numCheckBoxes * SizeOf(TObject));
  48.   CheckBoxArray^[0] := CheckBox1;
  49.   CheckBoxArray^[1] := CheckBox2;
  50.   CheckBoxArray^[2] := CheckBox3;
  51.   CheckBoxArray^[3] := CheckBox4;
  52.   CheckBoxArray^[4] := CheckBox5;
  53.   CheckBoxArray^[5] := CheckBox6;
  54. end;
  55.  
  56. procedure TMainForm.FormDestroy(Sender: TObject);
  57. begin
  58.   FreeMem(CheckBoxArray, numCheckBoxes * SizeOf(TObject));
  59. end;
  60.  
  61. procedure TMainForm.OnOffButtonClick(Sender: TObject);
  62. var
  63.   I: Integer;
  64. begin
  65.   for I := 0 to numCheckBoxes - 1 do
  66.     with CheckBoxArray^[I] as TCheckBox do
  67.       Enabled := not Enabled;
  68. end;
  69.  
  70. end.
  71.