Autor Beitrag
benjamin_200
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: Di 16.09.08 17:21 
Hallo,
ich habe ein Problem beim Programmieren eines if-clause. ( delphi 6!)

ausblenden Delphi-Quelltext
1:
2:
3:
4:
if ergebnis1.Text > ergebnis2.text then punkt1.Text:= '3' else
        if ergebnis1.text = ergebnis2.text then punkt1.text := '1'  and
        if ergebnis1.Text = ergebnis2.text then punkt2.text := '1'
                else punkt2.text:= '3'  ;


wieso funktioniert das so nicht und was muss an stelle des semicolons dahin??
fehlermeldung: operator not applicable to this operand type.
er schickt mich zum weiterschreiben zum semicolon in der letzten zeile.
vielen dank für eure hilfe

Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt
delphiprogrammierer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 53



BeitragVerfasst: Di 16.09.08 17:32 
mach das AND weg dann ist zumindest der syntax ok


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
if ergebnis1.Text > ergebnis2.text then
  punkt1.Text:= '3'
else if ergebnis1.text = ergebnis2.text then
  punkt1.text := '1'
else if ergebnis1.Text = ergebnis2.text then
  punkt2.text := '1'
else
  punkt2.text:= '3' ;


Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt
benjamin_200 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: Di 16.09.08 17:36 
hab ich leider auch probiert...dann folgende fehlermeldung:

missing operator or semicolon.
Dunkel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 682

Mac OS X Snow Leopard
Xcode 3.1
BeitragVerfasst: Di 16.09.08 17:37 
Oder richtig klammern

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
if (ergebnis1.Text > ergebnis2.text) then 
  punkt1.Text:= '3' 
else
  if ((ergebnis1.text = ergebnis2.text) and (ergebnis1.Text = ergebnis2.text)) then
    begin 
      punkt2.text := '1';
      punkt3.text := '1';
    end
  else 
    punkt2.text:= '3' ;


Edit:
Wobei Du im zweiten If-Statement auch das and and (ergebnis1.Text = ergebnis2.text) weglassen kannst; die erste Abfrage ist ja identisch.

Edit die zweite: falsch gelesen

_________________
Ich streite einsam mich mit dieser Oberflächenwelt
Gutes sei ein löblich Brot von dem ich zehre - bis zum Tod [Das Ich - Im Ich]


Zuletzt bearbeitet von Dunkel am Di 16.09.08 17:41, insgesamt 2-mal bearbeitet
benjamin_200 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: Di 16.09.08 17:40 
vielen dannk! dadran lags wohl;-)
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Di 16.09.08 17:40 
Ich glaube, der korrekte Code für den gewünschten Effekt sieht so aus.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
if ergebnis1.Text > ergebnis2.text then 
  punkt1.Text:= '3' 
else
  if ergebnis1.text = ergebnis2.text then 
  begin 
      punkt1.text := '1';  
      punkt2.text := '1';
  end
  else 
    punkt2.text:= '3';


Evtl. fehlen da aber auch noch ein paar StrToInts. ;-)

_________________
We are, we were and will not be.
benjamin_200 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: Di 16.09.08 17:45 
wow perfekt. ich wollte grad den anderen code so umändern...aber danke. das is genau das was ich brauche:D