Автоматизированная система управления «Деканат»: Руководство разработчика, страница 5

**

Предполагается:

userAction → Form5UchPlan.RzBitBtn1Click() → userAction  → Form6TekPlan.RzBitBtn1Click()

unit Unit6 – Текущий план;

procedure TForm6TekPlan.RzButton1Click(Sender: TObject);

Эта процедура включает DataSet фактического плана. Но самой кнопки почему-то нет. Ненужная процедура.

procedure TForm6TekPlan.RzComboBox1Change(Sender: TObject);

При выборе сезона проверяем, выбран ли год и пытаемся сформировать фактический план.

procedure TForm6TekPlan.N1Click(Sender: TObject);

Пункт меню «Добавить строку». Добавляет запись в таблицу.

procedure TForm6TekPlan.N2Click(Sender: TObject);

Пункт меню «Удалить строку». Удаляет запись в таблице.

procedure TForm6TekPlan.xls1Click(Sender: TObject);

«Импорт» → «Новый файл..». Экспортирует таблицу в MS Excel.

procedure TForm6TekPlan.xls2Click(Sender: TObject);

«Импорт» → «Шаблон». Экспортирует таблицу в шаблон MS Excel shab\FactPlan.xls.

procedure TForm6TekPlan.Button1Click(Sender: TObject);

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

procedure TForm6TekPlan.RzBitBtn1Click(Sender: TObject);

Берем запрос из файла 'SQL\FP-SVnorepeat.sql'и формируем сводную ведомость из фактического плана.

-Запрос из файла SQL\FP-SVnorepeat.sql

INSERT INTO svodvedom (student_id, tecplan_id)

SELECT st.id,tp.id

FROM student st

left join gruppa gr on (st.gruppa_id = gr.id)

left join tecplan tp on (gr.id = tp.gruppa_id)

WHERE(tp.gruppa_id = st.gruppa_id)

and not exists(     select sv.id

from svodvedom sv

where

(

sv.student_id = st.id

and sv.tecplan_id = tp.id

)

)

Запрос вставляет в сводную ведомость ID всех студентов группы, указанной в текущем плане и само ID этого плана. Блок and not exists() защищает от повторов. Пользователю останется только указать оценку.

unit Unit7 – Редактирование преподавателей;

Нет процедур.

unit Unit8 – Личная карточка;

procedure TForm8LichKart.RzBitBtn1Click(Sender: TObject);

Экспорт карточки в MS Excel.

procedure TForm8LichKart.RzBitBtn2Click(Sender: TObject);

К предыдущему студенту в БД.

procedure TForm8LichKart.RzBitBtn3Click(Sender: TObject);

К следующему студенту в БД.

procedure TForm8LichKart.cxDBTextEdit1KeyPress();

«Защита от дурака». В Фамилии только буквы и backspace. Эта процедура висит на всех текстовых полях ввода.

procedure TForm8LichKart.cxDBTextEdit6KeyPress();

«Защита от дурака». В серии паспорта только числа. Висит на всех числовых.

procedure TForm8LichKart.FormCreate(Sender: TObject);

Подгружает название факультета из config.ini.

procedure TForm8LichKart.FormClose(Sender: TObject);

Переводит фокус на нередактируемое поле факультета при выключении. Это нужно чтобы срабатывало автосохранение в случае, если пользователь не снял фокус с редактируемого поля до закрытия окна личной карты.

unit Unit9 – Служебный модуль;

Нет используемых пользователем процедур. Модуль для теста запросов без IBx под рукой.

unit Unit10 – Добавление студента;

function TForm10AddStud.xls_to_stringgrid(axlsfile: string): boolean;

Функция импорта MS Excel файла в программу. Возвращает True если импорт прошел успешно.

procedure TForm10AddStud.FormShow(Sender: TObject);

Переводит фокус на RzEdit1. Для красоты и удобства. Открыл форму – начал печатать.

procedure TForm10AddStud.StrToField();

Процедура присваивает полю в БД значение из текстового поля с предварительной проверкой на пустоту.

procedure TForm10AddStud.RzBitBtn2Click(Sender: TObject);

Добавить студента в базу. Проверяет сначала, есть ли такая зачетка в БД, если нет – вставляет в БД, используя процедуру StrToField. Если указано, что студент – бюджетник, то процедура сначала ищет, есть ли свободное бюджетное место, если есть – присваивает бюджетному месту Ф.И.О. студента. Здесь иногда возникают проблемы с выпадающими меню типа ComboBox.

procedure TForm10AddStud.RzBitBtn1Click(Sender: TObject);

Очистка формы.

procedure TForm10AddStud.xls1Click(Sender: TObject);

Добавить студента через XLS-файл. Использует функцию xls_to_stringgrid()

procedure TForm10AddStud.RzDBLookupComboBox3CloseUp(Sender: TObject);

Меняет подсветку контура RzDBLookupComboBox3 (Группа) с красного на черный после выбора элемента из списка.

procedure TForm10AddStud.RzEdit1KeyPress();