Thema: Delphi PChar Problem

Einzelnen Beitrag anzeigen

quendolineDD

Registriert seit: 19. Apr 2007
Ort: Dresden
781 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: PChar Problem

  Alt 23. Mär 2009, 17:05
Wie wärs damit?
Delphi-Quellcode:
type
  TDynByteArr = Array of Byte;

function TryByteArrayToString(const bArr: TDynByteArr;
  var Str: String): Boolean;
var
  i : Integer;
begin
  Result := (sizeof(bArr) <> 0) or false;
  if Result then
  begin
    SetLength(Str, High(bArr)+2);
    for i := 0 to High(bArr) do
      try
        Str[i+1] := chr(bArr[i]);
      except
        Result := false;
      end;
  end;
end;

function TryStringToByteArray(const Str: String;
  var bArr: TDynByteArr): Boolean;
var
  i : Integer;
begin
  Result := (Str <> '') or false;
  if Result then
  begin
    SetLength(bArr, sizeof(Str));
    for i := 1 to sizeof(Str) do
      try
        bArr[i-1] := ord(Str[i]);
      except
        Result := false;
      end;
  end;
end;
Dürfte eigentlich alles einwandfrei funktionieren. Wenn du Array of Bytes verwendest musst du beim Funktionsaufruf erst zu TDynByteArray casten.
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.
  Mit Zitat antworten Zitat