Форма Flat - работа с квартирами
Создадим форму, которая полностью обеспечивает все операции по работе с основной таблицей: добавление, удаление и корректировку запи¬сей, а также вызов форм продолжения каскада (Поиск - Здание - Кварти¬ра - Проживающие - Лицевой счет - Договор приватизации). Применение классов для ее создания не оправдано. Остановимся на уже известных нам Page Frame, Grid, Combo Box и Text Box. Если для вашей фирмы требуется чёткий контроль сотрудников то за этим обратиться лучше к профессионалам сюда: http://www.statwin.ru/employee-monitoring-total/.
Начинать работу с формой Flat можно только после создания времен¬ной таблицы-выборки C:\WINNT\TEMP\cFlat.dbf. Добавим ее в окружение данных этой формы. Для этого сделайте щелчок правой кнопки мыши в любом месте окна Form Designer. Появится меню. Выберите в нем третий пункт Data Environment. Еще один щелчок правой кнопкой, но уже в поя¬вившемся окне Data Environment активизирует очередное меню. Выбери¬те в нем первый пункт Add. Появится окно Open. Найдите в нем таблицу cFlat. Она находится папке WINNT\TEMP и появилась там в результате обработки события Click кнопки Квартиры второй страницы формы Building. Вид первой страницы формы Flat в процессе работы программ¬ного комплекса показан на рис. 4.25. Вторая страница формы, но в конст¬рукторе форм, показана на рис. 4.26.
Рис. 4.25. Работа с квартирами в учебном комплексе Real Estate
* Создание глобальных переменных
PUBLIC SelectFlat && Номер выбранной квартиры
SelectFlat=0
PUBLIC SelectAccount && Номер выбранного счета SelectAccount=0
PUBLIC IndFlat && Тип действия с квартирой
IndFlat=0
Код события Activate формы Flat:
* Обработка прав доступа к объектам формы
* Гашение кнопки Печать IF WordExcel=.F.
ThisForm.PageFrame1.Page1.Command2.Enabled=.F.
ENDIF
* Гашение кнопки Счет IF AccountWork=.F.
ThisForm.PageFrame1.Page1.Command5.Enabled=.F.
ENDIF
Код события Activate первой страницы формы Flat:
* Сброс признака выбора квартиры IndFlat=0
PRIVATE CountFlat,AllSquareFlat,AllDwell SELECT cFlat
* Подсчет количества квартир в здании COUNT TO CountFlat ALL
* Подсчет общей площади квартир
SUM cFlat.SquareFlat TO AllSquareFlat
* Подсчет жилой площади квартир SUM cFlat.Dwell TO AllWwell
* Отображение данных по выборке на первой странице формы ThisForm.PageFrame1.Page1.Label11.Caption=;
[Всего квартир ]+ALLTRIM(STR(CountFlat,4))+[ шт.] ThisForm.PageFrame1.Page1.Label12.Caption=;
[Общей площадью ]+ALLTRIM(STR(AllSquareFlat,13,1))+[ кв.м.] ThisForm.PageFrame1.Page1.Label13.Caption=;
[Жилая площадь ]+ALLTRIM(STR(AllWwell,13,1))+[ кв.м.] ThisForm.PageFrame1.Page1.Refresh
Код события Click кнопки Добавить первой страницы формы Flat:
*- Кнопка Добавить
* Признак занесения данных по новой квартире IndFlat=1
* Сделать активной вторую страницу формы ThisForm.PageFrame1.ActivePage=2
Код события Activate второй страницы формы Flat:
DO CASE
CASE IndFlat=0
* Выбор не сделан
=MESSAGEBOX('Ни одна квартира для просмотра не выбрана! ' + ;
'Для выбора - двойной щелчок мышью.',48,'Ошибка!') ThisForm.PageFrame1.ActivePage=1 CASE IndFlat=1
* Добавить квартиру APPEND BLANK
* Номер квартиры доступен
ThisForm.PageFrame1.Page2.txtFlat.Enabled=.T.
* Номер лицевого счета доступен
ThisForm.PageFrame1.Page2.txtAccount.Enabled=.T.
* Передать фокус на номер квартиры ThisForm.PageFrame1.Page2.txtFlat.SetFocus
* Сделать кнопку Жильцы недоступной ThisForm.PageFrame1.Page2.Command2.Enabled=.F.
* Сделать кнопку Удалить недоступной ThisForm.PageFrame1.Page2.Command4.Enabled=.F.
* Сделать кнопку Счет недоступной ThisForm.PageFrame1.Page2.Command5.Enabled=.F.
* Сделать кнопку Договор приватизации недоступной ThisForm.PageFrame1.Page2.Command6.Enabled=.F.
THIS.Refresh
CASE IndFlat=2
* Просмотреть Квартиру
* Номер квартиры недоступен
ThisForm.PageFrame1.Page2.txtFlat.Enabled=.F.
* Номер лицевого счета недоступен
ThisForm.PageFrame1.Page2.txtAccount.Enabled=.F.
* Обновить эту страницу формы THIS.Refresh
ENDCASE
Список квартир в здании
Опубликовал vovan666
May 16 2013 06:39:41 ·
0 Комментариев ·
3641 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.