Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.02.2011, 22:01
juggle juggle вне форума
Прохожий
 
Регистрация: 12.12.2010
Сообщения: 24
Репутация: -20
Стрелка Разделить строку данных на отдельные числа

Народ, подскажите, пожалуйста, как мне реализовать заполнение данных из txt фаила в SrtingGrid.
Фаил заполнен так:
2 3 4
5 6 7
.....
Когда я пытаюсь подгрузить такой фаил, то у меня заполняется первый столбец данными всей строки, а мне надо чтобы каждое число в своей ячейке было. Что нужно поменять?
Код:
//DownLoad the file
procedure TForm1.Button2Click(Sender: TObject);
 
  var
  i,j,m,n:integer;
  s:string;
  input:TextFile;
 
begin
 
if OpenDialog1.Execute then
      begin
 
    AssignFile(input, OpenDialog1.FileName);
    Reset(input);
  
     m:=strtoint(Edit1.Text);
     n:=strtoint(Edit2.Text);
 
    for i := 0 to m - 1 do
    begin
       for j := 0 to n - 1 do
       begin
         Readln(input, s);
         StringGrid1.Cells[i,j] := s;
       end;
       Readln(input);
    end;
       CloseFile(input);
  end;
Ответить с цитированием
  #2  
Старый 05.02.2011, 22:12
Аватар для GriLab
GriLab GriLab вне форума
Начинающий
 
Регистрация: 26.11.2010
Адрес: Минск
Сообщения: 190
Версия Delphi: XE 15.0.3890
Репутация: 415
По умолчанию

Цитата:
Сообщение от juggle
Народ, подскажите, пожалуйста, как мне реализовать заполнение данных из txt фаила в SrtingGrid.
Фаил заполнен так:
2 3 4
5 6 7
.....
Когда я пытаюсь подгрузить такой фаил, то у меня заполняется первый столбец данными всей строки, а мне надо чтобы каждое число в своей ячейке было. Что нужно поменять?
Код:
//DownLoad the file
procedure TForm1.Button2Click(Sender: TObject);
 
  var
  i,j,m,n:integer;
  s:string;
  input:TextFile;
 
begin
 
if OpenDialog1.Execute then
      begin
 
    AssignFile(input, OpenDialog1.FileName);
    Reset(input);
  
     m:=strtoint(Edit1.Text);
     n:=strtoint(Edit2.Text);
 
    for i := 0 to m - 1 do
    begin
       for j := 0 to n - 1 do
       begin
         Readln(input, s);
         StringGrid1.Cells[i,j] := s;
       end;
       Readln(input);
    end;
       CloseFile(input);
  end;

Я бы это делал по другому

Код:
    
for i := 0 to m - 1 do
begin
  for j := 0 to n - 1 do
  begin
    Read(input, s);
    StringGrid1.Cells[i,j] := s;
  end;
end;
Ответить с цитированием
  #3  
Старый 05.02.2011, 22:47
juggle juggle вне форума
Прохожий
 
Регистрация: 12.12.2010
Сообщения: 24
Репутация: -20
По умолчанию

В этом случае у меня считывается только первая строка и заполняется только первая верхняя ячейка.
Нужны еще идеи
Ответить с цитированием
  #4  
Старый 05.02.2011, 23:28
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Структура такая:
2 3 4
5 6 7
.....

и не иначе?

Тоесть не может быть?:
23 3 4
55 56 7 6 7
3
45 54 65

Просто как вопрос задаш - такой и ответ получишь.
Ответить с цитированием
  #5  
Старый 05.02.2011, 23:51
juggle juggle вне форума
Прохожий
 
Регистрация: 12.12.2010
Сообщения: 24
Репутация: -20
По умолчанию

Дана матрица m x n, т.е. во всех строках одинаковое количество цифр (m цифр), со стобцами аналогично.
Цифры могут быть как одно-, так и двузначиными, но все положительные!)

m и n задаются мною через ГУИ (Edit поля) и именно столько значений я хочу видеть в итоге (а не столько сколько есть в фаиле).

Последний раз редактировалось juggle, 05.02.2011 в 23:54.
Ответить с цитированием
  #6  
Старый 06.02.2011, 00:04
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

числа от 0 до 9 записываются 0,1,2 или 00,01,02,03 ?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:22.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025