Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.09.2009, 12:09   #1
emirk1
Новичок
Джуниор
 
Регистрация: 04.09.2009
Сообщений: 4
По умолчанию чтение StringGrid из файла

Подскажите срочно пожалуйста, вот процедура сохранения значений StringGrid в текстовый файл построчно и красиво. Как будет выглядеть процедура загрузки из файла в stringgrid?

Код:
procedure TForm1.Button4Click(Sender: TObject);
var
   f: TextFile;
  i,j: integer;
begin
AssignFile(f,'1.txt'); Rewrite(f);
WriteLn(f, StringGrid1.RowCount-1, ' ', StringGrid1.ColCount-1);
for i:=1 to StringGrid1.RowCount-1 do
begin
for j:=1 to StringGrid1.ColCount-1 do
begin
write(f,stringgrid1.Cells[j,i]);
if j < StringGrid1.ColCount then write(f,' ');
end;
writeln(f);
end;
   CloseFile(f);
end;

Последний раз редактировалось Stilet; 04.09.2009 в 12:12.
emirk1 вне форума Ответить с цитированием
Старый 04.09.2009, 12:14   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Примерно так:
Код:
var
   f: TextFile;
  i,j: integer;
s:string;
begin
AssignFile(f,'1.txt'); Reset(f);
readLn(f, i,j);
stringgrid.RowCount:=i;
stringgrid.ColCount:=j;
for i:=1 to StringGrid1.RowCount-1 do
begin
for j:=1 to StringGrid1.ColCount-1 do
begin
read(f,s);stringgrid1.Cells[j,i]):=s;
end;
readln(f);
end;
   CloseFile(f);
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.09.2009, 12:16   #3
emirk1
Новичок
Джуниор
 
Регистрация: 04.09.2009
Сообщений: 4
По умолчанию

Код:
procedure TForm1.Button3Click(Sender: TObject);
var
   f: TextFile;
  i,j: integer;
s:string;
begin
AssignFile(f,'1.txt'); Reset(f);
readLn(f, i,j);
stringgrid1.RowCount:=i;
stringgrid1.ColCount:=j;
for i:=1 to StringGrid1.RowCount-1 do
begin
for j:=1 to StringGrid1.ColCount-1 do
begin
read(f,s);stringgrid1.Cells[j,i]:=s;
end;
readln(f);
end;
   CloseFile(f);
end;
забивает всё в один столбец. читает правильно, но все символы в одном столбце, по столбцам не разбивает
emirk1 вне форума Ответить с цитированием
Старый 04.09.2009, 12:23   #4
emirk1
Новичок
Джуниор
 
Регистрация: 04.09.2009
Сообщений: 4
По умолчанию

записал вот так вот:

а считал вот так:


Переменная s должна быть другого типа? не string. какого? тк не читает правильно.

Последний раз редактировалось Stilet; 04.09.2009 в 12:45.
emirk1 вне форума Ответить с цитированием
Старый 04.09.2009, 12:42   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Так пойдет?:
Код:
var
   f: TextFile;
  i,j: integer;
 s:string;
begin
AssignFile(f,ExtractFilePath(paramstr(0))+'file1.txt'); Reset(f);
readLn(f, i,j);
stringgrid1.RowCount:=i;
stringgrid1.ColCount:=j;
for i:=0 to StringGrid1.RowCount-1 do
begin
 readln(f,s);
 StringGrid1.Rows[i].Delimiter:=' ';
 StringGrid1.Rows[i].DelimitedText:=s;
end;
   CloseFile(f);
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.09.2009, 12:53   #6
emirk1
Новичок
Джуниор
 
Регистрация: 04.09.2009
Сообщений: 4
По умолчанию

вот че творит.

а в предыдущем коде надо типа вместо string другой тип задать и будет работать. догнать не могу.
emirk1 вне форума Ответить с цитированием
Старый 04.09.2009, 13:23   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
emirk1
во-первых. Вместо ого чтоб картинки пихать лучеб текст вписал.
Во-вторых. а надо то как?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.09.2009, 14:04   #8
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Посмотрите этот вариант
Вложения
Тип файла: zip SaveGrid.zip (10.0 Кб, 63 просмотров)
SERG1980 вне форума Ответить с цитированием
Старый 05.01.2011, 22:56   #9
LelikBolik
 
Регистрация: 03.01.2011
Сообщений: 7
По умолчанию

Хоть тема и была создана давно все равно хочется сказать большое спасибо! Очень полезная информация
LelikBolik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
чтение из файла dedokk1234 Общие вопросы C/C++ 0 15.06.2009 19:10
Чтение из файла e@gle Общие вопросы Delphi 3 14.12.2008 17:21
Чтение из файла Amen БД в Delphi 2 09.12.2008 10:40
Чтение из файла Arkuz Общие вопросы Delphi 14 08.10.2008 19:52
чтение файла Arteom Общие вопросы Delphi 6 27.08.2007 18:15