Форум по программированию Delphi Sources

 



Вернуться   Форум по программированию Delphi Sources > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.11.2018, 14:13
GuDeam GuDeam вне форума
Прохожий
 
Регистрация: 06.11.2017
Сообщения: 1
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию пишу программу по курсовой (касса аэрофлота) и мне нужна помощь

Добрый день. Не могу решить вопрос.
Я пишу программу по курсовой (касса аэрофлота) и мне нужна помощь.
В первом TabSheet у меня заказ билетов, а во втором -- схема посадочных мест. Мне нужно, чтобы при заказе определённого количества билетов исчезало определёное количество мест (свободных) во втором табе.
Ответить с цитированием
  #2  
Старый 27.11.2018, 21:07
Аватар для lmikle
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,252
Версия Delphi: 7, XE3, 10.2
Репутация: 49087
По умолчанию

Ну так исчезай.
В чем конкретно вопрос? Найти нужное кол-во посадочных мест? Заведи счетчик, начальное значение = кол-ву купленых билетов, при каждом клике уменьшай его на 1 (это типа выбор места по клику), как станет равным 0, то все места выбраны.

Для более подробной помощи надо выкладывать свой код.
Ответить с цитированием
  #3  
Старый 28.11.2018, 20:05
Guaho Guaho вне форума
Новичок
 
Регистрация: 27.08.2017
Сообщения: 65
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Я думаю, что исчезать они должны не просто так, а по номерам. Может пассажир хочет место у окна, а оно "исчезло", потому что программа не учитывает номера мест. Должна учитывать! Если так сделать, тогда в первом Таб-е можно сделать набор нумерованных кнопок "Билеты" (нажата = продано), а во втором Таб-е - набор нумерованных панелей ("Места"), цвет которых будет зависеть от состояния кнопок с соотв. номерами на первом Таб-е. Нажал кнопку продажи билета - кнопка запрещается, чтоб нельзя было отжать (хотя есть ещё случаи возврата билетов), а цвет соотв. панели во 2-м Таб-е меняется.
Ответить с цитированием
  #4  
Старый 28.11.2018, 20:51
Аватар для lmikle
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,252
Версия Delphi: 7, XE3, 10.2
Репутация: 49087
По умолчанию

Значится так.
Т.к. это курсовая, то проектируем по простому.
1. Нафиг PageControl. Переносишь выбор места в отдельное диалоговое окно. Более того, у нач будет всего один терминал продажи, соответсвенно резервирование билета в процессе покупки не делаем.
2. Если ты когда-нить покупал билеты на самолет, то должен знать, что там билеты именные. Соответсвенно, в реале идет продажа по одному билету, даже если в начале процесса идет заказ нескольких билетов.
3. Так же, билеты номерные, т.е. при возврате билета ты точно знаешь какое место освобождается.
Итого.
Общий дизайн программы:
1. Главное окно со списком рейсов. На панели инструментов кнопки для продажи и возврата билета на выделенный рейс. Служебные кнопки для добавления/удаления/редактирования рейсов - по желанию, для описания текущей задачи они не важны.
2. Для простоты считаем, что борта для всех рейсов одинаковые, т.е. кол-во мест и их расположение одно и то же. Соответсвенно, для рейса мы храним:
а) Кол-во проданых или кол-во оставшихся билетов (для простоты, можно каждый раз считать, но лень)
б) список (массив) мест с указанным проданым билетом (ФИО клиента и номер билета)
3. При нажатии кнопки продать билет появляется диалоговое окно, где:
а) генерируется номер билета (последовательность, тогда ее надо хранить между запусками, или GUID)
б) вводится ФИО клиента
в) Заблокированное поле для номера места с 2мя кнопками: выбрать место автоматически и выбрать место вручную.
4. При нажатии кнопки автоматического выбора места, система сама смотрит свободные мести и выбирает первое свободное в списке.
5. При нажатии кнопки ручного выбора места открывается дополнительное диалоговое окно со схемой салона самолета в котором и происходит выбор места.
6. По возврату, надеюсь, понятно, что надо делать.

Еще вариант если уж очень хочется продавать несколько билетов.
Диалог продажи в таком виде будет состоять как бы из 2х частей.
Первая часть - кол-во билетов. Далее нажимается кнопочка (на защите можно будет отпиз..ся, что в этот момент происходит резервирование нужного кол-ва билетов, что бы текущий покупатель смог купить нужное ему кол-во билетов), по которой динамисески создаются блоки компонентов для оформления нужного кол-ва билетов. Ну и там точно так же выбираются места.

Все.
Если хочешь, чтобы тебе все сделать - переноси тему в раздел "Работа" с соотвествующей выкладкой ПОЛНОГО ТЗ и указание сроков и суммы оплаты.

ЗЫ. Кстати, номера мест в самолетах состоят из 2х частей: номер ряда (цифра) и буква для номера места в ряду. Т.е. например, 2D означает место в втором ряду под у окна на правом борту (вариант A320 с 4мя местами в ряду).
Ответить с цитированием
Ответ



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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:20.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2018

ВКонтакте   Facebook   Twitter