AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Abi-Rechner

Offene Frage von "AlexanderBrade"
Ein Thema von AlexanderBrade · begonnen am 15. Dez 2008 · letzter Beitrag vom 22. Dez 2008
Antwort Antwort
Seite 3 von 5     123 45   
Benutzerbild von DeddyH
DeddyH

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

Re: Abi-Rechner

  Alt 21. Dez 2008, 16:21
Dann machst Du irgend etwas falsch, ich habe sie auch "frei Hand" in meinen Source geschrieben. Zur Not häng mal Deine Unit an, ich komplettiere sie dann.
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
AlexanderBrade

Registriert seit: 14. Dez 2008
189 Beiträge
 
Delphi 2005 Personal
 
#22

Re: Abi-Rechner

  Alt 21. Dez 2008, 16:23
Alles klar!
siehe Anhang...
Delphi-Quellcode:
unit Unit2;

interface

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

type
  TForm2 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    CheckBox5: TCheckBox;
    CheckBox6: TCheckBox;
    procedure RefreshCbCount(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);


   
  private
    { Private-Deklarationen }
    FCntCBs: Cardinal;
  public
    { Public-Deklarationen }
  end;


  const cb1 = 1;
        cb2 = 2;
        cb3 = 3;
        cb4 = 4;
        cb5 = 5;
        cb6 = 6;
var
  Form2: TForm2;
  iMenge: set of Byte;

implementation

uses Unit3, Unit1;

{$R *.dfm}
 { Tform12 }




 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;




procedure TForm2.Button2Click(Sender: TObject);
begin
form2.Visible:=false;
form1.visible:=true;
end;

procedure TForm2.Button4Click(Sender: TObject);
begin
form3.Visible:=true;
end;



procedure TForm2.Button3Click(Sender: TObject);
begin
iMenge:= [];
 if checkbox1.Checked then
    include(iMenge, cb1);
 if checkbox2.Checked then
    include(iMenge, cb2);
 if checkbox3.Checked then
    include(iMenge, cb3);
 if checkbox4.Checked then
    include(iMenge, cb4);
 if checkbox5.Checked then
    include(iMenge, cb5);
 if checkbox6.Checked then
    include(iMenge, cb6);

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

if (cb1) and (cb2) and (cb3) in iMenge then showmessage('Naturwissenschaft'); //Abfragen der Menge
if (cb4) and (cb5) and (cb6) in iMenge then showmessage('Sprache');
{if cb1 and cb2 and cb4   then form4.label2.caption:=  }



end;

end.
Angehängte Dateien
Dateityp: pas unit2_178.pas (2,2 KB, 1x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Abi-Rechner

  Alt 21. Dez 2008, 16:28
Ich seh schon, was fehlt. Schreib mal in der Typdeklaration des Formulars folgene Zeile vor das "private":
procedure RefreshCBCount(Sender: TObject); Btw: Auch wenn das kompiliert wird, glaube ich, dass Du bei
Zitat:
if (cb1) and (cb2) and (cb3) in iMenge then showmessage('Naturwissenschaft');
falsche Ergebnisse bekommst.
Schreib das lieber mal so um:if (cb1 in iMenge) and (cb2 in iMenge) and (cb3 in iMenge) then showmessage('Naturwissenschaft');
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
AlexanderBrade

Registriert seit: 14. Dez 2008
189 Beiträge
 
Delphi 2005 Personal
 
#24

Re: Abi-Rechner

  Alt 21. Dez 2008, 16:33
Nein, das hat nicht gefhlt, hab es nur wo anders hingeschrieben...
Aber trotzdem kann es nicht kompiliert werden, bleibt immer bei der Prozedur hängen:
Delphi-Quellcode:
procedure TForm1.RefreshCBCount(Sender: TObject);
begin
{usw}
Im Übrigen danke für den anderen Tipp!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Abi-Rechner

  Alt 21. Dez 2008, 16:39
Das muss ja auch TForm2 heißen.

[edit] Was mir gerade auffällt: Deine Logik scheint etwas merkwürdig zu sein. Wieso müssen die Checkboxen 1 bis 3 alle aktiv sein, um als Naturwissenschaft zu gelten? Das Gleiche mit den anderen Checkboxen [/edit]
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
AlexanderBrade

Registriert seit: 14. Dez 2008
189 Beiträge
 
Delphi 2005 Personal
 
#26

Re: Abi-Rechner

  Alt 21. Dez 2008, 17:15
Ja da hast du Recht, werde ich gleich korrigieren...
Noch mal ne andere Frage[klappt jetzt]:
Wie kann ich die Captions von Panels während des Programmablaufs ändern?
form5.Panel5.caption:='EN' Das klappt nicht!!!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Abi-Rechner

  Alt 21. Dez 2008, 17:30
Was heißt "klappt nicht"? Compilerfehler oder Laufzeitfehler? Syntaktisch ist Dein Code in Ordnung.
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
AlexanderBrade

Registriert seit: 14. Dez 2008
189 Beiträge
 
Delphi 2005 Personal
 
#28

Re: Abi-Rechner

  Alt 21. Dez 2008, 17:34
ALso kleine Korrektur den vorher gegebenen Code kompiliert er, wenn ich aber so etwas schreibe:
if (cb1 in iMenge) and (cb2 in iMenge) and (cb4 in iMenge) then (form5.Panel5.caption:='EN') and (form2.panel1.caption:='1'); heißt es "Poerator ist auf diesen Operandentyp nicht anwendbar.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Abi-Rechner

  Alt 21. Dez 2008, 17:38
So geht das ja auch nicht. Versuch es mal so (ein Grundlagentutorial zu lesen wäre vielleicht auch eine gute Idee):
Delphi-Quellcode:
if (cb1 in iMenge) and (cb2 in iMenge) and (cb4 in iMenge) then
  begin
    form5.Panel5.caption:='EN';
    form2.panel1.caption:='1';
  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
AlexanderBrade

Registriert seit: 14. Dez 2008
189 Beiträge
 
Delphi 2005 Personal
 
#30

Re: Abi-Rechner

  Alt 21. Dez 2008, 17:47
und warum schriebt er bei folgendem inkompatible Typen?
if (cb1 in iMenge) and (cb2 in iMenge) and (cb4 in iMenge) then begin form5.Panel5.caption:='EN'; form5.panel6.caption:='FRZ'; form5.Panel7:='PHY'; end; Sorry mein Fehler "caption" fehlt.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:40 Uhr.
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