+ -
当前位置:首页 → 问答吧 → function GetParamStr(P: PChar; var Param: string): PChar;

function GetParamStr(P: PChar; var Param: string): PChar;

时间:2011-08-09

来源:互联网

function GetParamStr(P: PChar; var Param: string): PChar;
var
  i, Len: Integer;
  Start, S, Q: PChar;
begin
  while True do
  begin
  while (P[0] <> #0) and (P[0] <= ' ') do
  P := CharNext(P);
  if (P[0] = '"') and (P[1] = '"') then Inc(P, 2) else Break;
  end;
  Len := 0;
  Start := P;
  while P[0] > ' ' do
  begin
  if P[0] = '"' then
  begin
  P := CharNext(P);
  while (P[0] <> #0) and (P[0] <> '"') do
  begin
  Q := CharNext(P);
  Inc(Len, Q - P);
  P := Q;
  end;
  if P[0] <> #0 then
  P := CharNext(P);
  end
  else
  begin
  Q := CharNext(P);
  Inc(Len, Q - P);
  P := Q;
  end;
  end;

  SetLength(Param, Len);

  P := Start;
  S := Pointer(Param);
  i := 0;
  while P[0] > ' ' do
  begin
  if P[0] = '"' then
  begin
  P := CharNext(P);
  while (P[0] <> #0) and (P[0] <> '"') do
  begin
  Q := CharNext(P);
  while P < Q do
  begin
  S[i] := P^;
  Inc(P);
  Inc(i);
  end;
  end;
  if P[0] <> #0 then P := CharNext(P);
  end
  else
  begin
  Q := CharNext(P);
  while P < Q do
  begin
  S[i] := P^;
  Inc(P);
  Inc(i);
  end;
  end;
  end;

  Result := P;
end;

作者: yuanqingkun0103   发布时间: 2011-08-09

作者: sailxia   发布时间: 2011-08-09

分享????还是。。。。。

作者: m617105   发布时间: 2011-08-09

好长的代码 ,好迷茫啊

作者: cai5   发布时间: 2011-08-09

热门下载

更多