F
feng_me
Unregistered / Unconfirmed
GUEST, unregistred user!
[?]function GetLinkName(SourceStr: string): Pchar;
var
Name: array[0..100] of char;
i, len: integer;
TempStr:string;
begin
result:='';
for i := 1 to 100 do
Name := #0;
len := length(SourceStr);
Strpcopy(Name, SourceStr);
if Name[len] = '/' then
len := len - 1;
if len <> 2 then
begin
for i := len downto 1 do
if Name = '/' then
begin
showmessage(inttostr(i));
result:=Pchar(copy(Name, i + 2, len-i));
break;
end;
end;
end;
procedure TMainForm.Button2Click(Sender: TObject);
begin
edit1.Text:=GetLinkName('c:/kav');
end;
这本来是截取路径里最后一个目录(或文件)的名字的小程序,
但是如果使用‘c:/kav’等小于6个字符长的话,edit1就什么也不显示。
‘c:/kdjfasljkdlsajkfa;l’就可以显示出kdjfasljkdlsajkfa;l而且没有什么
错误。
我弄了很长时间,还是搞不懂。
本贴分数将献给告诉我原因或能给我通俗的(或例子)讲解几种字符串类型作用域的大侠。
var
Name: array[0..100] of char;
i, len: integer;
TempStr:string;
begin
result:='';
for i := 1 to 100 do
Name := #0;
len := length(SourceStr);
Strpcopy(Name, SourceStr);
if Name[len] = '/' then
len := len - 1;
if len <> 2 then
begin
for i := len downto 1 do
if Name = '/' then
begin
showmessage(inttostr(i));
result:=Pchar(copy(Name, i + 2, len-i));
break;
end;
end;
end;
procedure TMainForm.Button2Click(Sender: TObject);
begin
edit1.Text:=GetLinkName('c:/kav');
end;
这本来是截取路径里最后一个目录(或文件)的名字的小程序,
但是如果使用‘c:/kav’等小于6个字符长的话,edit1就什么也不显示。
‘c:/kdjfasljkdlsajkfa;l’就可以显示出kdjfasljkdlsajkfa;l而且没有什么
错误。
我弄了很长时间,还是搞不懂。
本贴分数将献给告诉我原因或能给我通俗的(或例子)讲解几种字符串类型作用域的大侠。