今天老板给我一个任务让我些个配置类似ini文件的小工具 我写了一下午了 出现一个BUG
读取按钮(Button1)没问题了 保存按钮(Button2) 如果Button1 没写的关键字 如果按button2 那就不保存了
我要实现的是比如 读取部分类容后 按BUTTON2 后 只修改 读取后的内容 请大家帮帮忙
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, Menus, ActnList, StdCtrls, IniFiles, ExtCtrls;type
TForm1 = class(TForm)
StatusBar1: TStatusBar;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
OpenDialog1: TOpenDialog;
Button1: TButton;
Button2: TButton;
LabeledEdit1: TLabeledEdit;
LabeledEdit2: TLabeledEdit;
LabeledEdit3: TLabeledEdit;
LabeledEdit4: TLabeledEdit;
LabeledEdit5: TLabeledEdit;
LabeledEdit6: TLabeledEdit;
LabeledEdit7: TLabeledEdit;
LabeledEdit8: TLabeledEdit;
LabeledEdit9: TLabeledEdit;
LabeledEdit10: TLabeledEdit;
..........................
procedure N2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
var
myinifile: Tinifile;
{$R *.dfm}procedure TForm1.N2Click(Sender: TObject);
begin
form1.close
end;
//读取数据
procedure TForm1.Button1Click(Sender: TObject);
var
t: tstringlist;
begin
try
t := tstringlist.Create;
t.LoadFromFile('setup.cf');
LabeledEdit1.Text := t.Values['blserv'];
LabeledEdit2.Text := t.Values['blservport'];
LabeledEdit3.Text := t.Values['battledebugmsg'];
LabeledEdit4.Text := t.Values['battlenum'];
LabeledEdit5.Text := t.Values['CAinterval'];
LabeledEdit6.Text := t.Values['petmailmistakefile'];
LabeledEdit7.Text := t.Values['titleconfigfile'];
LabeledEdit8.Text := t.Values['skillfile'];
LabeledEdit9.Text := t.Values['extraipaddress'];
LabeledEdit10.Text := t.Values['itemboxfile'];
.............................
finally
t.Free;
end;
end;
//保存数据
procedure TForm1.Button2Click(Sender: TObject);
var
t: tstringlist;
begin
t := TStringList.Create;
try
t.Values['blserv'] := LabeledEdit1.Text ;
t.Values['blservport'] := LabeledEdit2.Text ;
t.Values['battledebugmsg'] := LabeledEdit3.Text ;
t.Values['battlenum'] := LabeledEdit4.Text ;
t.Values['CAinterval'] := LabeledEdit5.Text ;
t.Values['petmailmistakefile'] := LabeledEdit6.Text ;
t.Values['titleconfigfile'] := LabeledEdit7.Text ;
t.Values['skillfile'] := LabeledEdit8.Text ;
t.Values['extraipaddress'] := LabeledEdit9.Text ;
t.Values['itemboxfile'] := LabeledEdit10.Text ;
...........................................
t.SaveToFile('setup.cf');
finally
t.Free;
end;
end;
end.
读取按钮(Button1)没问题了 保存按钮(Button2) 如果Button1 没写的关键字 如果按button2 那就不保存了
我要实现的是比如 读取部分类容后 按BUTTON2 后 只修改 读取后的内容 请大家帮帮忙
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, Menus, ActnList, StdCtrls, IniFiles, ExtCtrls;type
TForm1 = class(TForm)
StatusBar1: TStatusBar;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
OpenDialog1: TOpenDialog;
Button1: TButton;
Button2: TButton;
LabeledEdit1: TLabeledEdit;
LabeledEdit2: TLabeledEdit;
LabeledEdit3: TLabeledEdit;
LabeledEdit4: TLabeledEdit;
LabeledEdit5: TLabeledEdit;
LabeledEdit6: TLabeledEdit;
LabeledEdit7: TLabeledEdit;
LabeledEdit8: TLabeledEdit;
LabeledEdit9: TLabeledEdit;
LabeledEdit10: TLabeledEdit;
..........................
procedure N2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
var
myinifile: Tinifile;
{$R *.dfm}procedure TForm1.N2Click(Sender: TObject);
begin
form1.close
end;
//读取数据
procedure TForm1.Button1Click(Sender: TObject);
var
t: tstringlist;
begin
try
t := tstringlist.Create;
t.LoadFromFile('setup.cf');
LabeledEdit1.Text := t.Values['blserv'];
LabeledEdit2.Text := t.Values['blservport'];
LabeledEdit3.Text := t.Values['battledebugmsg'];
LabeledEdit4.Text := t.Values['battlenum'];
LabeledEdit5.Text := t.Values['CAinterval'];
LabeledEdit6.Text := t.Values['petmailmistakefile'];
LabeledEdit7.Text := t.Values['titleconfigfile'];
LabeledEdit8.Text := t.Values['skillfile'];
LabeledEdit9.Text := t.Values['extraipaddress'];
LabeledEdit10.Text := t.Values['itemboxfile'];
.............................
finally
t.Free;
end;
end;
//保存数据
procedure TForm1.Button2Click(Sender: TObject);
var
t: tstringlist;
begin
t := TStringList.Create;
try
t.Values['blserv'] := LabeledEdit1.Text ;
t.Values['blservport'] := LabeledEdit2.Text ;
t.Values['battledebugmsg'] := LabeledEdit3.Text ;
t.Values['battlenum'] := LabeledEdit4.Text ;
t.Values['CAinterval'] := LabeledEdit5.Text ;
t.Values['petmailmistakefile'] := LabeledEdit6.Text ;
t.Values['titleconfigfile'] := LabeledEdit7.Text ;
t.Values['skillfile'] := LabeledEdit8.Text ;
t.Values['extraipaddress'] := LabeledEdit9.Text ;
t.Values['itemboxfile'] := LabeledEdit10.Text ;
...........................................
t.SaveToFile('setup.cf');
finally
t.Free;
end;
end;
end.
var
I: Integer;
begin
I := IndexOfName(Name);
if Value <> '' then
begin
if I < 0 then I := Add('');
Put(I, Name + NameValueSeparator + Value);
end else
begin
if I >= 0 then Delete(I);
end;
end;