var posrition:integer; tempstr :String;posrition := 0; TempStr := 'c:\windows\system'; for i = length('c:\windows\system') downto 1 do if TempStr[i] = '\' then Begin posrition := i; break; end;
ExtractFilepath('c:\windows\system');
function GetCharPos(S:String;C:Char;N:integer):Integer; //取得S中C第N次出现的位置 var i,j:integer; p:array[1..100] of integer; begin for i:=1 to Length(S) do if S[i]=C then begin Inc(j); if j=N then Result:=i; end; end;
把上述for i:=1 to Length(S) do 换成for i:=Length(S) downto 1 do 就变成了取得S中C倒数第N次出现的位置。
Sorry,上述语句应先初始化j的值为0即 function GetCharPos(S:String;C:Char;N:integer):Integer; //取得S中C第N次出现的位置 var i,j:integer; p:array[1..100] of integer; begin j:=0; for i:=1 to Length(S) do if S[i]=C then begin Inc(j); if j=N then Result:=i; end; end;
posrition:integer;
tempstr :String;posrition := 0;
TempStr := 'c:\windows\system';
for i = length('c:\windows\system') downto 1 do
if TempStr[i] = '\' then
Begin
posrition := i;
break;
end;
//取得S中C第N次出现的位置
var i,j:integer;
p:array[1..100] of integer;
begin
for i:=1 to Length(S) do
if S[i]=C then
begin
Inc(j);
if j=N then
Result:=i;
end;
end;
换成for i:=Length(S) downto 1 do
就变成了取得S中C倒数第N次出现的位置。
function GetCharPos(S:String;C:Char;N:integer):Integer;
//取得S中C第N次出现的位置
var i,j:integer;
p:array[1..100] of integer;
begin
j:=0;
for i:=1 to Length(S) do
if S[i]=C then
begin
Inc(j);
if j=N then
Result:=i;
end;
end;