Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - íf- then-else klappt nicht


Dreas - Di 07.10.03 11:03
Titel: íf- then-else klappt nicht
Hallo,

ich bin blutiger Delphi-Anfänger, deshalb weiss ich auch nicht ,ob ich in dieser Sektion richtig bin. Aber ich frag einfach mal.

Ich hab mir ein kleines Programm zusammen gebastelt, das Celsius in Fahrenheit umrechnet. Allerdings soll bei über 200 Grad Fahrenheit kein Ergebnis, sondern eine Meldung erscheinen. Beides soll in einem edit-Fenster angezeigt werden. Nur mit jeweils anderer Schriftgröße und -Farbe. Ohne die Änderung bezüglich der Schrift klappt aber alles.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
begin
c:=strtofloat(edit1.Text);
z:=32+C*9/5;
if z>=200 then
begin
edit2.AutoSize:=false;
edit2.Font.Size:=10;
edit2.Font.Color:=clred;
edit2.text:=('Wert nicht zulässig');
end
else
edit2.AutoSize:=false;
edit2.font.size:=14;
edit2.Font.color:=clwindowtext;
edit2.text:=floattostr(z);
end;


Was mache ich falsch?
Wenn ich das so mache, wird auch gar nicht mehr der "Wert nicht zulässig"-Text angezeigt.

Moderiert von user profile iconKlabautermann: Code/Delphi-Tag Mischmasch in Delphi-Tag geändert. Topic verschoben.


Delete - Di 07.10.03 11:18
Titel: Re: íf- then-else klappt nicht
Dreas hat folgendes geschrieben:
ich bin blutiger Delphi-Anfänger,

Was ist das eigentlich? Eine Seuche? Warum sind alle Anfänger immer blutig? :roll:

Zitat:
deshalb weiss ich auch nicht ,ob ich in dieser Sektion richtig bin.

Nein.


Bringen wir mal ein bisschen Ordnung in deinen Code rein:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
c:=strtofloat(edit1.Text);
z:=32+C*9/5;
if z>=200 then
begin
  edit2.AutoSize:=false;
  edit2.Font.Size:=10;
  edit2.Font.Color:=clred;
  edit2.text:=('Wert nicht zulässig');
end else
  edit2.AutoSize:=false;

  edit2.font.size:=14;
  edit2.Font.color:=clwindowtext;
  edit2.text:=floattostr(z);

end;

Siehst du auch, was ich sehe?


Keldorn - Di 07.10.03 11:21


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
begin 
c:=strtofloat(edit1.Text); 
z:=32+C*9/5
if z>=200 then 
  begin 
    edit2.AutoSize:=false; 
    edit2.Font.Size:=10
    edit2.Font.Color:=clred; 
    edit2.text:=('Wert nicht zulässig'); 
  end 
else 
  begin  -<<<<<< fehlt
    edit2.AutoSize:=false; 
    edit2.font.size:=14
    edit2.Font.color:=clwindowtext; 
    edit2.text:=floattostr(z); 
  end;

da fehlt ein begin .

in deiner zusammenstellung würde

Delphi-Quelltext
1:
2:
3:
    edit2.font.size:=14
    edit2.Font.color:=clwindowtext; 
    edit2.text:=floattostr(z);

immer angezeigt werden

edit: ach manno, zu langsam :)


Christian S. - Di 07.10.03 13:27

Hallo!

Auch wenn das Problem bereits gelöst ist, könnte Dir dieses [http://www.delphi-forum.de/viewtopic.php?t=2971] Tutorial durchaus noch nützlich sein.

MfG
Peter


Dreas - Di 07.10.03 15:08

Vielen Dank Leute,

das hat prima geklappt. Ich hab auch schon viel gelernt heute und fast alles hinbekommen, was ich mir im Bezug auf mein Progrämmchen vorgestellt hab.
Eine Sache ist mir aber noch rätselhaft.
Ich möchte ein kleines Bild einfügen und das sollte sich, wenn die Maus drüber ist, ändern. Ebenso wenn man mit der Maus auf das Bild klickt. Beim klick soll dann eine Internetadresse mit dem Standardbrowser geöffnet werden.
Ein Bild (bmp) hab ich schon eingefügt mit Hilfe von timage.
Wie füge ich die anderen beiden Bilder hinzu und richte alles mit onmousemove und onclick wie gewünscht ein?
Das Verlinken habe ich bereits mit shellexecute gelöst. Fehlt nur noch die richtige visuelle Unterstützung durch den Bilderwechwel dazu.
Hab schon hier und anderweitig nach ner Lösung gesucht, aber geholfen hats leider nicht.

p.s: ich blute nich mehr :lol:


Keldorn - Di 07.10.03 15:10

Dreas hat folgendes geschrieben:

Ich möchte ein kleines Bild einfügen und das sollte sich, wenn die Maus drüber ist, ändern. Ebenso wenn man mit der Maus auf das Bild klickt. Beim klick soll dann eine Internetadresse mit dem Standardbrowser geöffnet werden.
Ein Bild (bmp) hab ich schon eingefügt mit Hilfe von timage.
Wie füge ich die anderen beiden Bilder hinzu und richte alles mit onmousemove und onclick wie gewünscht ein?
Das Verlinken habe ich bereits mit shellexecute gelöst. Fehlt nur noch die richtige visuelle Unterstützung durch den Bilderwechwel dazu.
Hab schon hier und anderweitig nach ner Lösung gesucht, aber geholfen hats leider nicht.


neue Frage, neuer thread