如何通过delphi程序修改(100分)

  • 主题发起人 主题发起人 doupdou
  • 开始时间 开始时间
D

doupdou

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在AUTOEXEC.BAT文件中增加path=c:/foxpro25。
问题是无法判断该语句是否已经存在,如果有是否有效,无效时如何使其有效。

请给出可行的代码段。
 
下面的代码纯属凭空捏造,随手写的,可能包含错误,自己对照修改吧.
var
i:integer;
buf:tstrings;
Temp:string;
found:boolean;
begin
buf:=tstringlist.create;
found:=false;
buf.loadfromfile('c:/autoexec.bat');
for i:=0 to buf.count-1 do
begin
Temp:=Copy(Trimleft(buf.strings),0,3);
if (copy(temp,0,2)=';;') or (uppercase(Temp)='REM') then
continue;
if pos('c:/forxpro25',buf.strings)>0 then
begin
found:=true;
break;
end;
end;
if not found then
begin
buf.add('path=%path%,c:/foxpro25');
buf.Savetofile('c:/autoexec.bat');
end;
buf.free;
end;
 
试一下set命令
 
仅提供思路:
记得以前在turbo 里面有个函数可以根据

Path = ??

查找文件,那么你也可以读取环境变量,判断里面有没有
Foxpro ,然后觉得是否增加
 
比较具体的办法了:
Procedure .....
var
p1, p2 : pChar;
begin
P1 := 'PATH';
getmem(P2, 1000);
GetEnvironmentVariable(P1, P2, 1000);
Showmessage(P2);//就是当前系统 Path
Freemem(P2, 1000);
end;
至于其他的东西,相信你的实力已经足够了
 
多人接受答案了。
 
后退
顶部