请问,我如何把‘c:/temp/hj.db’这个字符串一分为三,并附给三个变量。(50分)

  • 主题发起人 主题发起人 hljhc
  • 开始时间 开始时间
H

hljhc

Unregistered / Unconfirmed
GUEST, unregistred user!
请问,我如何把‘c:/temp/hj.db’这个字符串一分为三,并附给三个变量。即把
‘c:/temp/’赋给变量s,而把hj赋给变量s1,把.db赋给变量s3
请各位大侠指点,不胜感激。
 
一个字符一个字符的读
从后面网前,读到.是第一个,在读到/是第二个,其余是第三个。
一个循环搞定
 
s := ExtractFilePath('c:/temp/hj.db');
s1 := ExtractFileName('c:/temp/hj.db');
s3 := ExtractFileExt('c:/temp/hj.db');
s1 := copy(s1,1,length(s1)-length(s3));
 
s:=extractfilepath('c:/temp/hj.db');
s1:=extractfilename('c:/temp/hj.db');
s3:=copy(s1,pos('.',s1)+1,length(s1)-pos('.',s1));
就行了
 
什么意思,有必要吗?
给个参考一下吧,不知是不是这个意思.
Const LongString:=English.Chinese.Janpan;
Var I:Integer;
TempString:String;
begin
TempString := '';
for I:=1 to Length(LongString) do
begin
If Copy(LongSring,I,1)=',' //就是这里啦,如果是“,”的话,就得到了一个字符串了
Result := TempString
else
TempString := TempString +Copy(LongSring,I,1);
end;
 这样就可以把English,Chinese,Janpan三个字符串分离出来啦
end;

 
呵呵,楼上和我同时答了,
扩展名就是用extracfileext函数
 
str := ‘c:/temp/hj.db’;
t_s:='';
s:='';
s1:='';
s2:='';
j := 0;
for i : =1 to length(str)-1 do
begin
if str<>'/' then
t_s:=t_s+str;
else
begin
case j of
0:s:=t_s;
1:s1:=t_s;
2:s2:=t_s;
end;
inc(j);
t_s:='';
end;
end;
没测试,大体如此。
 
后退
顶部