如题,
var
  a : array [1..199] of byte;
  s : string;
begin
  //这里我用move总是失败
  a[1] := 78;
  move(a, s, sizeof(a));
  showmessage(s); 
end;
请帮忙,谢了先

解决方案 »

  1.   

    Function ByteToStr (NameArr :Array of byte):String; 
    var I:Integer; 
        S:String; 
    Begin 
     Setlength(S,High(NameArr)+1); 
     For I:=Low(NameArr) to High(NameArr) do S[I+1]:=Char(NameArr[I]); 
     Result :=Pchar(S); 
    End;
      

  2.   

    这样写:
    var
      a : array [1..199] of byte;
      s : string;
    begin
      //这里我用move总是失败
      a[1] := 78;
      SetLength (s,sizeof(a));
      move(a,s[1], sizeof(a));
      showmessage(s);
      

  3.   

    最简单的方法 ^_^
    var
      a : array [1..199] of Byte;
      s : string;
    begin
      a[1] := 78;
      s := StrPas(@a);
      ShowMessage(s);
      

  4.   

    unit SysUtils;function StrPas(const Str: PChar): string;
    begin
      Result := Str;
    end;
    能行吗?
      

  5.   

    var
      a : array [1..199] of Byte;
      s : string;
    begin
      a[1] := 78;
      s := pchar(@a);
      ShowMessage(s);
      

  6.   

    var
      a : array [1..199] of byte;
      s : string;
    begin
      a[1] := 78;
      s:=string(pchar(@a));
      showmessage(s);
    end;
      

  7.   

    不知道你所谓的byte中都是放的什么东东,你想要得到的是什么?是字符,还是字,还是二进制数
    procedure TForm1.Button1Click(Sender: TObject);
    var
      I:Integer;
      S:String;
      str: string;
      arr:array[1..99] of byte;
    Begin
      for i:=1 to 99 do
      arr[i]:=9;
      For i:=Low(Arr) to High(Arr) do
      Str:=str+'分隔符'+inttostr(arr[i]);
      showmessage(str);end;