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

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

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.03.2008, 21:54   #1
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию Нужен совет по хранению значений

Здравствуйте, товарищи. У меня возник следующий вопрос: допустим нужно отобразить табличку типа как в экселе. много строк и столбцов. Так вот вопрос: как хранить например ширину столбцов и высоту строк? ведь изначально у них некие стандартные размеры и для каждой строки/столбца их хранить как-то накладно. Так вот как бы лучше хранить только нестандартные значения параметров?
pu4koff вне форума Ответить с цитированием
Старый 01.03.2008, 22:02   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Мозно изменить ширину столбцов и высоту строк также как и в Excel мышкой, а потом они сами сохранятся.
puporev вне форума Ответить с цитированием
Старый 01.03.2008, 22:04   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Кидаем на пустую форму стринггрид, изменяем ему ширину пары столбцов и пары строк.
Затем открываем форму как текст и смотрим, как оно там делается...
Непонятно только - зачем... В форме и так, автоматом все фиксируется...
mihali4 вне форума Ответить с цитированием
Старый 01.03.2008, 22:07   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

я не про то как изменять. в общем ведь надо откуда-то узнавать высоту строки n для ее прорисовки и выделения. первое, что в голову приходит: создать массив высот строк, соответственно для каждой строки надо высоту хранить. но если строк много, то надо изначально этот здоровый массив записывать и сколько это памяти сожрет. как бы вот хранить высоты только для "нестандартных" строк?
pu4koff вне форума Ответить с цитированием
Старый 01.03.2008, 22:52   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
как бы вот хранить высоты только для "нестандартных" строк?
Это в смысле для того, чтобы при создании формы определить нестандартные?
Тогда парами - номер строки : высота (как пример).
Например, в ини-файле.
Какой-то подозрительный, если не сказать "странный" вопрос от вас...

Последний раз редактировалось mihali4; 01.03.2008 в 22:58.
mihali4 вне форума Ответить с цитированием
Старый 01.03.2008, 22:57   #6
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

ладно. из меня объясняльщик некудышный. проехали)
pu4koff вне форума Ответить с цитированием
Старый 01.03.2008, 23:32   #7
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

pu4koff, а в каком виде хранятся сами строки и, что даже важнее, столбцы? От этого, пожалуй, многое будет зависеть.
B_N вне форума Ответить с цитированием
Старый 01.03.2008, 23:41   #8
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от B_N Посмотреть сообщение
pu4koff, а в каком виде хранятся сами строки и, что даже важнее, столбцы? От этого, пожалуй, многое будет зависеть.
Пока никак. я думаю еще тока)
мне прост пришло в голову ради самообразования создать что-то простенькое по типу таблички экселя. вот и появился вопрос как не хранить в оперативке лишнее. ведь не хранятся же в ёкселе данные по всем тысячам пустых строк, столбцов и ячеек. В стринг гриде чет глянул как там сделано, но что-то там заумно как-то написано или я дурак)
pu4koff вне форума Ответить с цитированием
Старый 01.03.2008, 23:53   #9
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

В экзеле вообще не хранятся пустые строки/столбцы - посмотрите, например, как ведут себя скроллбары. Но честно говоря, я думаю, что хранить по одному DWORD'у на каждые строку и столбец - совсем не такая страшная вещь, как хранить некий флаг (причем наверняка, во избежание проблем с выравниванием адресов - тоже 32-х разрядный), и каким-то образом отделять друг от друга два подмножества строк (и для одного еще и размер хранить, т.е. фактически - объявлять его другим типом) - одним словом - гора ненужной ручной работы и увеличение объемов отладки. Кроме того очень часто, если не сказать в большинстве случаев, размеры вычисляются на лету - функции вроде GetTabbedTextExtent или GetTextExtentPoint32 работают очень быстро, но тут уже всё будет зависеть от количества строк/столбцов, пожалуй. Короче говоря, я думаю, что лучше держать размеры вместе со строками и столбцами: пересчитать их - секундное дело, памяти это съест капельку, но для определенности Вам похоже нужно сначала придумать структуру.
B_N вне форума Ответить с цитированием
Старый 01.03.2008, 23:59   #10
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

будем думать в общем на досуге)
pu4koff вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен совет по С++ 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