刚才没有理解你的意思,,可以使用POS procedure TForm1.BitBtn1Click(Sender: TObject); var sStr:string; begin if not OpenPictureDialog1.Execute then Abort; sStr := edit1.text//函路径的文件名 if lentth(sstr)>1 Begin while pos('/', sStr) <> 0 do sStr := copy(sStr, 1, pos('/', sStr) + 1); end;//最后不含路径的文件名 showmessage(sstr); end;
去掉上面的 ` 发表于:2007-10-08 19:19:062楼 得分:0 刚才没有理解你的意思,,可以使用POS if not OpenPictureDialog1.Execute then Abort;
function GetStr(str:string):string; function getpos(str:string):integer; var len,i:integer; begin result:=0; len:=length(str); for i:=len downto 1 do if str[i]='/' then begin result:=len-i+1; break; end; end; var index:integer; begin index:=getpos(str); result:=copy(str,1,length(str)-index+1); end;procedure TForm1.Button1Click(Sender: TObject); var str:string; begin str:='800/758/569'; showmessage(getstr(str)); end;
WANGXUELLD ,我比较欣赏你的语法,但按你做,我取到了800/而已,有什么不对呀
function ExtractStr(Str:WideString):WideString; begin Result:=Copy(Str,1,Length(Str)-Pos('/',ReverseString(Str))+1); end;procedure TForm1.Button1Click(Sender: TObject); var Str:Widestring; begin Str:=ExtractStr('802340/758234/569324234'); ShowMessage(Str); end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var
sStr:string;
begin
if not OpenPictureDialog1.Execute then
Abort;
sStr := edit1.text//函路径的文件名
if lentth(sstr)>1
Begin
while pos('/', sStr) <> 0 do
sStr := copy(sStr, 1, pos('/', sStr) + 1);
end;//最后不含路径的文件名
showmessage(sstr);
end;
`
发表于:2007-10-08 19:19:062楼 得分:0
刚才没有理解你的意思,,可以使用POS if not OpenPictureDialog1.Execute then
Abort;
function getpos(str:string):integer;
var
len,i:integer;
begin
result:=0;
len:=length(str);
for i:=len downto 1 do
if str[i]='/' then
begin
result:=len-i+1;
break;
end;
end;
var
index:integer;
begin
index:=getpos(str);
result:=copy(str,1,length(str)-index+1);
end;procedure TForm1.Button1Click(Sender: TObject);
var
str:string;
begin
str:='800/758/569';
showmessage(getstr(str));
end;
function ExtractStr(Str:WideString):WideString;
begin
Result:=Copy(Str,1,Length(Str)-Pos('/',ReverseString(Str))+1);
end;procedure TForm1.Button1Click(Sender: TObject);
var
Str:Widestring;
begin
Str:=ExtractStr('802340/758234/569324234');
ShowMessage(Str);
end;