Registriert seit: 6. Apr 2005
10.109 Beiträge
|
Re: Es wird nur in eine datei geschrieben
16. Sep 2005, 20:43
Hi Bene,
nur als Denkanstoß:
Delphi-Quellcode:
interface
type
TForm1 = class(TForm) // solltest du vielleicht auch mal umbenennen
...
private
dataDir: string;
procedure ApplyChanges(fileName: string; changes: TStringList);
procedure FormCreate();
...
end;
var
Form1: TForm1;
// hier keine eigenen Variablen deklarieren
// die werden besser lokal deklariert
// oder als Objekt-Variablen von TForm1
implementation
{$R *.dfm}
procedure TForm1.ApplyChanges(fileName: string; changes: TStringList);
var
i: integer;
sl: TStringList;
key, value, s: string;
begin
sl := TStringList.Create;
sl.LoadFromFile(dataDir + 'var' + fileName);
s := sl.Text;
for i := 0 to Pred(changes.Count) do begin
key := changes.Names[i];
value := changes.Values[key];
s := StringReplace(s, key, value, [rfIgnoreCase]);
end;
sl.Text := s;
sl.SaveToFile(dataDir + fileName);
sl.Free;
end;
procedure TForm1.FormCreate(...);
begin
dataDir := ExtractFilePath(ParamStr(0));
end;
procedure TForm1.btsavedataClick(Sender: TObject);
var
changes: TStringList;
begin
changes := TStringlist.Create;
changes.Values['xrcon_pw1'] := edrcon1.Text;
changes.Values['xrcon_pw2'] := edrcon2.Text;
changes.Values['xrcon_pw3'] := edrcon3.Text;
changes.Values['xip1'] := edip1.Text;
changes.Values['xip2'] := edip2.Text;
changes.Values['xip3'] := edip3.Text;
ApplyChanges('rcon.cfg', changes);
changes.Clear;
changes.Values['xservname1'] := ednb1.Text;
changes.Values['xservname2'] := ednb2.Text;
changes.Values['xservname3'] := ednb3.Text;
ApplyChanges('commandmenu.txt', changes);
changes.Free;
end;
end.
Freundliche Grüße vom marabu
|
|
Zitat
|