头痛~!有关判断复制文件的技术~?急~!(100分)

  • 主题发起人 主题发起人 qbtxx
  • 开始时间 开始时间
Q

qbtxx

Unregistered / Unconfirmed
GUEST, unregistred user!
请DELPHI大哥们帮小弟看看如下代码怎么样才能成功的判断'C:/abc/aaa和'D:/abc/aaa这两个目录里有没有同样的一个DLL文件,第一判断有没有这个目录,如判断到C:/abc/aaa/有没有这个aaa目录,第二判断这aaa目录里有没有这个abc.dll文件,有就不执行复制文件,要是在第一里判断没有C:/abc/aaa/这个aaa目录,能不能自己找D:/abc/aaa/的aaa目录在和判断D:有没有这个aaa目录有这个AAA目录的话就去判断有没有ABC.DLL这个文件?判断方法和
C:一样?
C:/abc/aaa/里有这个目录没这个文件就把文件复制到这个目录里,D:/abc/aaa/里的复制判断方法一样.
哎~!小弟水平有限如下代码
就是不行,请大哥们帮我看看改一改~!
procedure pojie;
var
APath,BPath:string;
begin
APath:='C:/abc/aaa';
BPath:='D:/abc/aaa';
if DirectoryExists(APath)then
begin
if FileExists('C:/abc/aaa/abc.dll')=False then
begin
MM:= TResourceStream.Create(HInstance,'dll1','RC_Dll');
MM.SaveToFile('C:/abc/aaa/'+'abc.DLL');
end
else begin
if DirectoryExists(BPath)then
begin
if FileExists('D:/abc/aaa/abc.DLL')=False then
begin
MM:= TResourceStream.Create(HInstance,'dll1','RC_Dll');
MM.SaveToFile('D:/abc/aaa/'+'abc.DLL');
MM.Free;
end;
end;
end;
end;
end;
 
procedure pojie;
var
APath,BPath:string;
MM:TResourceStream;
begin
APath:='C:/abc/aaa';
BPath:='D:/abc/aaa';
if DirectoryExists(APath) then
if FileExists('C:/abc/aaa/abc.dll') then//有就不进行复制
else//没有就复制
begin
MM:= TResourceStream.Create(HInstance,'dll1','RC_Dll');
MM.SaveToFile('C:/abc/aaa/'+'abc.DLL');
MM.Free;
end
else
if DirectoryExists(BPath) then
if FileExists('D:/abc/aaa/abc.DLL')=False then//没有就复制
begin
MM:= TResourceStream.Create(HInstance,'dll1','RC_Dll');
MM.SaveToFile('D:/abc/aaa/'+'abc.DLL');
MM.Free;
end;
end;
end;
 
谢谢 其实我没有仔细的在看判断语句~!
 
我的天~!真是{ 郁 闷 }~???
如下代码和如上的代码一样,可就是不判断E???为什么~~!如'D:/ak/ok/没有ok.txt这个文件,程序就会运行[B代码]看来前段[A代码]启到了判断,可就是没能判断运行[C代码]???可我郁闷的前段时间用了[newsmile]兄的代码OK可行的,可是后来BRCC32出现问题~!我现又另做了一个程序代码就是现在的如下代码,可就是不行了,不能判断到[C代码]区~啊!郁闷呀??????急~!
var
Form1: TForm1;
implementation
{$R *.dfm}
{$R RESXP.res}
procedure pojie;
var
APath,BPath:string;
MM:TResourceStream;
-------------------------------------------------------------------------------
begin
APath:='D:/ak/ok';
BPath:='E:/ak/ok'; -[A代码]-
if DirectoryExists(APath) then
if FileExists('D:/ak/ok/ok.txt') then//有就不进行复制
else//没有就复制
--------------------------------------
begin
MM:= TResourceStream.Create(HInstance,'abc','RC_Dll');
MM.SaveToFile('D:/ak/ok/'+'abc.DLL');
MM.Free;                     -[B代码]-
end
--------------------------------------
else - { else 语句好好象没用不能判断下去??? } -
if DirectoryExists(BPath) then
if FileExists('E:/ak/ok/ok.txt')=False then//没有就复制
begin
MM:= TResourceStream.Create(HInstance,'abc','RC_Dll');
MM.SaveToFile('E:/ak/ok/'+'abc.DLL');
MM.Free;                      -[C代码]-
end;
end;
---------------------------------------
procedure TForm1.FormCreate(Sender: TObject);
begin
pojie;
end;
end.
 
注意路径的表示法
 
晕~!???注意路径的表示法错了~?错在那儿?
 
后退
顶部