Autor Beitrag
DiamondDog
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 460



BeitragVerfasst: Mi 01.10.08 18:47 
Hallo Leute,
ich hab da folgenden Code der auch so funktioniert:
ausblenden 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 user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Do 02.10.2008 um 00:20
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 01.10.08 18:54 
Meinst Du leeren? Welchen Sinn soll das machen?
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: 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..
ausblenden Delphi-Quelltext
1:
If FileExists() then DeleteFile();					

wäre eine davon.

_________________
PROGRAMMER: A device for converting coffee into software.
Die Muhkuh
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33



BeitragVerfasst: 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



BeitragVerfasst: Mi 01.10.08 19:00 
Dröseln wir das mal auf:
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 460



BeitragVerfasst: Do 02.10.08 08:35 
Ok hab es jetzt so gemacht:
ausblenden 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



BeitragVerfasst: Do 02.10.08 08:40 
Ich verstehe aber immer noch nicht, wieso die Ini unbedingt gelöscht und neu geschrieben werden muss.
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Do 02.10.08 09:07 
user profile iconXentar hat folgendes geschrieben Zum zitierten Posting springen:
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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 460



BeitragVerfasst: Do 02.10.08 09:34 
Dateinamen + Pfad sind nur zu Test zwecken, das wird später geändert.