Delphi-PRAXiS
Seite 3 von 5     123 45      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   if Schleife? (https://www.delphipraxis.net/148974-if-schleife.html)

haentschman 11. Mär 2010 20:31

Re: if Schleife?
 
...ist ja alles gut und schön, hilft aber nicht bei dem Problem :zwinker:

Hänge doch mal die gesamte Unit an. Mit diesem Ausschnitt kann man nicht wirklich weiterkommen.

Sanguis 11. Mär 2010 20:38

Re: if Schleife?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hab die Unit angehängt, ist aber nicht grade klein :)

mirage228 11. Mär 2010 20:54

Re: if Schleife?
 
Entferne Zeile 366 (firststart := 0; ) und versuche es erneut. Dann sollte es ggf. klappen :)

Sanguis 11. Mär 2010 20:58

Re: if Schleife?
 
Nein, klappt leider nicht...

Balu der Bär 11. Mär 2010 21:01

Re: if Schleife?
 
Zitat:

Zitat von Wolfgang Mix
Wenn du "If-Schleife" nicht aus deinem Wortschatz streichst, wirst du noch öfter anecken.

Du würdest weniger anecken wenn du anstatt eines sinnlosen
Zitat:

Zitat von Wolfgang Mix
If-Schleifen gibt es nicht!

den User lieber normal und in einem freundlichen Ton aufklären würdest.

mirage228 11. Mär 2010 21:07

Re: if Schleife?
 
Der Pfad könnte ggf. falsch sein, verwende "IncludeTrailingPathDelimiter". Weiterhin solltest Du eher auf firststart = 1 prüfen. Die Abfrage nach der Musik soll ja beim ersten Start kommen ;-)

Delphi-Quellcode:
  Ini := TIniFile.Create(IncludeTrailingPathDelimiter(Self.programmdirectory.Caption) + '..\game.ini');
  try
    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);

    Self.Caption := IntToStr(firststart);
    if (firststart = 1) 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;
  finally
    Ini.Free;
  end;

DeddyH 11. Mär 2010 21:08

Re: if Schleife?
 
Ich muss leider zugeben, dass ich keine Ursache für dieses Verhalten finden kann. Es handelt sich um eine lokale Variable des korrekten Typs, die Abfrage sollte IMO auf jeden Fall erreicht werden, die Bedingung trifft auch zu, da explizit vorher sichergestellt :gruebel:. Es könnte höchstens sein, dass ich aufgrund der ziemlich gruseligen Formatierung einen Fall übersehen habe.

haentschman 11. Mär 2010 21:10

Re: if Schleife?
 
Liste der Anhänge anzeigen (Anzahl: 1)
ich hab das ganze mal eingerückt und nach den begin /end geschaut. Sieht soweit in Ordnung aus. Dann weis ich auch nicht mehr. :gruebel:

Sanguis 11. Mär 2010 21:11

Re: if Schleife?
 
Leider hilft das nicht, der Pfad stimmt, die Ini Datei wird auch korrekt ausgelesen. Das Ergebnis steht ja auch in form1.caption, kann ich also überprüfen. Und das stimmt.

mirage228 11. Mär 2010 21:15

Re: if Schleife?
 
Also beim Start der Anwendung (FormCreate bzw. FormShow) hatte ich manchmal Probleme mit Application.MessageBox. Vielleicht trifft dieses Problem ja auch hier bei MessageDlg zu:

Versuch mal statt
Delphi-Quellcode:
      if MessageDlg('Do you want to play Backgroundmusic ?', mtConfirmation,
        [mbYes, mbNo], 0) = mrYes then
dieses:
Delphi-Quellcode:
      if MessageBox(Handle, 'Do you want to play Backgroundmusic ?', 'Confirmation',
        MB_YESNO or MB_ICONQUESTION) = IDYES then


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:45 Uhr.
Seite 3 von 5     123 45      

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