Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Count Checkbox? (https://www.delphipraxis.net/85156-count-checkbox.html)

marabu 27. Jan 2007 19:22

Re: Count Checkbox?
 
Hallo,

die markierten RadioButtons einer Gruppe musst du nicht zählen - es kann maximal einer markiert (Checked) sein. Das war meine Botschaft an dich in den Klammern.

Freundliche Grüße

Kingpin000 23. Mär 2008 10:07

Re: Count Checkbox?
 
ich hätt dazu noch eine frage, wie stellt man es an, wenn man rückwärts zählen will?

mkinzler 23. Mär 2008 10:08

Re: Count Checkbox?
 
Delphi-Quellcode:
for I := 6 downto 1 do

Kingpin000 23. Mär 2008 10:22

Re: Count Checkbox?
 
ich meinte im zusammenhang mit den checkboxen!

mkinzler 23. Mär 2008 10:31

Re: Count Checkbox?
 
Inwiefern?

DeddyH 23. Mär 2008 10:31

Re: Count Checkbox?
 
Du willst Checkboxen rückwärts zählen? :wiejetzt:

Kingpin000 23. Mär 2008 17:22

Re: Count Checkbox?
 
nee, ich will die zahl der anwählbaren boxen beschränken.

DeddyH 23. Mär 2008 19:17

Re: Count Checkbox?
 
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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:29 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz