| Autor |
Beitrag |
DiamondDog
      
Beiträge: 460
|
Verfasst: Mi 01.10.08 18:47
Hallo Leute,
ich hab da folgenden Code der auch so funktioniert:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure TForm1.btSaveRowClick(Sender: TObject); var i:integer; ini:TIniFile; h:string; begin for i:=0 to NGUinGrid.RowCount-1 do begin ini:=TIniFile.Create('C:\Options.ini'); game:=NGUinGrid.Cell[0,i].AsString; xtext1:=NGUinGrid.Cell[1,i].AsString; xtext2:=NGUinGrid.Cell[2,i].AsString; h:=IntToStr(i); reset(ini); append(ini); ini.WriteInteger('Main','CellNumbers',NGUinGrid.RowCount); ini.WriteString('Games','Game_'+h,game); ini.WriteString('Games','XText1_'+h,xtext1); ini.WriteString('Games','XText2_'+h,xtext2); ini.Free; end; end; | Nur würde ich jetzt gerne die Datei bevor alles reingeschrieben wird reseten, kann mir jemand sagen wie ich das anstelle?
Danke schon mal.
Mfg Dog Moderiert von Narses: Topic aus Sonstiges (Delphi) verschoben am Do 02.10.2008 um 00:20
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 01.10.08 18:54
Meinst Du leeren? Welchen Sinn soll das machen?
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Mi 01.10.08 18:55
Was genau meinst du mit "reseten"? Alles löschen?
Auch wenn ich nicht weiß, wozu, gibts da doch genug Möglichkeiten..
Delphi-Quelltext 1:
| If FileExists() then DeleteFile(); |
wäre eine davon.
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
Die Muhkuh
      
Beiträge: 33
|
Verfasst: Mi 01.10.08 18:56
Puh, der Code ist nicht so der Hit. Da fehlen Resourcenschutzblöcke und die Ini-Datei sollte außerhalb der For-Schleife erzeugt werden.
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 01.10.08 19:00
Dröseln wir das mal auf:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| procedure TForm1.btSaveRowClick(Sender: TObject); var i:integer; ini:TIniFile; h:string; begin ini:=TIniFile.Create('C:\Options.ini'); try ini.WriteInteger('Main','CellNumbers',NGUinGrid.RowCount); for i:=0 to NGUinGrid.RowCount-1 do begin game:=NGUinGrid.Cell[0,i].AsString; xtext1:=NGUinGrid.Cell[1,i].AsString; xtext2:=NGUinGrid.Cell[2,i].AsString; h:=IntToStr(i); ini.WriteString('Games','Game_'+h,game); ini.WriteString('Games','XText1_'+h,xtext1); ini.WriteString('Games','XText2_'+h,xtext2); end; finally ini.Free; end; end; |
|
|
DiamondDog 
      
Beiträge: 460
|
Verfasst: Do 02.10.08 08:35
Ok hab es jetzt so gemacht:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| procedure TForm1.btSaveRowClick(Sender: TObject); var i:integer; ini:TIniFile; h:string; FiPfad:string; begin FiPfad:='C:\Options.ini'; if FileExists(FiPfad) then DeleteFile(FiPfad); ini:=TIniFile.Create(FiPfad); try ini.WriteInteger('Main','CellNumbers',NGUinGrid.RowCount); for i:=0 to NGUinGrid.RowCount-1 do begin game:=NGUinGrid.Cell[0,i].AsString; xtext1:=NGUinGrid.Cell[1,i].AsString; xtext2:=NGUinGrid.Cell[2,i].AsString; h:=IntToStr(i); ini.WriteString('Games','Game_'+h,game); ini.WriteString('Games','XText1_'+h,xtext1); ini.WriteString('Games','XText2_'+h,xtext2); end; finally ini.Free; end; end; |
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 02.10.08 08:40
Ich verstehe aber immer noch nicht, wieso die Ini unbedingt gelöscht und neu geschrieben werden muss.
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Do 02.10.08 08:51
Du solltest den Dateinamen + Pfad überdenken..
Ein so "aussagekräftiger" Dateiname, und dann auch noch im Root Verzeichnis. Die hat da echt nichts zu suchen! Wenns sein muss, nimm das Programmverzeichnis, oder noch besser, direkt die Anwendungsdaten.
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
matze
      
Beiträge: 4613
Erhaltene Danke: 24
XP home, prof
Delphi 2009 Prof,
|
Verfasst: Do 02.10.08 09:07
Xentar hat folgendes geschrieben : | Du solltest den Dateinamen + Pfad überdenken..
Ein so "aussagekräftiger" Dateiname, und dann auch noch im Root Verzeichnis. Die hat da echt nichts zu suchen! Wenns sein muss, nimm das Programmverzeichnis, oder noch besser, direkt die Anwendungsdaten. |
Aaaaaaaaaaaahrg!
Wenns sein muss, nimm das Programmverzeichnis, oder noch besser, direkt die Anwendungsdaten. So bitte!
_________________ In the beginning was the word.
And the word was content-type: text/plain.
|
|
DiamondDog 
      
Beiträge: 460
|
Verfasst: Do 02.10.08 09:34
Dateinamen + Pfad sind nur zu Test zwecken, das wird später geändert.
|
|
|