Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.02.14;
Скачать: CL | DM;

Вниз

Отображение информации из базы данных   Найти похожие ветки 

 
Дмитрий   (2009-12-13 19:57) [0]

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


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

DrawGrid


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


> DrawGrid

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


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

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

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

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


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


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-14 00:51) [5]


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

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



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

Текущий архив: 2010.02.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
15-1259953459
KilkennyCat
2009-12-04 22:04
2010.02.14
какую библиотеку Ajax предпочитаете?


15-1260088479
Clone
2009-12-06 11:34
2010.02.14
хп на ноут


15-1260203464
boriskb
2009-12-07 19:31
2010.02.14
Ищу ПО для работы с архивом изображений


1-1237817783
Дмитрий Белькевич
2009-03-23 17:16
2010.02.14
SHBrowseForFolder открывается пустым


15-1260314636
М. Береговой
2009-12-09 02:23
2010.02.14
А затопят ли, когда растают?