![]() |
if Schleife?
Hallo,
ich wurde gebeten, zu dem Thema einen neuen Thread zu eröffnen. Code ist folgender:
Delphi-Quellcode:
Das Problem ist, die Variable "firststart" wird einfach übergangen. Die dazugehörige if Schleife, macht einfach nichts und ich weiß nicht wieso. Haltepunkte in der if Schleife, funzen nicht.
Ini := TIniFile.Create(form1.programmdirectory.Caption+'..\game.ini');
Ausgelesen := Ini.ReadString('Global','LangFile','' ); //1 stream := Ini.ReadString('Global', 'Stream', ''); music := Ini.ReadInteger('Global', 'Music', 0); slot := Ini.ReadString('Global', 'Slot', ''); musik := Ini.ReadString('Global', 'Musik', ''); firststart := ini.ReadInteger('Global', 'firststart', 0); form1.Caption := IntToStr(firststart); firststart := 0; if(firststart = 0) then begin if MessageDlg('Do you want to play Backgroundmusic ?', mtConfirmation, [mbYes, mbNo], 0)=mrYes then begin Musik :='1'; ini.WriteString('Global', 'Musik', '1'); ini.WriteString('Global', 'firststart', '0'); end else begin Musik:='0'; ini.WriteString('Global', 'Musik', '0'); ini.WriteString('Global', 'firststart', '0'); end; end; Ini.Free; Gruß, Andreas |
Re: if Schleife?
If-Schleifen gibt es nicht!
|
Re: if Schleife?
Setz doch mal den Haltepunkt VOR die
![]() |
Re: if Schleife?
[OT]
Zitat:
:cheer: [/OT] wo und wie hast du firststart deklariert ? |
Re: if Schleife?
Bitte formatiere deinen Quelltext korrekt!
Hier dein Problem: du liest firststart aus der Ini-Datei aus und definierst anschliessend firststart:= 0
Delphi-Quellcode:
firststart := ini.ReadInteger('Global', 'firststart', 0);
form1.Caption := IntToStr(firststart); firststart := 0; // diese Zeile entfernen |
Re: if Schleife?
:gruebel: trotzdem sollte firststart 0 sein und die Bedingung erfüllt sein.
|
Re: if Schleife?
Hallo,
firststart ist in einer ini Datei definiert. Vor der if Schleife (ich bleib dabei, das ist ne Schleife fg) steht aber auch noch firststart:=0;... ist ein Integer Feld. Der Haltepunkt auf dieser Zeile funktioniert, das Programm hält an. Gruß, Andreas |
Re: if Schleife?
Zitat:
|
Re: if Schleife?
Zitat:
Du willst also gar nichts dazulernen? Dann brauchen wir dir ja eigentlich auch nicht weiterhelfen. |
Re: if Schleife?
Vermutung:
In deinem restlichen Quelltext fehlt irgendwo ein "end". Dadurch kommen machmal komische Programmabläufe zustande. Formatiere deinen gesamten Quelltext mal etwas übersichtlicher und kontrolliere die begin/end Blöcke. :hi: Beispiel um die Zusammengehörigkeit der begin/end besser zu sehen, da untereinander
Delphi-Quellcode:
form1.Caption := IntToStr(firststart);
firststart := 0; if(firststart = 0) then begin if MessageDlg('Do you want to play Backgroundmusic ?', mtConfirmation, [mbYes, mbNo], 0)=mrYes then begin Musik :='1'; ini.WriteString('Global', 'Musik', '1'); ini.WriteString('Global', 'firststart', '0'); end else begin Musik:='0'; ini.WriteString('Global', 'Musik', '0'); ini.WriteString('Global', 'firststart', '0'); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:09 Uhr. |
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