紧急求助,如何实现INI文件的修改? (100分)

  • 主题发起人 主题发起人 maz09
  • 开始时间 开始时间
M

maz09

Unregistered / Unconfirmed
GUEST, unregistred user!
大家好现在有一个很紧急的问题请大家帮助
我有一个INI文件其字段是如此排列的。
[ORGID]
FontName=楷体
ServerAddr=128.128.0.1
patched=1
请问如何实现点击一下按钮就能修改
ServerAddr=192.168.0.1
还有假设该INI文件地址为c:/windows/system下请问如何直接读取?
最好能附上源代码
谢谢大家了。。。。
 
GetPrivateProfileString
 
读:
GetMem(ProxyIP, 255);

GetPrivateProfileString('ORGID', 'ServerAddr', '', ProxyIP, 255, IniName);
VL_ProxyIP := ProxyIP;
FreeMem(ProxyIP);
写:
WritePrivateProfileString('ORGID', 'ServerAddr', '192.168.0.1', IniName);
 
TO yzhshi
程序源码能写的清楚点吗?
我不需要读取
只需要修改ServerAddr字段
谢谢你了。
 
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,inifiles;
//包含单元
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
myini:tinifile;
//定义变量
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
myini:=tinifile.Create('./a.ini');
//打开INI文件
myini.WriteString ('ORGID','ServerAddr','192.168.0.1');
//写入INI文件
myini.Free ;
//释放
end;

end.
具体可参阅帮助。
 
uses Inifiles ;
//加到uses 列表中.
procedure TForm1.Button1Click(Sender: TObject);
var
IniFile: TIniFile;
begin
IniFile:= TIniFile.Create('c:/filename.ini');
//你是ini文件名及路径
IniFile.WriteString('ORGID', 'ServerAddr','192.168.0.1');
//要修改的值 .
IniFile.Free;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
IniName, ProxyIP: PChar;
begin
GetMem(IniName, 255);
GetMem(ProxyIP, 255);
GetPrivateProfileString('ORGID', 'ServerAddr', '', ProxyIP, 255, IniName);
ShowMessage(ProxyIP);
FreeMem(ProxyIP);
FreeMem(IniName);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
IniName: PChar;
begin
GetMem(IniName, 255);
WritePrivateProfileString('ORGID', 'ServerAddr', '192.168.0.1', IniName);
FreeMem(IniName);
end;
 
谢谢大家了,但是还有一个问题没有解决。
假设该INI文件的目录为c:/windows/system下
请问如何直接修改。
 
ini:=tinifile.Create('c:/windows/system/*.ini');
// *.ini为你的文件名
 
procedure TForm1.Button1Click(Sender: TObject);
var
IniName, ProxyIP: PChar;
begin
GetMem(IniName, 255);
GetMem(ProxyIP, 255);
StrpCopy(IniName,'C:/Windows/System/a.ini');
GetPrivateProfileString('ORGID', 'ServerAddr', '', ProxyIP, 255, IniName);
ShowMessage(ProxyIP);
FreeMem(ProxyIP);
FreeMem(IniName);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
IniName: PChar;
begin
GetMem(IniName, 255);
StrpCopy(IniName,'C:/Windows/System/a.ini');
WritePrivateProfileString('ORGID', 'ServerAddr', '192.168.0.1', IniName);
FreeMem(IniName);
end;
 
呵呵呵,谢谢大家了。没想到半个小时就解决了问题
真的感谢所有回答的朋友
 
后退
顶部