AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

if...then...else

Ein Thema von Jarie · begonnen am 22. Mai 2006 · letzter Beitrag vom 23. Mai 2006
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
Benutzerbild von Jarie
Jarie

Registriert seit: 28. Feb 2006
Ort: Deutschland
17 Beiträge
 
Delphi 7 Professional
 
#1

if...then...else

  Alt 22. Mai 2006, 17:18
Ja, hallo Leute,
ich geb's ja zu, ich bin Delphi- Anfänger! (geoutet, yeah! )

So, jedenfalls versuche ich grad eine Art Taschenrechner aufzustellen und habe dafür ersteinmal die Taschenrechner- Oberfläche (Zahlen von 0-9, +, -, *, /, =) und oben noch zwei, drei Labels.
Wenn man nun auf eine der Zahlen drückt, erscheint diese im Label, drückt man auf + ist die wieder weg und es soll eine zweite Eingabe ins zweite Label gestattet werden. Das will ich mit einer if...then...else schaffen . Und zwar soll das so aussehen:
Delphi-Quellcode:
if Label1.Caption:= ' then
begin
// alle Prozeduren der Zahlen zur Eingabe ins erste Label;
end
else // also wenn was im Label1 steht
begin
//alle Prozeduren der Zahlen ins zweite Label;
end
end;
Tja, mein netter Com streicht schon oben das if an, egal was ich eintippe! Ob ich einfach nur "x<0" oder so eintippe, der streicht immer dat if an *grummel*...
Weiß einer vielleicht, was ich falsch mache? Ich mein, so blöd kann man sich ja nit anstellen, dass Com netmal'nen normalen Befehl akzeptiert xD.
A ja, für Nachfragen steh ich offen, falls noch irgendwas in den Hieroglyphen vergraben steht... ^^

Ach ja, danke schonmal vorher, auch wenn mir noch keiner geholfen hat ^^.
Ach- und bitte schnell antworten, schreib morgen'ne Arbeit XD.

