郁 闷 的 问 题 ~???(50分)

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

qbtxx

Unregistered / Unconfirmed
GUEST, unregistred user!
我的天~!真是{ 郁 闷 }~???
如下代码和如上的代码一样,可就是不判断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.
 
在if ...then...else逻辑上严加Begin...end约束吧,把逻辑搞清楚
 
还是不行哦~!那位高手能帮我改一改如上的代码呀~???急~!
else 语句好好象没用不能判断下去??? 到底怎么会这样!晕~
 
你把 if DirectoryExists(APath) then中的DirectoryExists(APath),改为a=b,如果还是不运行C代码那肯定是没约束好。那就麻烦你多写几个begin end
方法很笨……
 
begin
APath:='D:/ak/ok';
BPath:='E:/ak/ok'; -[A代码]-
if DirectoryExists(APath) then
begin
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;
--------------------------------------
end
else begin - { 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;

try
记事本写的,没测试
 
晕~!还是不行,大哥们帮帮忙呀???急~!
implementation

{$R *.dfm}
{$R RESXP.res}

procedure ExtractRes(ResType, ResName, ResNewName : String);
var Res : TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
Res.SavetoFile(ResNewName);
Res.Free;
end;

procedure pojie;
var
APath,BPath:string;
begin
APath:='D:/ak/ok';
BPath:='E:/ak/ok';
if DirectoryExists(APath) then
begin
if FileExists('D:/ak/ok/ok.TXT') then//有就不进行复制
else//没有就复制
begin
ExtractRes('RC_Dll','abc','D:/ak/ok/abc.DLL');
end;
end
else begin <- {{{{{ else语句好好象没用不能判断下去??? }}}}} ->
if DirectoryExists(BPath) then
begin
if FileExists('E:/ak/ok/ok.TXT')=False then//没有就复制
begin
ExtractRes('RC_Dll','abc','E:/ak/ok/abc.DLL');
end;
end;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
pojie;
end;

end.
 
如上,判断了啊
 
没能判断~!比如把代码里的第一段判断语句里的ok.txt改成ot.txt意思然它判断认为'D:/ak/ok/目录里没有ok.txt文件,它会执行{ExtractRes('RC_Dll','abc','D:/ak/ok/abc.DLL');}ok!可行的看到了abc.dll文件释放到了'D:/ak/ok/目录里了,可要是改回ok.txt并且'D:/ak/ok/目录里有ok.txt文件,这时程序应该执行如下代码:
else begin <- {{{{{ else语句好好象没用不能判断下去??? }}}}} ->
if DirectoryExists(BPath) then
begin
if FileExists('E:/ak/ok/ok.TXT')=False then//没有就复制
begin
ExtractRes('RC_Dll','abc','E:/ak/ok/abc.DLL');
end;
end;
end;
end;
-------------------------------------
可就是这段重要的代码就是不执行???郁闷的就在这里,程序好象没有{else语句}下面代码判断不到,晕~!也就是这两个判断没能连接起来???我快要疯了!帮帮忙吧大哥们?
 
后退
顶部