var
str:string;
begin
str:='adsads\.....';\\这里为什么会显示是最后面一个位置,我试着给多几个点 STR:='dafd.........'结果一样 !!!???
if LastDelimiter('\.', str) = Length(str) then
showmessage('最后位置');
\\而在这里却不一样.....为什么??
if length('a......')= length('a....') then
showmessage('一样长');
end;
str:string;
begin
str:='adsads\.....';\\这里为什么会显示是最后面一个位置,我试着给多几个点 STR:='dafd.........'结果一样 !!!???
if LastDelimiter('\.', str) = Length(str) then
showmessage('最后位置');
\\而在这里却不一样.....为什么??
if length('a......')= length('a....') then
showmessage('一样长');
end;
var
P: PChar;
begin
Result := Length(S);
P := PChar(Delimiters);
while Result > 0 do
begin
if (S[Result] <> #0) and (StrScan(P, S[Result]) <> nil) then
{$IFDEF MSWINDOWS}
if (ByteType(S, Result) = mbTrailByte) then
Dec(Result)
else
Exit;
{$ENDIF}
{$IFDEF LINUX}
begin
if (ByteType(S, Result) <> mbTrailByte) then
Exit;
Dec(Result);
while ByteType(S, Result) = mbTrailByte do Dec(Result);
end;
{$ENDIF}
Dec(Result);
end;
end;