如何把'c:\program\...\c80.exe'中的C80提取出来. 其中C80的长度是不知道的,可能是c8080等可以确定的是它的前面一定'/'后面是'.exe'有什么最简洁的方法?
解决方案 »
- QQ 大家来找茬 辅助工具
- 有看过Windows高级编程指南的吗,有个问题!
- 再问一个关于DLL里线程的问题
- 一个qreport报表的问题
- AdoTable中只更新某个字段值为True的记录.
- 向同一网段内广播文件,请给出例子
- 急 、急、 急
- 对不起,各位高手想问一个问题???望解答
- FastReport 多行打印的问题 。。。。。。。。。。。。。。。。。。。。。救救。。。。
- 请问有谁知道一些好的新闻组?
- 在函数中使用result:=类.create,用完后怎么来释放该内存呢?
- 请教,怎么样在win2000下实现拨号和挂断?用以前的方法好像只在win98 下用得,2000下好像不行?谁能说说??
sFileName :string ;
begin
sFileName := ExtractFileName('c:\program\c80.exe') ;
sFileName := ChangeFileExt(sFileName, '') ;
end;
function ListCount(mList: String; mDelimiter: String): Integer;
function ListValue(mList: String; mIndex: Integer; mDelimiter: String =','): String;implementation//============================ StrLeft =====================================//
function StrLeft(const mStr: string; mDelimiter: string): string;
{ 返回左分隔字符串 }
begin
Result := Copy(mStr, 1, Pos(mDelimiter, mStr) - 1);
end;//=========================== ListCount =====================================//
function ListCount(mList: string; mDelimiter: string ): Integer;
{ 返回列表数 }
var
I, L: Integer;
mListC:String;
begin
Result := 0;
if mList = '' then Exit;
mListC := mList;
L := Length(mList);
I := Pos(mDelimiter , mList);
while I > 0 do begin
mList := Copy(mList , I + Length(mDelimiter), L);
I := Pos(mDelimiter , mList);
Inc(Result);
end;
Inc(Result);
if PChar(mListC)[0] = mDelimiter then
Result := Result - 1;
if PChar(mListc)[Length(mListc)-1] = mDelimiter then
Result := Result - 1;
end;//============================= ListValue ==================================//
function ListValue(mList: string; mIndex: Integer; mDelimiter: string = ','): string;
{ 返回列表指定位置的元素 }
var
I, L, K: Integer;
begin
if Pchar(mList)[Length(mList)-1] <> mDelimiter then
mList:=mList + mDelimiter;
L := Length(mList);
I := Pos(mDelimiter, mList);
K := 0;
Result := '';
while (I > 0) and (K <> mIndex) do begin
mList := Copy(mList, I + Length(mDelimiter), L);
I := Pos(mDelimiter, mList);
Inc(K);
end;
if K = mIndex then
Result := StrLeft(mList + mDelimiter, mDelimiter);
end;end.例程:
var
aTempStr: String;
begin
aTempStr := ListValue('c:\program\c80.exe', ListCount('c:\program\c80.exe', '\') - 1, '\');
end;
aTempStr: String;
begin
aTempStr := ListValue('c:\program\c80.exe', ListCount('c:\program\c80.exe', '\') , '\');
end;