Valeu! Resolvi da seguinte forma: procedure TForm1.BitBtn1Click(Sender: TObject); var f: Textfile; x,y: integer; tempstr: string; begin OpenDialog1.Filter := 'Configuração do arquivo (*.TBL)|*.TBL'; OpenDialog1.InitialDir := 'C:\'; OpenDialog1.Title :='Abrir Minha Aplicação'; if OpenDialog1.Execute then begin assignfile (f,OpenDialog1.FileName); reset (f); while (not eof(f))do begin readln(f,tempstr); Memo1.Lines.Add(tempstr); end; CloseFile(f); end; grid.colcount := 3; grid.rowcount := 56; Y := 185; for x := 0 to 12 do begin grid.cells[0,x] := copy(memo1.lines[y], 1, 15); y := y + 1; end; Y := 185; for x := 0 to 12 do begin grid.cells[1,x] := copy(memo1.lines[y], 18, 9); y := y +1; end; Y := 185; for x := 0 to 12 do begin grid.cells[2,x] := copy(memo1.lines[y], 28, 5); y := y +1; end; Y := 198; for x := 13 to 27 do begin grid.cells[0,x] := copy(memo1.lines[y], 1, 15); y := y + 1; end; Y := 198; for x := 13 to 27 do begin grid.cells[1,x] := copy(memo1.lines[y], 18, 10); y := y +1; end; Y := 198; for x := 13 to 27 do begin grid.cells[2,x] := copy(memo1.lines[y], 29, 5); y := y +1; end; Y := 213; for x := 28 to 40 do begin grid.cells[0,x] := copy(memo1.lines[y], 1, 15); y := y + 1; end; Y := 213; for x := 28 to 40 do begin grid.cells[1,x] := copy(memo1.lines[y], 18, 9); y := y +1; end; Y := 213; for x := 28 to 40 do begin grid.cells[2,x] := copy(memo1.lines[y], 28, 5); y := y +1; end; Y := 226; for x := 41 to 55 do begin grid.cells[0,x] := copy(memo1.lines[y], 1, 15); y := y + 1; end; Y := 226; for x := 41 to 55 do begin grid.cells[1,x] := copy(memo1.lines[y], 18, 9); y := y +1; end; Y := 226; for x := 41 to 55 do begin grid.cells[2,x] := copy(memo1.lines[y], 29, 5); y := y +1; end; end;