So schlimm isses nun auch wieder nicht? Die Idee mit dem #0 von #15 finde ich übrigens besser als meine Variante.
Delphi-Quellcode:
const
cMaxCharCount = 100;
type
TCharArray = array [0..cMaxCharCount - 1] of char;
..
function StrToCharArray(const S: string): TCharArray;
var
I: integer;
begin
for I := 1 to Length(S) do
Result[I - 1] := S[I];
Result[Length(S)] := #0;
end;
function CharArrayToStr(const Value: TCharArray): string;
var
I: integer;
begin
SetLength(Result, StrLen(Value));
for I := 0 to StrLen(Value) - 1 do
Result[I + 1] := Value[I];
end;
procedure TForm1.Button1Click(Sender: TObject);
var
A: TCharArray;
begin
A := StrToCharArray('Hallo');
Showmessage(Format('%s %d', [CharArrayToStr(A), StrLen(A)]));
Showmessage(Format('%s %d', [CharArrayToStr(A), Length(CharArrayToStr(A))]));
end;