Delphi-PRAXiS
Seite 2 von 5     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Abi-Rechner (https://www.delphipraxis.net/125950-abi-rechner.html)

DeddyH 21. Dez 2008 13:06

Re: Abi-Rechner
 
Wozu musst Du wissen, wieviele Elemente Deine Menge enthält? Und was haut nicht hin? Genauere Infos wären schon hilfreich.

AlexanderBrade 21. Dez 2008 13:09

Re: Abi-Rechner
 
Es gibt ja die Möglichkeit alle 6 Boxen gleichzeiig anzuklicken, als erstes muss ich überprüfen, dass nicht mehr als 3 Boxen aktiviert sind[ich möche für 4, 5 bzw. 6 aktivierte eine nachricht ausgeben die zur Korrektr der Angabn zwingt]der Rest funktioniert dann.

DeddyH 21. Dez 2008 13:12

Re: Abi-Rechner
 
Zähl doch einfach in einer globalen Variablen bzw. einem privaten Feld mit, wieviele Checkboxen aktiviert sind.

AlexanderBrade 21. Dez 2008 13:15

Re: Abi-Rechner
 
und wie? es tut mir immer leid so elementare Fragen zu stellen...
Aber unser Lehrer , so hat man immer den EIndruck, weiß garnicht wo von er spricht...

DeddyH 21. Dez 2008 13:25

Re: Abi-Rechner
 
Eine Beispielunit mit 6 Checkboxen:
Delphi-Quellcode:
unit Unit12;

interface

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

type
  TForm1 = class(TForm)
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    CheckBox5: TCheckBox;
    CheckBox6: TCheckBox;
    procedure RefreshCBCount(Sender: TObject);
  private
    { Private-Deklarationen }
    FCntCBs: Cardinal;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm12 }

//Diese Methode wurde per Objektinspektor allen Checkboxen zugewiesen (OnClick)
procedure TForm1.RefreshCBCount(Sender: TObject);
begin
  if Sender is TCheckBox then
    begin
      if TCheckBox(Sender).Checked then
        inc(FCntCBs)
      else
        dec(FCntCBs);
      if FCntCBs > 3 then
        MessageBox(Handle,'Zuviele Checkboxen gewählt','Info',MB_OK or MB_ICONINFORMATION);
    end;
end;

end.

AlexanderBrade 21. Dez 2008 14:54

Re: Abi-Rechner
 
Wo muss ich diese Prozedur hinzufügen?
P.S. Soll ja beim Klick eines Buttons ducrhlaufen werden!

DeddyH 21. Dez 2008 14:58

Re: Abi-Rechner
 
Kopier sie einfach in Deinen Quellcode (den Interface- und den Implementation-Teil). Und die Prüfung der Anzahl kannst Du ja ausschneiden und in Dein ButtonClick einfügen.
Zitat:

Delphi-Quellcode:
if FCntCBs > 3 then
  MessageBox(Handle,'Zuviele Checkboxen gewählt','Info',MB_OK or MB_ICONINFORMATION);


AlexanderBrade 21. Dez 2008 15:07

Re: Abi-Rechner
 
Und wo kommt dann der Res deiner vorigen Prozedur hin(wenn ich nur die Abfrage der Anzahl einfüge hat er die Anzahl doch noch garnich gezählt), d.h. wie weise ich allen Checkboxen diese Methode per Objektinspektor zu?

DeddyH 21. Dez 2008 15:09

Re: Abi-Rechner
 
Markiere die Checkboxen in der IDE, wechsel im OI auf den Reiter "Ereignisse" und wähle OnClick diese Methode aus.

AlexanderBrade 21. Dez 2008 15:15

Re: Abi-Rechner
 
Wo schreibe ich jetzt die Prozedur hin?
Wenn ch sie einfach so im Quelltext al gliechwertige Prozedur einfüge werden verschiedene Betandteile der Prozedur rot unterstrichen und er kann nicht kompilieren!


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:37 Uhr.
Seite 2 von 5     12 34     Letzte »    

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