Delphi-PRAXiS
Seite 2 von 5     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   if...then...else (https://www.delphipraxis.net/69938-if-then-else.html)

Flare 22. Mai 2006 16:53

Re: if...then...else
 
Also um mal direkt den Fehler anzusprechen, du darfst nicht
Delphi-Quellcode:
if (TForm1.Label5 = ' ') then
schreiben, sondern du muss Form1 ansprechen, nicht TForm1! Wobei ich das einfach weglassen würde... :zwinker:


Flare

markusj 22. Mai 2006 16:54

Re: if...then...else
 
Das sollte aber alles nicht funktionieren!
Du musst grundsätzlich zwischen den beiden Eingabelabels unterscheiden.
Dann brauchst du einen Umschalter, der gesetzt wird, damit in das nächste Label geschreiben wird ...
Und mit deinem Code werden nur Strings verkettet, sprich wenn du auf den Button 9 drückst und vorher stand da '11', dann wird daraus nicht '20' sondern 119!
Alternativ emulierst du Tastatureingaben ... was ich aber an deiner Stelle lassen würde ;)

mfG

Markus

jfheins 22. Mai 2006 16:56

Re: if...then...else
 
Zitat:

Und mit deinem Code werden nur Strings verkettet, sprich wenn du auf den Button 9 drückst und vorher stand da '11', dann wird daraus nicht '20' sondern 119!
Dass sollte aber gewünscht sein - wenn du im Taschenrechner 1 und danach 2 drückst sollte ja auch 12 erscheinen und nicht 3 ;)

Jarie 22. Mai 2006 17:00

Re: if...then...else
 
Jetzt bin ich verwirrt Leute! ^^
Ja, das mit den Zeichenketten ist richtig, noch sollen die Zahlen nicht addiert werden, das kommt später- und das kann cih auch (muss ja auch was können ^^).
Das mit dem Current- Zeug peil ich erstmal gar nicht und das mit Form1. Label5 ist mri mittlerweile auch aufgefallen.
So, jetzt streicht er jedenfalls das hier an:

Delphi-Quellcode:
begin
if (Form1.Label5= ' ') then
begin
Label5.Caption:= '*blubb*';
end
else
begin
Label5.Caption:= ' ';
end;
end;
Also die zweite Klammer vor dem then. Würd mich interessieren, was er jetzt hat (das ganze mit dem Blubb etc. kommt nachher weg, war nur zur Veranschaulichung ^^.

Klaus01 22. Mai 2006 17:02

Re: if...then...else
 
Delphi-Quellcode:
begin
  if (Form1.Label5.caption = ' ') then // <--- caption fehlt
    begin
      Label5.Caption:= '*blubb*';
    end
  else
    begin
      Label5.Caption:= ' ';
   end;
end;

markusj 22. Mai 2006 17:04

Re: if...then...else
 
1. Welche Meldung bringt er?
2. DELPHI-TAG!!! Ist Als Delphi-Code beschriftet! (siehe Oben)

leddl 22. Mai 2006 17:05

Re: if...then...else
 
Zitat:

Zitat von Jarie
Delphi-Quellcode:
//[..]
if (Form1.Label5= ' ') then
//[..]
Also die zweite Klammer vor dem then. Würd mich interessieren, was er jetzt hat (das ganze mit dem Blubb etc. kommt nachher weg, war nur zur Veranschaulichung ^^.

Ein TLabel mit einem String zu vergleichen ist fast schlimmer als ein Äpfel-Birnen-Vergleich ;) Da fehlt ein ".Caption". Dazu kommt noch, daß du momentan auf ein Leerzeichen überprüfst. Willst du nicht evtl. wissen, ob das Label leer ist? Dann wäre '' richtig.

PS: Bitte, bitte bitte setz doch endlich die Delphi-Tags bei deinem Quellcode...

jfheins 22. Mai 2006 17:06

Re: if...then...else
 
Also, nochmal in Ausführlich:

- Du machst eine globale Variable vom Typ TLabel
Delphi-Quellcode:
var
Form1: TForm1;
CurrentLabel: TLabel;
Dann ersetzt du in den gazen Prozeduren Label1 durch CurrentLabel also z.B.:
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
begin
CurrentLabel.Caption:= CurrentLabel.Caption + '4';
end;
Dann musst du in OnFormCreate (Im Designer auf die Form doppelklicken) noch ein
Delphi-Quellcode:
CurrentLabel := Label1;
machen.

In den Knöpfen für Plus, Minus usw. machst du jetzt ein
Delphi-Quellcode:
CurrentLabel := Label5; // Oder was halt dein zweites Label ist
Und fertig ;)

Jarie 22. Mai 2006 17:11

Re: if...then...else
 
Dankööö, hab tatsächlich die Caption vergessen ^^.

Jetzt steht das also alles so (schwere Geburt xD):

Delphi-Quellcode:
begin
if (Form1.Label5.Caption= ' ') then
begin
Form1.Label5.Caption:= '*blubb*';
end
else
begin
Form1.Label5.Caption:= ' ';
end;
end

procedure blabla
Jetzt akzeptiert der die Procedure nit ;). Blödes Computerchen ^^.

P.S.:
Ich find die Tags nit xD.

jfheins 22. Mai 2006 17:12

Re: if...then...else
 
Delphi-Quellcode:
begin
  if (Form1.Label5.Caption= ' ') then
  begin
    Form1.Label5.Caption:= '*blubb*';
  end
  else
  begin
    Form1.Label5.Caption:= ' ';
  end;
end; // <<< Semikolon fehlte

procedure blabla
Und bitte benutze endlich mal Delphi-Tags ;)

Code markieren und oben beim Beitragsschreiben auf "Delphi-Code" klicken oder

[delphi]<Code>[/delphi] schreiben


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

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