Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.02.14;
Скачать: [xml.tar.bz2];

Вниз

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

 
Дмитрий   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.004 c
1-1237192368
Kolan
2009-03-16 11:32
2010.02.14
Дополнение перечисления


2-1260637936
recop
2009-12-12 20:12
2010.02.14
После выполнения файла cmd получить содержание переменных среды


2-1260784227
JohnKorsh
2009-12-14 12:50
2010.02.14
Вопрос по бееспроводным сетям.


1-1236676563
IGray
2009-03-10 12:16
2010.02.14
Очень странное срабатывание секции INITIALIZATION


15-1259789497
Игорь Шевченко
2009-12-03 00:31
2010.02.14
Линукс тоже дырки закрывает





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский