![]() |
wobei sich hier
edit1.Text := ReadString('URL', 'Letzter url', ''); als dritter Wert (Standard (mit DDD)) vielleicht 'about:blank' nicht schlecht machen würde. Ihr Problem dabei ist doch, dass sie so nur genau ein Spiel speichern kann, weill der Dateiname ja schon feststeht! |
Hast du die ' ' weggemacht ???
Weil "Werte" ('game.ini') werden in Anführungszeichen geschrieben, Variablen (savedialog.filename) die "Werte" beinhalten ohne. ( In savedialog.filename steht der Name des files das du ausgewählt hast) |
*seufz* das klang wie ne richtig gute Idee, aber das wars auch nicht!
:cry: *schnief* |
Poste doch mal bitte den Gesamten code
|
ich hab mein Spiel mit Code als Anhang in irgendeinem Post weiter vorne
Delphi-Quellcode:
procedure TFrmMain.Save;
var i,n:Integer; begin with TIniFile.Create(savedialog1.filename) do try if Feldbreite>= FeldHoehe then begin For i:=0 to FeldBreite-1 do For n:=0 to FeldHoehe-1 do WriteInteger(IntToStr(i), IntToStr(n), feld[i,n]); end else begin For i:=0 to FeldHoehe-1 do For n:=0 to FeldBreite-1 do WriteInteger(IntToStr(i), IntToStr(n), feld[i,n]); end; WriteInteger('Infos','Letzter Spieler',spieler); WriteInteger('Feld','Feldhöhe',FeldHoehe); WriteInteger('Feld','Feldbreite',FeldBreite); WriteBool('Infos','Computergegner',Computergegner); finally Free; end; end; procedure TFrmMain.Load; var i,n:Integer; begin with TIniFile.Create(savedialog1.filename) do try spieler := ReadInteger('Infos', 'Letzter Spieler',spieler); FeldHoehe:= ReadInteger('Feld','Feldhöhe',FeldHoehe); FeldBreite:= ReadInteger('Feld','Feldbreite',FeldBreite); Computergegner:= ReadBool('Infos','Computergegner',Computergegner); if FeldBreite>=Feldhoehe then begin //um sicher zu stellen, das wenn Feldbreite kleiner als hoehe ist, Schleife nicht zu früh abbricht For i:=0 to FeldBreite-1 do For n:=0 to FeldHoehe-1 do feld[i,n]:= ReadInteger(IntToStr(i),IntToStr(n),Feld[i,n]); end else begin For i:=0 to Feldhoehe-1 do For n:=0 to Feldbreite-1 do feld[i,n]:= ReadInteger(IntToStr(i),IntToStr(n),Feld[n,i]); end; StringGrid.RowCount:=FeldHoehe+1; StringGrid.ColCount:=FeldBreite; Stringgrid.Width:=Stringgrid.ColCount*41+3; Stringgrid.Height:=Stringgrid.RowCount*41+3; FrmMain.Height:=Stringgrid.Height+40; FrmMain.Width:=Stringgrid.Width; finally Free; end; end; procedure TFrmMain.Speichern1Click(Sender: TObject); begin if SaveDialog1.Execute then Save end; procedure TFrmMain.Laden1Click(Sender: TObject); var i,n:Integer; begin if OpenDialog1.Execute then Load; end; |
Moin Madeleine,
Du verwendest in der Procedure Load auch den SaveDialog1.FileName, obwohl Du bei erfolgreichem OpenDialog1.Execute Load aufrufst. |
oh :oops: und das beste ist, du hast recht, jetzt klappt alles nach Wunsch!!! :hello:
Danke! :party: |
Hallo
ich schon wieder :-) Habe nochmal Probleme mit dem speichern Was ist wenn ich keinen String sonder einen TString speichern will? Ich kriegs net hin! |
Haben TStrings nicht die Prozedur SaveToFile?
|
Aha so und jetzt das es ein blutiger anfänger auch versteht :-) Am besten mit Source-Code!
Schonmal vielen Dank! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:41 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