var s,s1:string; begin s:='c:\myfile\aaa.txt'; s1:=copy(s,3,length(s)-3); end;
function IsNum(str: string): string; var i,j: Integer; s,s1,s2:string; begin j:=0; //判断j出现的次数。倒序进来。当出现第二次主不再加了。 for i := Length(str) downto 1 do begin if (str[i]='\') And (j=2); then break; else j=inc(j); s1:=s1+str[i]; end;
//再把s1 的内容倒顺过来。 for i:=length(s1) downto 1 do s2:=s2+s1[i]; end;
function IsNum(str: string): string; var i,j: Integer; begin j:=0; //判断j出现的次数。倒序进来。当出现第二次主不再加了。 Result :=''; for i := Length(str) downto 1 do begin if (str[i]='\') And (j=2) then break else inc(j); Result:=str[i]+Result; end; end;
procedure ReadFileName(var MyFileList : TStringList; const AnyFile:String); var Found:integer; sr:TSearchRec; begin if FileGetAttr(AnyFile)<>faDirectory then//不是目录 begin MyFileList.Add(AnyFile); Exit; end; Found:=FindFirst(AnyFile+'\*.*',faAnyFile,sr); while Found=0 do begin if (sr.Name<>'.')and(sr.Name<>'..') then begin ReadFileName(MyFileList,AnyFile+'\'+sr.Name); end; Found:=FindNext(sr); end; if(sr.Name<>'.')and(sr.Name<>'..') then FindClose(sr); end;procedure TForm1.Button1Click(Sender: TObject); var MyFileList : TStringList; begin MyFileList := TStringList.Create; ReadFileName(MyFileList,'c:\xxx\yyy');//随便填文件夹 Memo1.Text :=MyFileList.Text;//如何在这里显示“YYY”文件夹里的所有文件和后面的路径 MyFileList.Free ; end; 我的问题应该要这么问:打开一个文件夹把文件夹后面的文件名全部显示 包括子文件夹下的文件名和每个文件名的路径,这个路径只取打开这个文件夹后面的路径, 前面的路径不显示。 如ReadFileName(MyFileList,'c:\xxx\yyy');//只显示"yyy\...\...\..."
s,s1:string;
begin
s:='c:\myfile\aaa.txt';
s1:=copy(s,3,length(s)-3);
end;
var
i,j: Integer;
s,s1,s2:string;
begin
j:=0; //判断j出现的次数。倒序进来。当出现第二次主不再加了。
for i := Length(str) downto 1 do
begin
if (str[i]='\') And (j=2); then
break;
else
j=inc(j);
s1:=s1+str[i];
end;
//再把s1 的内容倒顺过来。
for i:=length(s1) downto 1 do
s2:=s2+s1[i];
end;
var
i,j: Integer;
begin
j:=0; //判断j出现的次数。倒序进来。当出现第二次主不再加了。
Result :='';
for i := Length(str) downto 1 do
begin
if (str[i]='\') And (j=2) then
break
else
inc(j);
Result:=str[i]+Result;
end;
end;
var
Found:integer;
sr:TSearchRec;
begin
if FileGetAttr(AnyFile)<>faDirectory then//不是目录
begin
MyFileList.Add(AnyFile);
Exit;
end;
Found:=FindFirst(AnyFile+'\*.*',faAnyFile,sr);
while Found=0 do
begin
if (sr.Name<>'.')and(sr.Name<>'..') then
begin
ReadFileName(MyFileList,AnyFile+'\'+sr.Name);
end;
Found:=FindNext(sr);
end;
if(sr.Name<>'.')and(sr.Name<>'..') then
FindClose(sr);
end;procedure TForm1.Button1Click(Sender: TObject);
var
MyFileList : TStringList;
begin
MyFileList := TStringList.Create;
ReadFileName(MyFileList,'c:\xxx\yyy');//随便填文件夹
Memo1.Text :=MyFileList.Text;//如何在这里显示“YYY”文件夹里的所有文件和后面的路径
MyFileList.Free ;
end;
我的问题应该要这么问:打开一个文件夹把文件夹后面的文件名全部显示
包括子文件夹下的文件名和每个文件名的路径,这个路径只取打开这个文件夹后面的路径,
前面的路径不显示。
如ReadFileName(MyFileList,'c:\xxx\yyy');//只显示"yyy\...\...\..."