Лабораторная работа №4, 4 семестр, 7 вариант
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
1. Создание таблиц.
Создайте таблицы: Faculty (Название факультета, Курс, Количество групп на курсе ),
Group (Название группы, Фамилия старосты, Количество студентов в группе),
Stud (ФИО, Домашний адрес, Телефон).
(см. лекцию, п.8.3)
Таблица Faculty
Filed name Type Size Key
F_Num + *
F_Name A 5
F_Kurs I
F_KolGrp I
Таблица Group Таблица Stud
Filed name Type Size Key Filed name Type Size Key
G_Num + * St_Num + *
F_Num I G_Num I
G_Name A 10 St_FIO A 50
G_Prefect A 20 St_HomeAdr A 80
G_KolStd I St_HomeTel A 15
- При выполнении команды Save as… создайте новый каталог для хранения Приложения, а внутри – еще один каталог (н-р, Base) для хранения базы (в нем и сохраняйте таблицы).
- При необходимости видеть таблицу сразу после сохранения включите опцию Display table.
- Для удобства работы установите рабочую дирректорию: Working Directory.
2. Построение внешних ключей
1) Постройте внешние ключи так, чтобы
- в таблице Group отображались только записи с группами текущего факультета таблицы Faculty;
- в таблице Stud отображались только записи со студентами текущей группы таблицы Group.
Для построения внешнего ключа таблицы Stud:
Открыть таблицу Stud. Выбрать пункт меню Table|Restructure, в свойствах таблицы выбрать пункт Referential Integrity| - Define, выбрать главную таблицу (справа) и ключ (слева) для организации связи главный-подчиненный между таблицами Group и Stud, Ok.
Аналогично постройте внешний ключ таблицы Group для связи с таблицей Faculty
2) Посмотрите значения свойства Secondary Indexes у таблиц Group и Stud (Table | Info Restructure…). После построения внешнего ключа система автоматически индексирует (создает вторичный индекс) поле, по которому построен ключ.
Примечание: При работе (Restructure) с какой-либо таблицей, окна других таблиц лучше закрыть.
3. Разработка Приложения.
1) Разместить на форме компоненты как показано на рисунке 1.
Рис.1
2) Сохранить Приложение в том же каталоге, где хранится каталог базы данных
3) Для удобства работы изменить названия компонентов TTable на tbF, tbGrp, tbStd и TDataSource на dsF, dsGrp, dsStd.
4) Связать компоненты и активизировать таблицы (см. лекцию, п.8.4).
Должны появиться пустые таблицы с заголовками полей.
4. Объединение таблиц.
1) Свойство MasterSource: TDataSource; - определяет имя главной таблицы в связи главный-подчиненный
Установите TbStd.MasterSourse - dsGrp;
TbGrp.MasterSourse - dsF;
2) Свойство MasterFields: String; - Содержит список полей главной таблицы, по которым в данной подчиненной таблице будет установлена связь главный - подчиненный
Работа с полем MasterFields компонента tbStd: в строке Available Indexes выбрать внешний ключ таблицы Stud, в Detail Fields выделить ключ, в Master Fields выделить первичный ключ, нажать Add (в Joined Fields появится отношение), Ok.
3) Сохраните Приложение
5. Заполнение таблиц.
- Запустите Приложение (обратите внимание на скорость запуска Приложения при первом запуске и при последующих) и заполните таблицы (поля F_Num, G_Num, St_Num заполняются автоматически).
Примечание: Удалить запись – Ctrl-Delete
- Измените у какой-нибудь записи таблицы Stud значение поля G_Num. Посмотрите, что получится.
- Завершите работу Приложения.
6. Редактирование полей
1) Чтобы работать с конкретным полем надо создать объект для этого поля.
Примечание: Если определен объект-поле, получить доступ к полю можно по имени этого объекта. После создания объектов-полей обратите внимание как образуются их имена.
Создание полей-объектов. Дважды щелкните по компоненту TTable (или щелкните правой кнопкой мыши и выберите Fields Editor). На экране появится пустое окно редактора полей. Щелкните правой кнопкой мыши и выберите Add Fields – будет показан список всех полей текущей таблицы. Выделите все поля и Ok.
2) Для настройки полей поочередно щелкайте мышью в списке редактора по каждому полю и в окне Object Inspector устанавливайте нужные значения свойств.
- DisplayLabel – заголовок поля (замените названия полей на русские);
- DisplayWidth – ширина поля;
- Alignment – расположение значений поля относительно границ;
- Index – номер поля в таблицы (нумерация поле начинается с 0) – не изменять;
- ReadOnly – только для чтения;
- Visible – видимость (можно сделать невидимыми ключевые поля, , которые необходимы для обеспечения уникальности, но не несут никакой смысловой нагрузки). (Для выполнения следующих пунктов изменять значения Visible на False не рекомендуется)
3) Сохраните Приложение
7. Проверка работы Приложения
1) Запустите Приложение и проследите за изменением индексированных полей во всех таблицах каждый раз при переходе на другую запись.
2) С помощью Database Desktop просмотрите содержимое и структуры таблиц.
ЗАДАНИЕ 2
Добавить в Приложение (см. рис. 2)
1. Для таблицы Facultу и Group – компонент TDBNavigator.
Установите свойства TDBNavigator: DataSource = dsF (dsGrp);
ShowHint = True
2. Для таблицы Stud:
- Перемещение на первую запись (First)
- Перемещение на одну запись назад (Prior)
- Перемещение на одну запись вперед (Next)
- Перемещение на последнюю запись (Last)
- Добавление новой записи (значение поля Фамилия - из Edit1) (Insert)
- Редактирование записи (значение поля Фамилия - из Edit1) (Edit)
- Удаление записи (Delete)
- Удаление всех записей (Del All)
- Перемещение на заданное количество записей, '-' – движение к первой записи (Move by)
- Включение режима сортировки (неотсортированный список/ сортировка по фамилиям).
Для возможности сортировки по полю Фамилия надо создать вторичный индекс таблицы Stud по двум полям: G_Num и St_FIO (Фамилия). Для этого выполните следующее:
• Установите значения свойства Active=False у всех таблиц (это необходимо, чтобы можно было реконструировать таблицы. При Active=True таблицы находятся в режиме работы с базой данных и изменять их нельзя)
• Запустите DBD и создайте вторичный индекс известным способом
• Вернитесь к Приложению и у всех таблиц установите значения свойства Active=True
– Поиск фамилии способом перебора (Фамилия набирается в Edit2)
Рис. 2
2. Для выполнения в таблице Stud Точного поиска и Поиска по символам необходимо:
• Установить значения свойства Active=False у всех таблиц
• Запустить DBD и создать вторичный индекс (inFIO) табл. Stud по полю St_FIO
• Вернуться в Приложение к табл. Stud и установить значение свойства Active=True (у таблиц Faculty и Group свойство Active=False)
• Запустить Приложение и проверить оба варианта поиска.
Примечание: 1) Поиск по символам - набирая последовательно буквы в строке Edit2, курсор
должен перемещаться на запись с наиболее похожым значением поля Фамилия.
2) Точный поиск - набрав фамилию в строке Edit2, курсор должен перемещаться на запись с такой же Фамилией
3) Для возвращения работы со всей базой надо: Установить значения свойства Active=True у всех таблиц; Текст обработчиков событий Точного поиска и Поиска по символам оформить как комментарий.
Создайте таблицы: Faculty (Название факультета, Курс, Количество групп на курсе ),
Group (Название группы, Фамилия старосты, Количество студентов в группе),
Stud (ФИО, Домашний адрес, Телефон).
(см. лекцию, п.8.3)
Таблица Faculty
Filed name Type Size Key
F_Num + *
F_Name A 5
F_Kurs I
F_KolGrp I
Таблица Group Таблица Stud
Filed name Type Size Key Filed name Type Size Key
G_Num + * St_Num + *
F_Num I G_Num I
G_Name A 10 St_FIO A 50
G_Prefect A 20 St_HomeAdr A 80
G_KolStd I St_HomeTel A 15
- При выполнении команды Save as… создайте новый каталог для хранения Приложения, а внутри – еще один каталог (н-р, Base) для хранения базы (в нем и сохраняйте таблицы).
- При необходимости видеть таблицу сразу после сохранения включите опцию Display table.
- Для удобства работы установите рабочую дирректорию: Working Directory.
2. Построение внешних ключей
1) Постройте внешние ключи так, чтобы
- в таблице Group отображались только записи с группами текущего факультета таблицы Faculty;
- в таблице Stud отображались только записи со студентами текущей группы таблицы Group.
Для построения внешнего ключа таблицы Stud:
Открыть таблицу Stud. Выбрать пункт меню Table|Restructure, в свойствах таблицы выбрать пункт Referential Integrity| - Define, выбрать главную таблицу (справа) и ключ (слева) для организации связи главный-подчиненный между таблицами Group и Stud, Ok.
Аналогично постройте внешний ключ таблицы Group для связи с таблицей Faculty
2) Посмотрите значения свойства Secondary Indexes у таблиц Group и Stud (Table | Info Restructure…). После построения внешнего ключа система автоматически индексирует (создает вторичный индекс) поле, по которому построен ключ.
Примечание: При работе (Restructure) с какой-либо таблицей, окна других таблиц лучше закрыть.
3. Разработка Приложения.
1) Разместить на форме компоненты как показано на рисунке 1.
Рис.1
2) Сохранить Приложение в том же каталоге, где хранится каталог базы данных
3) Для удобства работы изменить названия компонентов TTable на tbF, tbGrp, tbStd и TDataSource на dsF, dsGrp, dsStd.
4) Связать компоненты и активизировать таблицы (см. лекцию, п.8.4).
Должны появиться пустые таблицы с заголовками полей.
4. Объединение таблиц.
1) Свойство MasterSource: TDataSource; - определяет имя главной таблицы в связи главный-подчиненный
Установите TbStd.MasterSourse - dsGrp;
TbGrp.MasterSourse - dsF;
2) Свойство MasterFields: String; - Содержит список полей главной таблицы, по которым в данной подчиненной таблице будет установлена связь главный - подчиненный
Работа с полем MasterFields компонента tbStd: в строке Available Indexes выбрать внешний ключ таблицы Stud, в Detail Fields выделить ключ, в Master Fields выделить первичный ключ, нажать Add (в Joined Fields появится отношение), Ok.
3) Сохраните Приложение
5. Заполнение таблиц.
- Запустите Приложение (обратите внимание на скорость запуска Приложения при первом запуске и при последующих) и заполните таблицы (поля F_Num, G_Num, St_Num заполняются автоматически).
Примечание: Удалить запись – Ctrl-Delete
- Измените у какой-нибудь записи таблицы Stud значение поля G_Num. Посмотрите, что получится.
- Завершите работу Приложения.
6. Редактирование полей
1) Чтобы работать с конкретным полем надо создать объект для этого поля.
Примечание: Если определен объект-поле, получить доступ к полю можно по имени этого объекта. После создания объектов-полей обратите внимание как образуются их имена.
Создание полей-объектов. Дважды щелкните по компоненту TTable (или щелкните правой кнопкой мыши и выберите Fields Editor). На экране появится пустое окно редактора полей. Щелкните правой кнопкой мыши и выберите Add Fields – будет показан список всех полей текущей таблицы. Выделите все поля и Ok.
2) Для настройки полей поочередно щелкайте мышью в списке редактора по каждому полю и в окне Object Inspector устанавливайте нужные значения свойств.
- DisplayLabel – заголовок поля (замените названия полей на русские);
- DisplayWidth – ширина поля;
- Alignment – расположение значений поля относительно границ;
- Index – номер поля в таблицы (нумерация поле начинается с 0) – не изменять;
- ReadOnly – только для чтения;
- Visible – видимость (можно сделать невидимыми ключевые поля, , которые необходимы для обеспечения уникальности, но не несут никакой смысловой нагрузки). (Для выполнения следующих пунктов изменять значения Visible на False не рекомендуется)
3) Сохраните Приложение
7. Проверка работы Приложения
1) Запустите Приложение и проследите за изменением индексированных полей во всех таблицах каждый раз при переходе на другую запись.
2) С помощью Database Desktop просмотрите содержимое и структуры таблиц.
ЗАДАНИЕ 2
Добавить в Приложение (см. рис. 2)
1. Для таблицы Facultу и Group – компонент TDBNavigator.
Установите свойства TDBNavigator: DataSource = dsF (dsGrp);
ShowHint = True
2. Для таблицы Stud:
- Перемещение на первую запись (First)
- Перемещение на одну запись назад (Prior)
- Перемещение на одну запись вперед (Next)
- Перемещение на последнюю запись (Last)
- Добавление новой записи (значение поля Фамилия - из Edit1) (Insert)
- Редактирование записи (значение поля Фамилия - из Edit1) (Edit)
- Удаление записи (Delete)
- Удаление всех записей (Del All)
- Перемещение на заданное количество записей, '-' – движение к первой записи (Move by)
- Включение режима сортировки (неотсортированный список/ сортировка по фамилиям).
Для возможности сортировки по полю Фамилия надо создать вторичный индекс таблицы Stud по двум полям: G_Num и St_FIO (Фамилия). Для этого выполните следующее:
• Установите значения свойства Active=False у всех таблиц (это необходимо, чтобы можно было реконструировать таблицы. При Active=True таблицы находятся в режиме работы с базой данных и изменять их нельзя)
• Запустите DBD и создайте вторичный индекс известным способом
• Вернитесь к Приложению и у всех таблиц установите значения свойства Active=True
– Поиск фамилии способом перебора (Фамилия набирается в Edit2)
Рис. 2
2. Для выполнения в таблице Stud Точного поиска и Поиска по символам необходимо:
• Установить значения свойства Active=False у всех таблиц
• Запустить DBD и создать вторичный индекс (inFIO) табл. Stud по полю St_FIO
• Вернуться в Приложение к табл. Stud и установить значение свойства Active=True (у таблиц Faculty и Group свойство Active=False)
• Запустить Приложение и проверить оба варианта поиска.
Примечание: 1) Поиск по символам - набирая последовательно буквы в строке Edit2, курсор
должен перемещаться на запись с наиболее похожым значением поля Фамилия.
2) Точный поиск - набрав фамилию в строке Edit2, курсор должен перемещаться на запись с такой же Фамилией
3) Для возвращения работы со всей базой надо: Установить значения свойства Active=True у всех таблиц; Текст обработчиков событий Точного поиска и Поиска по символам оформить как комментарий.
Дополнительная информация
Учебное заведение: Сибирский Государственный Университет Телекоммуникаций и Информатики Межрегиональный центр переподготовки специалистов
Год сдачи: 2018г
Предмет: Основы визуального программирования
Преподаватель: Ситняковская Е.И.
Оценка: Зачёт
Год сдачи: 2018г
Предмет: Основы визуального программирования
Преподаватель: Ситняковская Е.И.
Оценка: Зачёт
Похожие материалы
Лабораторная работа №4, 4 семестр, 7 вариант
Madam
: 25 сентября 2018
Написать программу, которая будет эмулировать параллельную работу некоторых потоков. Потоки должны работать циклически. В качестве модели использовать схему “производитель – потребитель”. Один поток (производитель) может помещать случайные (или какие-то определенные – например, только четные числа или квадраты целых чисел и т.п.) числа в буфер (массив заданного размера), для наглядности поток-производитель должен эти числа выводить на экран. Другой поток (потребитель) забирает числа из этого буф
50 руб.
Лабораторная работа-1. 4-семестр. 7 - вариант.
Madam
: 25 сентября 2018
Написать программу, которая должна “озвучивать” клавиатуру, т.е. после запуска этой программы нажатие любой клавиши на клавиатуре будет сопровождаться звуковым сигналом. Клавиатура при этом должна оставаться работоспособной, т.е. продолжать выполнять свои основные функции в нормальном темпе.
Программа должна быть резидентной, т.е. оставаться в памяти после своего завершения.
В качестве пробного варианта длительность звукового сигнала и частоту задать константами в программе. Когда будет получе
50 руб.
Лабораторная работа №1, 4 семестр, 7 вариант
Madam
: 25 сентября 2018
ЗАДАНИЕ 1: Создать форму как показано на рисунке 1.
Рис.1
1. Рекомендуемый порядок размещения на форме компонентов TPanel, TDirectoryListBox, TFileListBox и TSplitter:
- Panel1, Panel2 – в верхней и нижней частях клиентской области ;
- DirectoryListBox1– слева на клиентской области (свойство Align);
- Splitter1;
- FileListBox1 – на всю оставшуюся клиентскую область (свойство Align).
2. Для установки связей между списками DriveCo
50 руб.
Лабораторная работа №3, 4 семестр, 7 вариант
Madam
: 25 сентября 2018
Написать программу “часы”, которая будет однократно перехватывать показания системных часов и от них вести отсчет времени, используя собственный счетчик прерываний таймера (в качестве основы может быть использован обработчик прерываний таймера из предыдущей работы). Показания времени – часы, минуты, секунды – следует выводить в заданном месте экрана. Формат вывода: xx:xx:xx. Обновление показаний времени выполнять дискретно, через заданное количество секунд.
Программа должна работать резидентно.
50 руб.
Лабораторная работа №5, 4 семестр, 7 вариант
Madam
: 25 сентября 2018
Задание 1:Динамическое изменение SQL-запросов.
1. Разместите на форме компонент Query (закладка Data Access на панели компонентов) и определите для него следующие свойства:
• DatabaseName: DBDEMOS (выберите из списка)
• SQL (выбрать все поля из таблицы Country);
• Active.
2. Разместите на форме компонент DataSourse (определите для него свойство DataSet), DbGrid (определите для него свойство DataSourse).
3. Разместите на форме четыре метки для полей, по которым будет формироваться запрос, шесть к
50 руб.
Лабораторная работа №5, 4 семестр, 7 вариант
Madam
: 25 сентября 2018
Написать программу, которая будет работать с видеопамятью. Можно выполнить любое из приведенных ниже заданий. Независимо от конкретного задания программа должна работать резидентно. Текст, присутствовавший на экране до запуска программы, не должен портиться никаким образом.
В программе следует использовать два обработчика прерываний – прерываний таймера и прерываний клавиатуры. Прерывания таймера регламентируют скорость перемещения объекта, причем параметр, характеризующий величину скорости, не
50 руб.
Лабораторная работа №3, 4 семестр, 7 вариант
Madam
: 25 сентября 2018
Задание 1:Создание простейшего приложения базы данных с использованием эксперта форм базы данных (DataBase Form Wizard).
1. Создайте новое приложение.
2. Выполните команду DataBase - Form Wizard (или File - New и на закладке Business выберите элемент DataBase Form Wizard).
• В раскрывшемся окне DataBase Form Wizard выберите опции:
• Create a simple form;
• Create a form using Ttable objects.
Нажмите кнопку Next.
• В следующем раскрывшемся окне выберите в комбинированных списках папку C:\Progra
50 руб.
Лабораторная работа №2, 4 семестр, 7 вариант
Madam
: 25 сентября 2018
ЗАДАНИЕ 1: Создание простейшего редактора, который работает с файлом memos.txt, находящемся в текущей папке.
1. Создайте главное меню – компонент MainMenu - с пунктами:
File
Help
New About... F1
Open... F3
Close
Save F2
Save As...
Exit Alt+X
1.1. Создайте обработчики событий, поступающих от объектов:
Exit1 – закрытие формы;
About1 – информация об авторах в стандартном окне (MessageDlg).
(Примечание: для размещения текста в нескольких строчках используйте #13#10.
50 руб.
Другие работы
ММА/ИДО Иностранный язык в профессиональной сфере (ЛТМ) Тест 20 из 20 баллов 2024 год
mosintacd
: 28 июня 2024
ММА/ИДО Иностранный язык в профессиональной сфере (ЛТМ) Тест 20 из 20 баллов 2024 год
Московская международная академия Институт дистанционного образования Тест оценка ОТЛИЧНО
2024 год
Ответы на 20 вопросов
Результат – 100 баллов
С вопросами вы можете ознакомиться до покупки
ВОПРОСЫ:
1. We have … to an agreement
2. Our senses are … a great role in non-verbal communication
3. Saving time at business communication leads to … results in work
4. Conducting negotiations with foreigners we shoul
150 руб.
Задание №2. Методы управления образовательными учреждениями
studypro
: 13 октября 2016
Практическое задание 2
Задание 1. Опишите по одному примеру использования каждого из методов управления в Вашей профессиональной деятельности.
Задание 2. Приняв на работу нового сотрудника, Вы надеялись на более эффективную работу, но в результате разочарованы, так как он не соответствует одному из важнейших качеств менеджера - самодисциплине. Он не обязателен, не собран, не умеет отказывать и т.д.. Но, тем не менее, он отличный профессионал в своей деятельности. Какими методами управления Вы во
200 руб.
Особенности бюджетного финансирования
Aronitue9
: 24 августа 2012
Содержание:
Введение
Теоретические основы бюджетного финансирования
Понятие и сущность бюджетного финансирования
Характеристика основных форм бюджетного финансирования
Анализ бюджетного финансирования образования
Понятие и источники бюджетного финансирования образования
Проблемы бюджетного финансирования образования
Основные направления совершенствования бюджетного финансирования образования
Заключение
Список использованный литературы
Цель курсовой работы – исследовать особенности бюджетного фин
20 руб.
Программирование (часть 1-я). Зачёт. Билет №2
sibsutisru
: 3 сентября 2021
ЗАЧЕТ по дисциплине “Программирование (часть 1)”
Билет 2
Определить значение переменной y после работы следующего фрагмента программы:
a = 3; b = 2 * a – 10; x = 0; y = 2 * b + a;
if ( b > y ) or ( 2 * b < y + a ) ) then begin x = b – y; y = x + 4 end;
if ( a + b < 0 ) and ( y + x > 2 ) ) then begin x = x + y; y = x – 2 end;
200 руб.