Strings sind 1-basiert. Das heisst, daß das erste Zeichen nicht über
startzeichen = zeichen[0]
sondern über
startzeichen = zeichen[1]
erreicht wird. Alle Zeichen demzufolge mit
Delphi-Quellcode:
for I := 1 to Length(Zeichen) do
ShowMessage(Zeichen[I]);
...
...