Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отображение информации из базы данных


Дмитрий ©   (2009-12-13 19:57:00) 

Есть база данных на SQL для кинотеатра. В ней существует таблица, содержащая информацию о местах в зале кинотеатра (ряд - место - продано/свободно).
Как в Delphi можно реализовать графическое представление плана кинозала и чтобы отображалось разными цветами продано/свободно?


Германн   (2009-12-14 00:51:00) [1]


> Но есть два более интересных момента:

Эт точно. Но для такой реализации не достаточно будет простого ответа с примером.


Юрий Зотов   (2009-12-14 00:05:00) [2]


const
 RowsInHall = 25;
 ChairsInRow = 40;
 ChairsColor: array[boolean] of TColor = (clGreen, clRed);

var
 ChairsArray: array[0..(RowsInHall - 1), 0..(ChairsInRow - 1)] of boolean;

procedure TForm1.FormCreate(Sender: TObject);
var
 i, j: integer;
begin
 Randomize;
 for i := 0 to RowsInHall - 1  do
   for j := 0 to ChairsInRow - 1  do
     ChairsArray[i, j] := Random(2) = 0;
 BorderStyle := bsDialog;
 with DrawGrid1 do
 begin
   RowCount := RowsInHall;
   ColCount := ChairsInRow;
   FixedCols := 0;
   FixedRows := 0;
   DefaultColWidth := ClientWidth div ColCount - GridLineWidth;
   DefaultRowHeight := ClientHeight div RowCount - GridLineWidth;
   Align := alClient;
   OnDrawCell := DrawGrid1DrawCell
 end
end;

procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
 Rect: TRect; State: TGridDrawState);
begin
 with DrawGrid1.Canvas do
 begin
   Brush.Color := ChairsColor[ChairsArray[ARow, ACol]];
   FillRect(Rect)
 end
end;


Омлет   (2009-12-13 21:48:00) [3]

Проще рисовать в памяти на TBitmap и выводить картинку, например, в TPaintBox.

Но есть два более интересных момента:
1. Необходимо иметь план расположения рядов.
2. Соотносить конкретные координаты (ряд-место) с имеющимся планом.

Как рисовать на TBitmap - примеров полно в интернете и в справке.


Дмитрий   (2009-12-13 21:30:00) [4]


> DrawGrid

Я новичок в Delphi. Не могли бы вы посоветовать, где можно поподробней посмотреть как это сделать на практике.


Юрий Зотов   (2009-12-13 20:00:00) [5]

DrawGrid


Наверх

Титульная страница Поиск, карта сайта Написать письмо