function StrCat(Dest: PChar; const Source: PChar): PChar;

解决方案 »

  1.   

    intSrcLen := StrLen(pchar2);
    move(pcharNew^, Ptr(Integer(pchar2) + intSrcLen)^, NewLen);
    pchar2[intSrcLen + NewLen] := #0;
      

  2.   

    但是假设我的程序这样的 
    precodure  movechar(pdata^,pdata^:pchar;lenth:smallint)
    var
      i:smallint;
    begin
      for i:=0 to 3 do
        begin
          move(pdata1^,pdata2^,lenth);
          pdata1^='8888888';
       end;
    要把每次的pdata1加到pdata2原有的后面
      

  3.   

    不知我的建议可否:
      先将pchar类型转换为String类型,连接后再转换为pchar类型.
      

  4.   

    // 根据假设,虽然此过程的做法毫无意义
    precodure movechar(pdata1, pdata2: pchar; Count:smallint)
    var
       intSrcLen, intNewLen: Integer;
    begin
       intSrcLen := StrLen(pdata2);
       intNewLen := Count;
       for i:=0 to 3 do
       begin
          move(pdata1^, Ptr(Integer(pdata2) + intSrcLen)^, intNewLen);
          intSrcLen := intSrcLen + intNewLen;
          pdata1 := '8888888';
          intNewLen := StrLen(pdata1);
       end;
       pdata2[intSrcLen] := #0;
    end;