function TFrm.Bin2Asc(Source : array of Byte; BufferLen: Integer) : AnsiString;
var
    temp : String;
    len : Integer;
    i : Integer;
    j : Integer;
    err: Boolean;
begin
  Result := '';
  temp := '';
  err := False;
  len := BufferLen;
  for i := 0 to len do begin
     j := Source[i];
      .................
     end;
     if (err) then Break;
  end;
  if (err) then
     Result := ''
  else
     Result := temp;
  Exit;
end;我现在需要输入一个字符串到函数,怎么办?

解决方案 »

  1.   

    你可以用如下方式调用a := Frm.bin2asc([67,68,69,70],3)输出来的是数组对应的ASCII字符串
      

  2.   

    其实函数也有点小小的问题,第二个参数完全可以不要, 而在函数中用length求得长度-1即可,
      

  3.   

    先把字符串转成Byte数组。
    var
    S:pchar;
    i:integer;
    buff:array of byte;
    ..........
    S:=pchar(“你的字符串”);
    for i:=0 to length(“你的字符串”)-1 do buff[i]:=byte((s+i)^);
      

  4.   

    var
       barray:array[0..5] of byte;
    begin
       barray[0]:=65;
       barray[1]:=66;
       barray[2]:=57;
       barray[3]:=90;
       barray[4]:=48;
       barray[5]:=97;
       ShowMessage(Bin2Asc(barray,6));