Вниз
Скачать: CL | DM;

сжатие данных   Найти похожие ветки 

← →
Цукор5   (2006-05-22 23:14) [0]

Есть TStringGrid. Предположим RowCount=8000 ColCount=6, а пользователь заполнил всего лишь 100 строк.
Каким образом сохранить данные в файл,чтобы файл был как можно меньше?

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


← →
beglec ©   (2006-05-22 23:39) [1]

А зачем тебе 8000???
Делай когда последнию заполнил сразу +1 строчка.
тогда ничего лишнего сохранять не нужно будет
заполнение последней строчки проверить легко
if SG.Cells[1,SG.Row]<>"" then SG.RowCount:=SG.RowCount+1;


← →
Цукор5   (2006-05-23 01:14) [2]

>А зачем тебе 8000???

А затем... Пользователь может отчитать девайс и наполнить все 8000 или скопировать блок с Excel и вставить. Муторно мне +1 делать.


← →
Цукор5   (2006-05-23 09:18) [3]

других вариантов не будет ???


← →
Palladin ©   (2006-05-23 09:18) [4]


> Цукор5   (23.05.06 01:14) [2]

Вариант только один. Не сохранять незаполненные строки.


← →
Цукор5   (2006-05-23 09:27) [5]

2 Palladin ©   (23.05.06 09:18) [4]
Это как раз понятно. Непонятно ...как это сделать красивее и лучше?


← →
Цукор5   (2006-05-23 09:29) [6]

меня не интересует код...мне интересно направление :)
Т.е. как бы Вы решили подобный сабж.


← →
Palladin ©   (2006-05-23 09:33) [7]

Перенос данных в TStringList стандартным разделителем столбцов (таб например или точка с запятой) и TStringList.SaveToFile


← →
beglec ©   (2006-05-23 11:56) [8]


> Цукор5

Куда уж просче то ??? всего одно событие обрабатывать.
Зато экономия и быстродействие
в любом случае пользователь не будет заполнять
только 1 и 8000 а все остальные пыстыми держать?


← →
novill   (2006-05-23 16:39) [9]

были где-то бесплатные компоненты для архивирования ...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
1-1148467365
RayRom
2006-05-24 14:42
2006.07.02
ReportBuilder печать отчета с пустым ДатаСетом.


11-1129717517
DmiSb
2005-10-19 14:25
2006.07.02
Как проверить, кто получил фокус при его потере в EditBoxe ?


1-1148325243
Цукор5
2006-05-22 23:14
2006.07.02
сжатие данных


2-1149847414
Balkon
2006-06-09 14:03
2006.07.02
Причина ошибки Access Violation


2-1150369563
ttt_111
2006-06-15 15:06
2006.07.02
Как запретить запускать повторно уже запущенную программу?




   Наверх