Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

StringGrid save [D5, WinME]


Gayrus ©   (2002-01-15 16:51:00) 

Нужно сохранить всю таблицу в одном файле, ну и, конечно, потом загрузить (Ну не создавать же мне пять файлов рядом с одним ехе"шником по семь строчек в каждом! )


SoftOne   (2002-01-17 03:45:00) [1]

Кстати, RxLib дан нам свыше, не только для бездумного использования, но и, благодаря наличию исходников, для "творческого преобразования".


Gayrus   (2002-01-17 03:18:00) [2]

>SAN
Я же не лопух чтоб такого не заметить, так что пишите как можно больше я разберусь :)


McSimm   (2002-01-16 10:51:00) [3]

Вот откопал - уже был такой вопрос и я на него ответил так:
Сам не проверял, но у спросившего все получилось

Надо написать процедуру сохранения и чтения файла.

procedure SaveStringGrid;
var F: TextFile
I, J: Integer;
begin
AssignFile(f,...);
Rewrite(F);
Writeln(F, StringGrid.ColCount);
Writeln(F, StringGrid.RowCount);
for I := 0 to StringGrid.ColCount - 1 do
for J := 0 to StringGrid.RowCount - 1 do
Writeln(F, StringGrid.Cols[I][J]
end


procedure LoadStringGrid;
var F: TextFile
I, J, CI, CJ: Integer;
S: String;
begin
AssignFile(f,...);
Reset(F);
Readln(F, CI);
ReadLn(F, CJ);
for I := 0 to CI - 1 do
begin
StringGrid.Cols[I].Clear;
for J := 0 to CJ - 1 do
begin
Readln(F, S);
StringGrid.Cols[I].Add(S)
end
end
end


SAN   (2002-01-16 10:48:00) [4]

>Фе
Лучше ничего не писать, чем все время писать с ОШИБКАМИ.Я подсказал, как можно сделать, а писать всю программу не очень охота.


Gayrus   (2002-01-16 05:26:00) [5]

>2 davile
WriteComponentResFile("C:\StrGr.cool", StringGrid1);
Это запись, но у меня ошибка если пытаюсь:
ReadComponentResFile("C:\StrGr.cool", StringGrid1);
Не находит какой-то класс: "class TInplaceEdit not found".


Gayrus   (2002-01-16 03:05:00) [6]

Спасиба


Фе   (2002-01-15 20:37:00) [7]

P.S.
Sorry вместо
Cols == i читать ColCount == i
Rows == j читать RowCount == j

А тем кому лень объяснять или "не помню" - лучше в тряпочку молчать.


Фе   (2002-01-15 20:33:00) [8]

TStringGrid - это таблица у которой есть
Cols == i, Rows == j и Cells[i,j]
Пишешь в обычный текст файл
outfile: TextFile;
AssignFile(outfile, "C:\my.txt");
Rewrite(outfile);
Так

В цикле по строкам j
for j=0 to Rows-1

Формируешь строку как
for i:-0 to Cols-1
s:=s + DLM + Cells[i,j] //DLM: char - произваольный разделитель, например, запятая ","

writeln(outfile,s);

..
CloseFile(outfile);
****************
Вот и все, чтение - захочешь - догадаешься.



SAN   (2002-01-15 17:19:00) [9]

Лень объяснять. У тебя судя по всему маленькая таблица - пиши через IniFile


davile   (2002-01-15 17:04:00) [10]

WriteComponentResFile(параметры не помню)


Gayrus   (2002-01-15 16:59:00) [11]

Kak? (Я стримами редко пользуюсь)


SAN   (2002-01-15 16:56:00) [12]

Простейший вариант сохранять просто в IniFile
[Row1]
Column1="aaaa"
Column2="////"
[row2]
Column3="aaaa"
Column4="////"

Можно через FileStream(BlockRead\BlockWrite) это делать.


Наверх

Титульная страница Поиск, карта сайта Написать письмо