Problem mit if then schleife
Ich hab folgendes geschrieben un da meldet er immer den fehler end expected but else found , könnt ihr mir halfen:
Delphi-Quellcode:
vielen dank im vorraus!
procedure TForm1.Button1Click(Sender: TObject);
var schuss, leben :integer; begin randomize; edit4.Text:=''; schuss:=random(10); leben:=StrToInt(edit2.Text)-schuss; edit4.Text:=IntToStr(schuss); edit2.Text:=IntToStr(leben); if StrToInt(edit2.Text)<=0 then label7.visible:=true; button1.Enabled:=false; button2.Enabled:=false else label7.Visible:=false; button1.Enabled:=false; button2.Enabled:=true; [edit=SirThornberry]Delphi-Tags gesetzt. Nächstes mal bitte selbst machen - Mfg, SirThornberry[/edit] |
Re: Problem mit if then schleife
Nächstesmal mit Delphi TAGS
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var schuss, leben :integer; begin randomize; edit4.Text:=''; schuss:=random(10); leben:=StrToInt(edit2.Text)-schuss; edit4.Text:=IntToStr(schuss); edit2.Text:=IntToStr(leben); if StrToInt(edit2.Text)<=0 then begin label7.visible:=true; button1.Enabled:=false; button2.Enabled:=false end else begin label7.Visible:=false; button1.Enabled:=false; button2.Enabled:=true; end; end; |
Re: Problem mit if then schleife
Da fehlen wohl zwei mal "begin" und "end".
Übrigens wie oft wird denn deine "If-Schleife" wiederholt und wo ist die Laufvariable für die Schleife. :gruebel: |
Re: Problem mit if then schleife
Sequenzen bettet man in begin..end ein:
Delphi-Quellcode:
if StrToInt(edit2.Text)<=0 then
begin label7.visible:=true; button1.Enabled:=false; button2.Enabled:=false; end else begin label7.Visible:=false; button1.Enabled:=false; button2.Enabled:=true; end; |
Re: Problem mit if then schleife
?
Doch wohl eher so:
Delphi-Quellcode:
if StrToInt(edit2.Text)<=0 then
begin .. end else begin end ... |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.
|
Re: Problem mit if then schleife
einmal pro onbuttonclick
Jetzt meldet er mir den Fehler, dass er ein simikolon will, und wenn ich ichs hinmache, sagt er: Decleration expected but else found. So sieht es grad aus: procedure TForm1.Button1Click(Sender: TObject); var schuss, leben :integer; begin randomize; edit4.Text:=''; schuss:=random(10); leben:=StrToInt(edit2.Text)-schuss; edit4.Text:=IntToStr(schuss); edit2.Text:=IntToStr(leben); if StrToInt(edit2.Text)<=0 then label7.visible:=true; button1.Enabled:=false; button2.Enabled:=false end else begin label7.Visible:=false; button1.Enabled:=false; button2.Enabled:=true; end; |
Re: Problem mit if then schleife
Zitat:
|
Re: Problem mit if then schleife
bitte setze die Delphi-Tags! Klicke dazu auf http://www.delphipraxis.net/template.../icon_edit.gif um deinen Beitrag nochmal ändern zu können und schreibe dann
[ delphi ] dein Quelltext [ /delphi ] (leerzeichen zwischen den eckigen klammern weg lassen) Zudem verwende bitte die Editfunktion auch um deine Beiträge zu ergänzen anstelle 2 Beiträge direkt hintereinander zu verfassen :) |
Re: Problem mit if then schleife
Was ja nur um dir die Syntax zu zeigen
|
Re: Problem mit if then schleife
schreib doch einfach die allererste antwort ab
|
Re: Problem mit if then schleife
Also zuallererst: Es gibt keine If-Schleifen, sondern nur If-Alernativen...
und ich glaub, dein Problem erledigt sih von alleine, wenn du mal die korrekte Syntax verwendest:
Delphi-Quellcode:
Und das Semikolon wollte er, weil du ein beginvergessen hast
if <Bedingung> then
begin //Aufgabenteil der bei then Ausgeführt wird, jden einzelnen Befehl mit einem Semikolon versehen end //KEIN SEMIKOLON hinter diesem End else begin //Else-Aufgabenteil,jden einzelnen Befehl mit einem Semikolon versehen end; //Hier kommt ein Semikolon |
Re: Problem mit if then schleife
Zitat:
Musst ichheut im Infounterricht erklären :mrgreen: Gruß Axxus |
Re: Problem mit if then schleife
Was die Fehlersuche wesentlich vereinfachen würde, wenn nicht sogar überflüssig machen würde, wäre wenn man den Quellcode gescheit formatiert. :roll:
|
Re: Problem mit if then schleife
Liste der Anhänge anzeigen (Anzahl: 1)
ich weis nicht wieso, aber obwohl ich es genauso gemacht habe, wie ihr es gesagt habt, funktioniert es nicht. Ich hab mal die komplette datei angehängt. Wär schön, wenn jemand mal drüberschauen könnte.
|
Re: Problem mit if then schleife
Scheinbar ist es sehr schwer ein begin nach dem then einzufügen.
|
Re: Problem mit if then schleife
hey, ich habs genauso gemacht, wie ihrs beschrieben habt-es funktioniert aber trotzdem nicht!
|
Re: Problem mit if then schleife
Nein hast du nicht
Zitat:
und Beiu Button2 fehlen die kompletten begin .. end |
Re: Problem mit if then schleife
beim 2.Button hab ich auch noch nichts verändert, da erstmal der erste funktionieren sollte, dann hätt ich den 2. berichtigt!
|
Re: Problem mit if then schleife
Dann schreib doch erstmal das fehlende Begin da rein :wall:
|
Re: Problem mit if then schleife
vielen dank, habt mir sehr geholfen!
|
Re: Problem mit if then schleife
Vorher:
Delphi-Quellcode:
Nachher:if StrToInt(edit2.Text)<=0 then label7.visible:=true; button1.Enabled:=false; button2.Enabled:=false end else begin label7.Visible:=false; button1.Enabled:=false; button2.Enabled:=true; end;
Delphi-Quellcode:
if StrToInt(edit2.Text)<=0 then
begin // <--- ;-) label7.visible:=true; button1.Enabled:=false; button2.Enabled:=false end else begin label7.Visible:=false; button1.Enabled:=false; button2.Enabled:=true; end; [EDIT] .. (viel) zu langsam :? ^^ |
Re: Problem mit if then schleife
Hallo,
#edit: viiiel zu langsam ;( das ist dein Code, wenn du mal hören würdest, was man dir sagt (formatieren)
Delphi-Quellcode:
Wie du jetzt unschwer erkennen kannst , fehlt ein begin
if StrToInt(edit2.Text)<=0 then
label7.visible:=true; button1.Enabled:=false; button2.Enabled:=false end else begin label7.Visible:=false; button1.Enabled:=false; button2.Enabled:=true; end;
Delphi-Quellcode:
if StrToInt(edit2.Text)<=0 then
begin // das hat gefehlt label7.visible:=true; button1.Enabled:=false; button2.Enabled:=false end else begin label7.Visible:=false; button1.Enabled:=false; button2.Enabled:=true; end; Heiko |
Re: Problem mit if then schleife
und nimm Dir den Rat von Luckie zu Herzen.
Ist so doch viel übersichtlicher, oder?
Delphi-Quellcode:
Eine entsprechende Anleitung findest du z. B. hier.
procedure TForm1.Button1Click(Sender: TObject);
var schuss, leben : integer; begin randomize; edit4.Text := ''; schuss := random(10); leben := StrToInt(edit2.Text) - schuss; edit4.Text := IntToStr(schuss); edit2.Text := IntToStr(leben); if StrToInt(edit2.Text) <= 0 then begin label7.visible := true; button1.Enabled := false; button2.Enabled := false end else begin label7.Visible := false; button1.Enabled := false; button2.Enabled := true; end; end; Welche Quelltextformatierung Du im Endeffekt wählst, mußt Du natürlich selbst entscheiden. Wichtig ist nur, dass der Quelltext auch für andere lesbar wird (und somit auch für Dich, Du schaust da sonst nach einiger Zeit selbnst niucht mehr durch). Gruß Thomas PS: Herzlich willkommen in der Delphi-Praxis. Wer hier Hilfe sucht, wird diese in der Regel auch bekommen. Aber lies Dir bitte die Antworten genau durch. Wir investieren alle gerne ein wenig Zeit, um anderen zu helfen. Dafür erwarten wir aber auch, dass der Fragesteller sich die Zeit nimmt, die Antworten durchzuarbeiten. [TrotzRotemKastens]Weil ein Link zu einem Styleguide drin ist[/TrotzRotemKastens] |
Re: Problem mit if then schleife
Und wenn man einen automatischen Codeformatierer benutzt, dann sieht man sogar an den Einrückungen, die der Codeformatierer macht, wenn irgendwo was nicht stimmt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:02 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