![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
сжатие данных
Цукор5 © (2006-05-22 23:14:00)Есть TStringGrid. Предположим RowCount=8000 ColCount=6, а пользователь заполнил всего лишь 100 строк.
Каким образом сохранить данные в файл,чтобы файл был как можно меньше?
При сохранении указывать Row,Col для каждой ячейки где есть данные? Вроде не выгодно...особенно когда у грида будет почти все заполено.
Какие есть варианты???
novill (2006-05-23 16:39:00) [1]были где-то бесплатные компоненты для архивирования ...
beglec (2006-05-23 11:56:00) [2]
> Цукор5
Куда уж просче то ??? всего одно событие обрабатывать.
Зато экономия и быстродействие
в любом случае пользователь не будет заполнять
только 1 и 8000 а все остальные пыстыми держать?
Palladin (2006-05-23 09:33:00) [3]Перенос данных в TStringList стандартным разделителем столбцов (таб например или точка с запятой) и TStringList.SaveToFile
Цукор5 (2006-05-23 09:29:00) [4]меня не интересует код...мне интересно направление :)
Т.е. как бы Вы решили подобный сабж.
Цукор5 (2006-05-23 09:27:00) [5]2 Palladin © (23.05.06 09:18) [4]
Это как раз понятно. Непонятно ...как это сделать красивее и лучше?
Цукор5 (2006-05-23 09:18:00) [6]других вариантов не будет ???
Palladin (2006-05-23 09:18:00) [7]
> Цукор5 (23.05.06 01:14) [2]
Вариант только один. Не сохранять незаполненные строки.
Цукор5 (2006-05-23 01:14:00) [8]>А зачем тебе 8000???
А затем... Пользователь может отчитать девайс и наполнить все 8000 или скопировать блок с Excel и вставить. Муторно мне +1 делать.
beglec (2006-05-22 23:39:00) [9]А зачем тебе 8000???
Делай когда последнию заполнил сразу +1 строчка.
тогда ничего лишнего сохранять не нужно будет
заполнение последней строчки проверить легко
if SG.Cells[1,SG.Row]<>'' then SG.RowCount:=SG.RowCount+1;