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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2009, 19:34   #1
flame33
Пользователь
 
Аватар для flame33
 
Регистрация: 13.12.2009
Сообщений: 17
Вопрос Отображение информации из базы данных (Delphi)

Есть база данных на SQL для кинотеатра. В ней существует таблица, содержащая информацию о местах в зале кинотеатра (ряд - место - продано/свободно).
Как в Delphi можно реализовать графическое представление плана кинозала и чтобы отображалось разными цветами продано/свободно?
Что-то на подобии:
Изображения
Тип файла: jpg B4668AB2EE9F2.jpg (30.2 Кб, 81 просмотров)
flame33 вне форума Ответить с цитированием
Старый 13.12.2009, 20:15   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

самое простое, возьмите Tstringgrid и используйте свойство onDrawCell, быстро и надежно.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 13.12.2009, 20:16   #3
fbus
Форумчанин
 
Аватар для fbus
 
Регистрация: 23.10.2008
Сообщений: 460
По умолчанию

есть несколько вариантов:
1) хранить в базе рисунки цветные - тоесть продал место - записал рисунок, а выводишь с помощью например TDbImage

2) просто в таблице хранишь номер места и занято\свободно., а взависимости от этого выводишь рисунок (хранить например в отдельной папке) как видно по рисунку у тебя только 1-5 номера, так что хранить их не так накладно будет, а если у тебя 1-150 например, то тут можно просто массив TImage создать, разукрасить взависимости от того занято\свободно, и на его канвасе написать номер места. я бы так сделал.
fbus вне форума Ответить с цитированием
Старый 13.12.2009, 20:17   #4
fbus
Форумчанин
 
Аватар для fbus
 
Регистрация: 23.10.2008
Сообщений: 460
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
самое простое, возьмите Tstringgrid и используйте свойство onDrawCell, быстро и надежно.
как видно по рисунку, ему нужно "повторить" интерьер кинозала... слишком сложное кунг-фу получается со стринггридом ИМХО
p.s:если сложно с программированием, стучи в аську я тебе это дело реализую хоть гридом хоть как хочешь...

Последний раз редактировалось fbus; 13.12.2009 в 21:15.
fbus вне форума Ответить с цитированием
Старый 13.12.2009, 20:40   #5
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

не вижу ничего сложного в том, чтобы из базы "зажечь" (закрасить) нужную ячейку и вывести номер через cells (да хоть в paintbox рисовать)... а в вашем варианте эти image-ы еще хранить, создать и разместить нужно...
имхо, мне все равно какой вариант больше понравится TC, так как наработок у него нет видимо.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 13.12.2009, 21:19   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а мне тоже вариант raxp понравился.
Единственное, если я бы делал, я бы StringGrid использовал исключительно для отображения (и выбора оператором места), а в поддержку StringGrid'а завёл двухмерную матрицу и там уже хранил статус (в том числе и признак, есть ли вообще такое место в зале, если нет - ячейку вообще не прорисовывать...)

впрочем, вариант с отображением Image тоже вполне даже достойный и не такой сложный, как может показаться (p.s. разумеется, картинки в базе НЕ ХРАНИТЬ!! там только состояние мест в зале!)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.12.2009, 21:24   #7
flame33
Пользователь
 
Аватар для flame33
 
Регистрация: 13.12.2009
Сообщений: 17
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
не вижу ничего сложного в том, чтобы из базы "зажечь" (закрасить) нужную ячейку и вывести номер через cells (да хоть в paintbox рисовать)... а в вашем варианте эти image-ы еще хранить, создать и разместить нужно...
имхо, мне все равно какой вариант больше понравится TC, так как наработок у него нет видимо.
Да, по моему целесообразней воспользоваться StringGrid т.к. несколько залов на ~200 мест. Но я новичок в Delphi и не могли бы вы подсказать подробней как это можно реализовать (или какие-нибудь источники). В идеале нужно чтобы была подсветка тремя цветами разнык категорий зала (лоджия, стандарт, эконом...) и проданных билетов.
flame33 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MSSQL+Delphi. Пользователи базы данных. Zo0M БД в Delphi 7 11.10.2009 19:07
БД Delphi изменение информации и внедрение базы в меню romanrakov Помощь студентам 7 10.05.2009 21:04
Отображение информации из БД на веб странице baton БД в Delphi 0 22.01.2007 10:36