Thema: Delphi Count Checkbox?

Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.545 Beiträge
 
Delphi 11 Alexandria
 
#18

Re: Count Checkbox?

  Alt 23. Mär 2008, 19:17
Versuch mal dieses merkwürdige Konstrukt meinerseits:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TFrmMain = class(TForm)
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    CheckBox5: TCheckBox;
    CheckBox6: TCheckBox;
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
    FCheckCount: integer;
    FMyself: Boolean;
    procedure CheckCount(Sender: TObject);
  public
    { Public-Deklarationen }
  end;

var
  FrmMain: TFrmMain;

implementation

{$R *.dfm}

const MAX_BOXES = 3;

procedure TFrmMain.CheckCount(Sender: TObject);
begin
  if not ((Sender as TCheckBox).Checked or FMyself) then
    dec(FCheckCount)
  else
    begin
      if FCheckCount >= MAX_BOXES then
        begin
          FMyself := true;
          (Sender as TCheckBox).Checked := false;
          if not FMyself then
            ShowMessage('Maximale Anzahl erreicht');
        end
      else
        inc(FCheckCount);
    end;
  FMyself := false;
end;

procedure TFrmMain.FormCreate(Sender: TObject);
var i: integer;
begin
  FCheckCount := 0;
  FMyself := false;
  for i := 0 to ComponentCount - 1 do
    if Components[i] is TCheckBox then
      TCheckBox(Components[i]).OnClick := CheckCount;
end;

end.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat