Autor Beitrag
chriss1988
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 389

windows xp prof,home,windows98
delphi5
BeitragVerfasst: Di 13.12.05 12:12 
hi

ich habe in mein programm eine fehlermeldung eingebaut nur die kommt dan wenn sie net kommen soll
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
 procedure TForm2.BitBtn1Click(Sender: TObject);
 begin

  Tauschgeld:=strtofloat(edit1.text);

 If radiobutton1.checked then
  Betrag:=Tauschgeld*Dollar;// hier bringt er mir fehlermeldung

 If radiobutton2.checked then
  Betrag:=Tauschgeld*Kronen;

 If radiobutton3.checked then //da bringt er mir keine fehlermeldung
  Betrag:=Tauschgeld/1000
  else

 begin
    if (not radioButton1.checked) and             //kein radiobutten gedrückt
       (not radioButton2.checked) and
       (not radioButton3.checked) then
       betrag:=0;
       panel1.caption:='Bitte Währung angeben';
       panel1.visible:=true;
       Timer1.Enabled:=true;

  END;

  edit2.text:=floattostrf(Betrag,fffixed,9,2);
 end;


eigendlich sollte er mir ne fehlermeldung bringen, wenn keiner meiner radiobutons angeklickt wurde.
nun bringt er mir wenn ich radiobutton1 oder 2 anklick trotzdem ne fehlermeldung.
nur bei radiobutton3 bringt er mir keine sondern nur das ergebniss und so sollte es auch sein.

kann mir jemand sagen was ich falsch gemacht hab.
azubi_20
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 593

WinXP SP2, Ubuntu 8.4
D7 Enterp., D2005 Prof., Java (Eclipse 3.4.0)
BeitragVerfasst: Di 13.12.05 12:29 
Die Prüfung, ob keine der radiobuttons gedrückt wurde ist im ELSE-Teil der Prüfung ob Nr3 gedrückt wurde. das musst du Ausgliedern, dann passt das.
So z.B. :

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
 procedure TForm2.BitBtn1Click(Sender: TObject);
 begin

  Tauschgeld:=strtofloat(edit1.text);

 If radiobutton1.checked then
  Betrag:=Tauschgeld*Dollar;
 If radiobutton2.checked then
  Betrag:=Tauschgeld*Kronen;
 If radiobutton3.checked then 
  Betrag:=Tauschgeld/1000;



    if (not radioButton1.checked) and             //kein radiobutten gedrückt
       (not radioButton2.checked) and
       (not radioButton3.checked) then
        begin
         betrag:=0;
         panel1.caption:='Bitte Währung angeben';
         panel1.visible:=true;
         Timer1.Enabled:=true;
         exit;
        end;


  edit2.text:=floattostrf(Betrag,fffixed,9,2);
 end;


Zuletzt bearbeitet von azubi_20 am Di 13.12.05 12:33, insgesamt 1-mal bearbeitet
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Di 13.12.05 12:31 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
 procedure TForm2.BitBtn1Click(Sender: TObject);
 begin

  Tauschgeld:=strtofloat(edit1.text);

 If radiobutton1.checked then
  Betrag:=Tauschgeld*Dollar;// hier bringt er mir fehlermeldung
 If radiobutton2.checked then
  Betrag:=Tauschgeld*Kronen;

 If radiobutton3.checked then //da bringt er mir keine fehlermeldung
  Betrag:=Tauschgeld/1000

 if (not radioButton1.checked) and             //kein radiobutten gedrückt
    (not radioButton2.checked) and
    (not radioButton3.checked) then
 begin
    betrag:=0;
    panel1.caption:='Bitte Währung angeben';
 end;
 panel1.visible:=true;
 Timer1.Enabled:=true;

  edit2.text:=floattostrf(Betrag,fffixed,9,2);
 end;

Das "else" bezog sich nur auf deinen Fall, wo es funktionierte. Probier mal den korrigierten Source von mir. Ist allerdings ungetestet.
chriss1988 Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 389

windows xp prof,home,windows98
delphi5
BeitragVerfasst: Di 13.12.05 12:35 
ne klapt net die schrift is zwa weg aber der panel blinkt noch
chriss1988 Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 389

windows xp prof,home,windows98
delphi5
BeitragVerfasst: Di 13.12.05 12:37 
es funktioniert ich musste es nur so machen

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
 begin  
    betrag:=0;
    panel1.caption:=('Bitte Währung angeben');
    panel1.visible:=true;
    Timer1.Enabled:=true;
    end;


also danke nochmals
azubi_20
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 593

WinXP SP2, Ubuntu 8.4
D7 Enterp., D2005 Prof., Java (Eclipse 3.4.0)
BeitragVerfasst: Di 13.12.05 12:38 
Das mit dem panel blinken muss halt wie die Meldung zwischen das Begin und End (guckst du mein Beispiel weiter oben).


EDIT : ich war zu langsam... :wink: