Herzlich willkommen in der Delphi-PRAXiS, Gingerbreadman.
Ein Unterschied zwischen deinem (statischen) array of Char und dem String Edit.Text liegt darin, dass bei der Variable Versuch nur der Compiler weiß, wieviele Zeichen hinein passen, während diese Information bei einem String versteckt mit abgespeichert wird.
Die Übertragung von Zeichen zwischen Edit.Text und Versuch kannst du Zeichen für Zeichen in einer Schleife oder unter Verwendung von Systemroutinen blockweise vornehmen:
Delphi-Quellcode:
var
i: Integer;
s: String;
begin
// zeichenweise
s := Edit.Text;
for i := Low(Versuch) to High(Versuch) do
if i > Length(s)
then Versuch[i] := #0
else Versuch[i] := s[i];
// blockweise
if Length(s) > Length(Versuch) then
Move(s[1], Versuch[1], Length(Versuch))
else
begin
FillChar(Versuch, Length(Versuch), #0);
Move(s[1], Versuch[1], Length(s));
end;
end;
Hoffentlich habe ich nicht zu viele Fehler eingebaut...
Freundliche Grüße vom marabu