Nun, das in Arrays zu transferieren sollte nicht allzu schwer sein. Du hast ein 9 mal 9 Array. Wenn ich das richtig verstanden habe, willst du eigentlich nur alle Zeichen einzeln speichern, also etwa:
Delphi-Quellcode:
procedure laden;
var datei:textfile; h:string; gesp:array[1..9,1..9] of byte;i,j:byte;
begin
assignfile(datei,'irgendeinname.txt');
reset(datei);
try
for i:=1 to 9 do
begin
readln(datei,h);
for j:=1 to 9 do
gesp[i,j]:=inttostr(h[j]);
end;
finally
closefile(datei);
end;
end;
Nun musst du halt ein dreidimensionales array vereinbaren (ein Array von zweidimensionalen Arrays) und das eben statt "gesp" einsetzen. Du musst dann aber auch im ganzen Programm vereinbaren, dass 0 leeres Feld heißt.
Mit dem Stringgrid fällt mir gerade nichts ein, notfalls musst du es als nicht editierbar einstellen und dann auf onkeypresses reagieren.