A
abcxyz
Unregistered / Unconfirmed
GUEST, unregistred user!
小弟初学,代码很乱,不好意思。以下是我的代码,
目的是找出str中所有扩展名为.bat的文件名,如本例中应是abcde.bat和poiut.bat。
但我写得这段代码只能找出第一个.bat的文件名abcde.bat,后面一个就不行了,
怎样才能把它们都找出来并且都保存下来呢?注意事先不知道有多少个.bat,
本例有2个只是举的例子。
急啊!求各位快帮忙吧!
非常感谢!
var
Form1: TForm1;
str: string;
MyChar: string;
p, pTmp: Integer;
L: Integer;
pLen: Integer;
MyStrList: TStringList;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
MyStrList:=TStringList.Create;
str:='abcdefghi=abcde.bat qwertyioj/poiut.bat';
L:=Length(str);
p:=pos('.bat',str);
pTmp:=p;
MyChar:=copy(str,p+4,1);
if (MyChar='"') or (MyChar=' ') or (MyChar='>') then
begin
while (pTmp>0) and (str[pTmp]<>'/') and (str[pTmp]<>'/') and
(str[pTmp]<>'=') and (str[pTmp]<>'"')do
begin
Dec(pTmp);
end;
if (str[pTmp]='/') or (str[pTmp]='/') or
(str[pTmp]='=') or (str[pTmp]='"') then
begin
pLen:=(L-pTmp)-(L-(p+3));
MyStrList.Add(copy(str,pTmp+1,pLen));
delete(str,1,p+3);
end;
end;
end;
目的是找出str中所有扩展名为.bat的文件名,如本例中应是abcde.bat和poiut.bat。
但我写得这段代码只能找出第一个.bat的文件名abcde.bat,后面一个就不行了,
怎样才能把它们都找出来并且都保存下来呢?注意事先不知道有多少个.bat,
本例有2个只是举的例子。
急啊!求各位快帮忙吧!
非常感谢!
var
Form1: TForm1;
str: string;
MyChar: string;
p, pTmp: Integer;
L: Integer;
pLen: Integer;
MyStrList: TStringList;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
MyStrList:=TStringList.Create;
str:='abcdefghi=abcde.bat qwertyioj/poiut.bat';
L:=Length(str);
p:=pos('.bat',str);
pTmp:=p;
MyChar:=copy(str,p+4,1);
if (MyChar='"') or (MyChar=' ') or (MyChar='>') then
begin
while (pTmp>0) and (str[pTmp]<>'/') and (str[pTmp]<>'/') and
(str[pTmp]<>'=') and (str[pTmp]<>'"')do
begin
Dec(pTmp);
end;
if (str[pTmp]='/') or (str[pTmp]='/') or
(str[pTmp]='=') or (str[pTmp]='"') then
begin
pLen:=(L-pTmp)-(L-(p+3));
MyStrList.Add(copy(str,pTmp+1,pLen));
delete(str,1,p+3);
end;
end;
end;