程序如下:
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm1 = class(TForm)
edFile: TEdit;
Label1: TLabel;
edDir: TEdit;
Label2: TLabel;
btnProc: TButton;
meoLog: TMemo;
Memo1: TMemo;
procedure btnProcClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.btnProcClick(Sender: TObject);
var
FileList:TStringList;
sName:string;
i:Integer;
begin
FileList:=TStringList.Create;
FileList.LoadFromFile(edFile.Text);
meoLog.Lines.Add('以下文件存在');
begin
sName:=FileList[i];
if FileExists(edDir.Text+sName) then
begin
meoLog.lines.Add(sName);
end
else
begin
Memo1.Lines.Add(sName);
end;
end;
Memo1.Lines.Add('以下文件不存在');
for i := 0 to FileList.Count-1 do
begin
sName:=FileList[i]+'.mpg';
if FileExists(edDir.Text+sName) then
begin
meoLog.lines.Add(sName);
end
else
begin
Memo1.Lines.Add(sName);
end;
end;
FileList.Free;
end;end.
显示结果:现在的问题是不管"存在"或是"不存在"它都将结果显示在"不存在"里面 ,请高手指点.
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm1 = class(TForm)
edFile: TEdit;
Label1: TLabel;
edDir: TEdit;
Label2: TLabel;
btnProc: TButton;
meoLog: TMemo;
Memo1: TMemo;
procedure btnProcClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.btnProcClick(Sender: TObject);
var
FileList:TStringList;
sName:string;
i:Integer;
begin
FileList:=TStringList.Create;
FileList.LoadFromFile(edFile.Text);
meoLog.Lines.Add('以下文件存在');
begin
sName:=FileList[i];
if FileExists(edDir.Text+sName) then
begin
meoLog.lines.Add(sName);
end
else
begin
Memo1.Lines.Add(sName);
end;
end;
Memo1.Lines.Add('以下文件不存在');
for i := 0 to FileList.Count-1 do
begin
sName:=FileList[i]+'.mpg';
if FileExists(edDir.Text+sName) then
begin
meoLog.lines.Add(sName);
end
else
begin
Memo1.Lines.Add(sName);
end;
end;
FileList.Free;
end;end.
显示结果:现在的问题是不管"存在"或是"不存在"它都将结果显示在"不存在"里面 ,请高手指点.
sName:=FileList[i]+'.mpg';
以上两个sName的赋值有矛盾,到底带不带后缀
而且
meoLog.Lines.Add('以下文件存在'); 下面的取值没有循环,只有一个i,此时i还未被指定值,
你得代码漏洞太多,还是仔细查查吧
最开始这句的i值从哪来,都没有初始化procedure TForm1.Button1Click(Sender: TObject);
var
FileList:TStringList;
sName:string;
i:Integer;
begin
FileList:=TStringList.Create;
FileList.LoadFromFile(edFile.Text);
meoLog.Lines.Add('以下文件存在');
Memo1.Lines.Add('以下文件不存在');
for i := 0 to FileList.Count-1 do
begin
sName:=FileList[i];
if FileExists(edDir.Text+sName) then
meoLog.lines.Add(sName);
else
Memo1.Lines.Add(sName);
end;
FileList.Free;
end;