Pascal copy-Befehl

Warum funktioniert folgendes Programm nicht:

var a: array[1…256] of char;
i,j:integer;
d:string;
begin
readln(d);
j:= ord(d[0]);
for i:=1 to j do a[i]:= copy(d,i,1); +++
end.

Immer wenn ich auf compile gehe steht der curser an der mit „+++“ markierten Stelle und es erscheint die Fehlermeldung „type mismatch“.
Ich kann den Fehler nicht finden und besitze leider auch kein Pascal Buch.

Hallo Georg,

copy liefert als Resultat ein String (auch wenn er wie in diesem Fall nur ein Zeichen lang ist), a[i] ist aber char.
Mit

a[i]:=d[i];

sollte es laufen.

Gruß, Steffen

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Grüße!

Der Rückgabewert der copy-Funktion ist nunmal ein String und kein Char! Versuchs mal mit folgendem:

a[i]:=CHAR(copy(d,i,1));

Wolfgang