Показать сообщение отдельно
  #1  
Старый 07.01.2011, 17:08
juggle juggle вне форума
Прохожий
 
Регистрация: 12.12.2010
Сообщения: 24
Репутация: -20
Вопрос Как считать матрицу из .txt фаила?

Помогате, пожалуйста, с аргоритмом считывания данных из фаила.
Моя задача: загрузить в StringGrid данные из фаила, загруженного через OpenDialog.
В .txt фаиле матрица записана вот так:
1 2 5
3 5 4
2 3 5

В моем варианте проги получается считывать начиная с 3-ей строки и записываются все цифры сразу в одну ячейку.
Подскажите, что надо поменять?

Код:
//DownLoad the file
procedure TForm1.Button2Click(Sender: TObject);

  var
  i,j,m,n:integer;
  b,c:string;
  input:TextFile;

begin
if OpenDialog1.Execute then
      begin
      AssignFile(input, OpenDialog1.FileName);
      Reset(input);

           i:=0;
           while not EOF(input) do
           begin
            j:=0;
            while not EOLN(input) do
                 begin
              //  Read(a[i][j]); // does not work
                   ReadLn(input,b);
                   StringGrid1.Cells[i,j]:=b;
                 j := j + 1;
                 end;
            i := i + 1;
            ReadLn(input,c);
            StringGrid1.Cells[i,j]:=c;
            end;

//Show values from file in grid
        m:=strtoint(Edit1.Text);
        n:=strtoint(Edit2.Text);
            for i:=0 to m-1 do
            begin
                 for j:=0 to n-1 do
                 begin
                 StringGrid1.cells[j,i]:=IntToStr(a[i,j]);
                 end;
            end;
        CloseFile(input);
        end;
end;
Ответить с цитированием