|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.03.2008, 21:54 | #1 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Нужен совет по хранению значений
Здравствуйте, товарищи. У меня возник следующий вопрос: допустим нужно отобразить табличку типа как в экселе. много строк и столбцов. Так вот вопрос: как хранить например ширину столбцов и высоту строк? ведь изначально у них некие стандартные размеры и для каждой строки/столбца их хранить как-то накладно. Так вот как бы лучше хранить только нестандартные значения параметров?
|
01.03.2008, 22:02 | #2 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Мозно изменить ширину столбцов и высоту строк также как и в Excel мышкой, а потом они сами сохранятся.
|
01.03.2008, 22:04 | #3 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Кидаем на пустую форму стринггрид, изменяем ему ширину пары столбцов и пары строк.
Затем открываем форму как текст и смотрим, как оно там делается... Непонятно только - зачем... В форме и так, автоматом все фиксируется... |
01.03.2008, 22:07 | #4 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
я не про то как изменять. в общем ведь надо откуда-то узнавать высоту строки n для ее прорисовки и выделения. первое, что в голову приходит: создать массив высот строк, соответственно для каждой строки надо высоту хранить. но если строк много, то надо изначально этот здоровый массив записывать и сколько это памяти сожрет. как бы вот хранить высоты только для "нестандартных" строк?
|
01.03.2008, 22:52 | #5 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
Тогда парами - номер строки : высота (как пример). Например, в ини-файле. Какой-то подозрительный, если не сказать "странный" вопрос от вас... Последний раз редактировалось mihali4; 01.03.2008 в 22:58. |
|
01.03.2008, 22:57 | #6 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
ладно. из меня объясняльщик некудышный. проехали)
|
01.03.2008, 23:32 | #7 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
pu4koff, а в каком виде хранятся сами строки и, что даже важнее, столбцы? От этого, пожалуй, многое будет зависеть.
|
01.03.2008, 23:41 | #8 | |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Цитата:
мне прост пришло в голову ради самообразования создать что-то простенькое по типу таблички экселя. вот и появился вопрос как не хранить в оперативке лишнее. ведь не хранятся же в ёкселе данные по всем тысячам пустых строк, столбцов и ячеек. В стринг гриде чет глянул как там сделано, но что-то там заумно как-то написано или я дурак) |
|
01.03.2008, 23:53 | #9 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
В экзеле вообще не хранятся пустые строки/столбцы - посмотрите, например, как ведут себя скроллбары. Но честно говоря, я думаю, что хранить по одному DWORD'у на каждые строку и столбец - совсем не такая страшная вещь, как хранить некий флаг (причем наверняка, во избежание проблем с выравниванием адресов - тоже 32-х разрядный), и каким-то образом отделять друг от друга два подмножества строк (и для одного еще и размер хранить, т.е. фактически - объявлять его другим типом) - одним словом - гора ненужной ручной работы и увеличение объемов отладки. Кроме того очень часто, если не сказать в большинстве случаев, размеры вычисляются на лету - функции вроде GetTabbedTextExtent или GetTextExtentPoint32 работают очень быстро, но тут уже всё будет зависеть от количества строк/столбцов, пожалуй. Короче говоря, я думаю, что лучше держать размеры вместе со строками и столбцами: пересчитать их - секундное дело, памяти это съест капельку, но для определенности Вам похоже нужно сначала придумать структуру.
|
01.03.2008, 23:59 | #10 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
будем думать в общем на досуге)
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужен совет по С++ | profi | Помощь студентам | 3 | 28.07.2008 19:20 |
Нужен совет | Михаил Юрьевич | Общие вопросы Delphi | 3 | 04.05.2008 21:52 |
Нужен ваш совет | SZero | Помощь студентам | 3 | 24.02.2008 17:51 |
Нужен совет | Михаил Юрьевич | Общие вопросы Delphi | 7 | 27.01.2008 10:25 |
Нужен ваш совет | HIP | Общие вопросы Delphi | 1 | 20.06.2007 14:32 |