[edit=Sharky]Noch schnell die Delphi-Tags gesetzt. Mfg, Sharky[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#2

Re: if...then...else

  Alt 22. Mai 2006, 17:20
Hai Jarie,

bei einem Vergleich musst Du ein "=" verwenden. Das ":=" ist eine Zuordnung.

Also
Delphi-Quellcode:
begin
  if (Label1.Caption = ' ') then
  begin
    Label1.Caption := '*blubb*';
  end;
end;
Stephan B.
  Mit Zitat antworten Zitat
Benutzerbild von Jarie
Jarie

Registriert seit: 28. Feb 2006
Ort: Deutschland
17 Beiträge
 
Delphi 7 Professional
 
#3

Re: if...then...else

  Alt 22. Mai 2006, 17:25
Lol, jetzt streicht der mein durchaus anwesendes Label1 an xD.
Aber danke schonmal, if ist jetzt für den okay ^^.

Ich glaub, bin zu doof für Delphi *heul* ^^.

Das steht jetzt also alles so da:
Delphi-Quellcode:
begin
if (Label5.Caption = ' ') then
begin
Label5.Caption:= '*blubb*;
end;
else
begin
Label5.Caption:=
' ';
end;
end
Nur mal als Beispiel meines Nichtkönnens xD.

[edit=Sharky]Bitte setze deinen Code immer in die Delphi-Tags. Einfach [*delphi] vor den Code und [*/delphi] dahinter. Nur ohne die *. Mfg, Sharky[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#4

Re: if...then...else

  Alt 22. Mai 2006, 17:35
Zeige mal die gesamte Methode. Also:
Delphi-Quellcode:
procedure xxxxxxxxx
begin
.
.
end;
Stephan B.
  Mit Zitat antworten Zitat
markusj

Registriert seit: 9. Dez 2005
Ort: Kandel
408 Beiträge
 
#5

Re: if...then...else

  Alt 22. Mai 2006, 17:35
Nach dem '*blubb fehlt ein '!
EDIT: und dem letzten End fehlt ein ;
Markus
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: if...then...else

  Alt 22. Mai 2006, 17:39
'Label1' existiert vermutlich, aber vielleicht nicht aus 'Sicht' der Prozedur/Funktion/Methode, in dem Du auf das Label zugreifst.
Label1 ist bestimmt auf einer Form drauf, also ist sie ohne weiteres Zutun auch nur innerhalb der Form 'sichtbar'. "Innerhalb" bezieht sich hier auf Methoden der Klasse 'TForm1'.

Um auf deinen linken Fuß einzugehen, reicht es nicht, nur 'Linker Fuß' zu schreiben. Also, wenn Du mit dir selbst sprichst, oder VON dir, dann ja. Es würde dann (übertragen auf Delphi) heißen 'Mein.LinkerFuß' oder genau besser: 'Selbst.LinkerFuß'. Auf englisch wäre das 'Self.LeftFoot'.

Wenn ich (also ein anderes Objekt, oder als anderer Kontext) auf deinen linken Fuß Bezug nehme, dann muss ich auf 'Jari.LinkerFuß' Bezug nehmen.

Zurück zu deinem Label1: Innerhalb einer Methode der Form, in der Label1 deklariert wurde, kannst du mit 'Self.Label1' oder einfach nur 'Label1' darauf zugreifen. Von außerhalb eben mit 'MeineForm.Label1' (wenn Label1 eben in MeineForm deklariert wurde).

PS: Wir waren -glaube ich- ALLE anfangs zu 'blöd'. Is wie mit dem Radfahren: Zuerst fällt man ständig auf die Schnauze und irgendwann fragt man sich, wie man jemals wackelig auf einem Fahrrad sein konnte.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von Jarie
Jarie

Registriert seit: 28. Feb 2006
Ort: Deutschland
17 Beiträge
 
Delphi 7 Professional
 
#7

Re: if...then...else

  Alt 22. Mai 2006, 17:44
Okay, ich fang nochmal an:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption:= Label1.Caption + '1';
end;

begin
procedure TForm1.Button2Click(Sender: TObject);
begin
Label1.Caption:= Label1.Caption + '2';
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Label1.Caption:= Label1.Caption + '3';
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
Label1.Caption:= Label1.Caption + '4';
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
Label1.Caption:= Label1.Caption + '5';
end;

procedure TForm1.Beenden1Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
Label1.Caption:= Label1.Caption + '6';
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
Label1.Caption:= Label1.Caption + '7';
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
Label1.Caption:= Label1.Caption + '8';
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
Label1.Caption:= Label1.Caption + '9';
end;

procedure TForm1.Button10Click(Sender: TObject);
begin
Label1.Caption:= Label1.Caption + '0';
end;
Das sind alle Eingaben meiner Zahlenbuttons von 0-9 für den Taschenrechner. Ich habe drei Labels. In Label1 kommt die erste Eingabe, wenn die voll geschrieben ist und man z.B. auf "+" drückt, sollen die nächsten Zahlen in das zweite Label eingefügt werden. Label1 und 2 werden beim Klick auf "=" (logisch) addiert etc. und ins 3. Label geschrieben (das schaff ich noch).
Nun will ich also, dass, wenn Label1 leer ist, alle Zahlen da rein kommen und wenn's voll ist, alle Zahlen ins Label2 kommen. deswegen if...then...else- Anweisung.
Ich hoffe, das versteht man .

Zum zweiten Post:

Hab's jetzt so, meckert immer noch:
Delphi-Quellcode:
begin
if (TForm1.Label5 = ' ') then
begin
Label5.Caption:= '*blubb*';
end
else
begin
Label5.Caption:= ' ';
end;
end;
[edit=alcaeus]Sharky hat dir ein paar Beitraege weiter oben erklaert, wie man die Delphi-Tags verwendet. Waere nett wenn du das auch tun koenntest Mfg, alcaeus[/edit]
  Mit Zitat antworten Zitat
markusj

Registriert seit: 9. Dez 2005
Ort: Kandel
408 Beiträge
 
#8

Re: if...then...else

  Alt 22. Mai 2006, 17:47
Punkt eins wurde gestrichen ... müll
2. Bitte verwende mal die Delphi-Tags, dann weir der Code hervorgehoben. (geht mit den Knöpfen über dem Eingabefeld)
3. Welche fehlermeldung bringt er, und welche Zeile ist markiert?
Markus
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#9

Re: if...then...else

  Alt 22. Mai 2006, 17:49
Ich würde dir Empfehlen:

Mach eine globale Variable (oder ein private-Member der Form) CurrentLabel vom Typ TLabel.

Im FormCreate dann ein CurrentLabel := Label1;

Alle Eingaben gehen jetzt ins Label 1

In den ButtonXClicks machst du dann: CurrentLabel.Caption := CurrentLabel.Caption + '2';

Und in der Plus-Button-Methode kannst du dann ein CurrentLabel := Label4;oder so machen und alle Eingaben landen in Label 4
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: if...then...else

  Alt 22. Mai 2006, 17:49
Delphi-Quellcode:
if (Label5.caption = '') then
  begin
    Label5.Caption:= '*blubb*';
  end
else
  begin
    Label5.Caption:= '';
  end;
end;
soll denn label5 kein Zeichen enthalten oder ein Leerzeichen?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


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 04:49 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