ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 26.05.2021
Просмотров: 850
Скачиваний: 3
СОДЕРЖАНИЕ
Работа с переменными и массивами
Настройка компонента TStringGrid
procedure FormActivate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
Nmax=10; // Максимальная размерность массива
A : Mas2; // Объявление двумерного массива
B,Y : Mas1; // Объявление одномерных массивов
procedure TForm1.FormActivate(Sender: TObject);
{Процедура подготовки к началу работы}
N:=3; // Задание размерности массива
Edit1.Text:=IntToStr(N); // Вывод значения N в Edit1
{Задание числа строк и столбцов в таблицах}
{Ввод в левую верхнюю ячейку таблицы названия массива}
StringGrid1.Cells[0,0]:='Массив A:';
StringGrid2.Cells[0,0]:='Массив B:';
StringGrid3.Cells[0,0]:='Массив Y:';
{Заполнение верхнего и левого столбцов поясняющими подписями}
StringGrid1.Cells[0,i]:=' i= '+IntToStr(i);
StringGrid1.Cells[i,0]:=' j= '+IntToStr(i);
procedure TForm1.Button1Click(Sender: TObject);
{Процедура изменения размерности массива}
ShowMessage('Ошибочная запись числа '+Edit1.Text);
{Задание числа строк и столбцов в таблицах}
{Заполнение верхнего и левого столбцов поясняющими подписями}
StringGrid1.Cells[0,i]:=' i= '+IntToStr(i);
StringGrid1.Cells[i,0]:=' j= '+IntToStr(i);
procedure TForm1.BitBtn1Click(Sender: TObject);
{Заполнение массива А элементами из таблицы StringGrid1}
if StringGrid1.Cells[j,i]=' ' then
ShowMessage('Ошибка заполнения массива А');
A[i,j]:=StrToFloat(StringGrid1.Cells[j,i]);
ShowMessage('Ошибочная запись числа '+StringGrid1.Cells[j,i]);
{Заполнение массива B элементами из таблицы StringGrid2}
if StringGrid2.Cells[0,i]=' ' then
ShowMessage('Ошибка заполнения массива В!');
B[i]:=StrToFloat (StringGrid2.Cells[0,i]);
ShowMessage ('Ошибочная запись числа '+StringGrid2.Cells[0,i]);
{Умножение массива А на массив В}
{Вывод результата в таблицу StringGrid3}
StringGrid3.Cells[0,i]:=FloatToStrf(y[i],fffixed,6,2);
procedure TForm1.BitBtn2Click(Sender: TObject);
{Очищение всех ячеек таблиц перед очередным прогоном программы}
Создание приложений для работы с базами данных На ОСНОВЕ ТЕХНОЛОГИИ bde
Рис. 9.- Расположение компонентов на форме
Рис. 10.- Рабочее окно программы
6.Скопируйте файлы из каталога предыдущей практической в каталог Lab. Запустите Delphi7: Пуск\Программы\Borland Delphi7\Delphi7.
Аналогично предыдущей лабораторной работе откорректи-руйте свойства компонент, чтобы программа корректно отображала содержимое таблицы MainData рис.4. Запустите проект и проверьте его работоспособность.
Рис. 3. Отредактированные таблицы MainData и Person
Рис.4. Модифицированное главное окно работающей программы
7.Перейдите к форме DataModule2. Добавьте на нее компоненты ADOTable и DataSource. Для ADOTable2 настройте строку подключения (ConnectionString) к базе данных db1.mdb и укажите в поле TableName таблицу Person.
8.Свяжите таблицу Person с таблицей MainData. Для этого в свойстве MasterSource установите источник данных DataSource1 и настройте строку соединения таблиц MasterFields как показано на Рис5.
Рис.5. Настройка связи между таблицами
9.Для источника данных DataSource2 установите набор данных ADOTable2. Сделайте активным соединение в таблице ADOTable2.
10.На форму Form1 добавьте строку редактирования поля базы данных (компонента TDBEdit) и установите для нее в качестве источника данных DataModule2.DataSource2 и в качестве отображаемого поля (DataField)–поле Family. Запретите редактирование данной строки (ReadOnly= True).
11.Запустите проект, проверьте его работоспособность–в окне просмотра событий, при передвижении по списку событий должно изменяться содержимое добавленной строки–должна отражаться строка с фамилией из справочника Person рис. 6.
Рис. 6. Главное окно работающей программы с компонентом DBEdit1
12.Создайте форму справочника фамилий–Form6 по образцу, представленному на рис.7. На ней размещен компонент TDBGrid.
Рис. 7. Форма справочника фамилий
13.В модуле справочника фамилий Unit6 в разделе Uses после ключевого слова implementation необходимо указать название модуля данных Unit2. На первой форме в меню «Файл» добавьте пункт «Справочник фамилий» и добавьте в модуль Unit1 вызов формы Form6. Отредактируйте процедуру обработки нажатия пункта меню Файл\Справочник фамилий следующим образом:
procedure TForm1.N11Click(Sender: TObject);
begin
Form6.Show;
end;
Результат работы программы при выборе пункта меню Файл\Справочник фамилий представлен на рис. 8.
Рис. 8. Окно работающей программы при вызове пункта меню Файл\Справочник фамилий
14. Сохраните, запустите проект и проверьте его работу.
15.Добавьте в основное меню главной формы еще один подпункт Файл\Отчет. Поместите на главную форму компонент TRVDataSetConnect (вкладка Rave) и свяжите его с набором данных DataModule2.ADOTable1 (свойство DataSet).
16.Вся дальнейшая работа осуществляется под управлением утилиты Rave Reports Designer. Для ее вызова выберите в главном меню команду Tools/Rave/Designer. На экране появится окно, показанное на рис. 9.
С помощью команды File/New Data Object вызовите окно Data Connections, в котором выберите продолжение Direct Data View и, после щелчка по кнопке Next - RvDataSetConnection1.
17.Командой Tools/Report Wizards/Simple Table вызовите мастера создания отчета по данным, получаемым из единственной таблицы. Этот мастер с помощью последовательно раскрывающихся окон определяет основные параметры отчета. С помощью первого окна рис. 10 а, выбирается источник данных (DataView1), с помощью второго- отображаемые поля (отметьте галочками все поля или установите флажок All). В следующем окне можно изменить порядок следования в отчете выбранных полей. Окно Report Layout Options позволяет определить заголовок отчета (поле Report Title; введите в него строку “Ежедневник”) и ширину полей (группа Report Margins). Заключительное окно рис. 10 б, предназначено для выбора шрифтов, которыми будут отображаться три основные части отчета: его заголовок, заголовки полей и данные. Рекомендуется установить шрифт MS Sans Serif для правильного отображения кириллицы.
Рис. 9. Окно утилиты Rave Reports Designer
а
б
Рис. 10. Окно мастера создания отчета:
а-начальное окно; б- завершающее окно
18.После щелчка по кнопке Generate происходит начальная генерация файла проекта отчета и окно Rave Reports Designer приобретает вид, показанный на рис. 11.
19.Сохраните файл проекта отчета. Выберите команду File/Save или щелкните на соответствующей кнопке инструментальной панели. Сохраните файл проекта Project.rav в той же папке, в которой хранится основной проект.
20. Теперь внесем изменения в отчет:
1) добавим дату генерации;
Для этого разместите под заголовком отчета компонент Datatext (вкладка Report палитры компонентов Rave Reports Designer). В свойстве dataField поместите следующий текст: "от "&Report.DateLong рис. 12.
Рис. 11. Вид отчета после начальной генерации
Рис. 12. Формирование отчета с помощью утилиты Rave Reports Designer
2) изменим названия колонок в средней полосе: Дата вместо DateS, Начало вместо FromTime, Окончание вместо ToTime, Телефон вместо Phone. Для этого изменим свойство Text соответствующих компонент рис. 12.
3) расчертим отчет горизонтальными и вертикальными линиями. Для этого поместим на среднюю полосу компонент HLine (вкладка Drawing) с такими свойствами: Top=0, Left=0, Width=6,5, а также шесть компонентов VLine с параметрами: Top=0, Height=0,24, Left=0;0,5;1,5;3;5;6,5 соответственно для шести вертикальных линий.
На нижнюю полосу с данными поместите два компонента HLine и шесть компонент VLine. Длина горизонтальных линий равна 6,5 единиц, о свойство Top равно 0 для первой и 0,15 для второй. Высота вертикальных линий равна высоте полосы (0,15), а свойство Left=0;0,5;1,5;3;5;6,5 соответственно для шести вертикальных линий.
Рис. 13. Пример отчета (в окне предварительного просмотра)
21. Для предварительного просмотра формируемого отчета нажмите клавишу <F9> или щелкните на соответствующей инструментальной кнопке рис. 13.
22. После подготовки проекта отчета сохраните его на диске, закройте Rave Reports Designer и вернитесь в Delphi. Поместите на форму компонент RvProject, в его свойстве ProjectFile укажите ссылку на файл проекта Project.rav. Напишите такой обработчик нажатия пункта меню Файл\Отчет:
procedure TForm1.N12Click(Sender: TObject);
begin
RvProject1.Execute;
end;
23. Сохраните и запустите проект. Проверьте его работу.
Индивидуальные задания
Варианты задач
1.Городской транспорт
Список характеристик:
Вид транспорта, номер маршрута, начальная остановка, конечная остановка, время в пути, примечание.
2.Аэропорт
Список характеристик:
Номер рейса, пункт назначения, дата рейса, тип самолета, время вылета, время в пути, сведения о пассажире.
3. Персональные ЭВМ
Список характеристик:
Фирма-изготовитель, тип процессора, тактовая частота, объем ОЗУ, объем жесткого диска, дата выпуска.
4.Университет
Список характеристик:
Номер, ФИО, адрес и должность преподавателя, название предмета.
5.Деканат
Список характеристик:
Kод группы, ФИО, телефон слушателя, код, название предмета, код сессии и оценки по предмету.
6. Оптовая база
Список характеристик:
Код товара, название товара, количество на складе, стоимость единицы товара, примечания-описание товара.
7.Сеть магазинов
Список характеристик:
Номер, название, адрес и телефон магазина, ФИО и ИНН владельцев магазина.
9. Личные данные о студентах
Список характеристик:
ФИО студента, курс, факультет, специальность, дата рождения студента, сведения о семье.
10. Железнодорожный вокзал
Список характеристик:
Номер поезда, пункт назначения, номер путей и платформы, дата прибытия, дата отбытия, ФИО пассажира.
Приложение П1
Основное меню
Таблица П1.1
Опция File
Название |
Функция |
New |
Опция-заголовок. При ее выборе раскрывается подменю со следующими опциями |
Application |
Создает новую программу для Windows |
CLX Application |
Создает новую программу для Windows и Linux |
Data Module |
Создает новый модуль данных |
Form |
Создает новую форму и подключает ее к проекту |
Frame |
Создает новую раму |
Other |
Открывает окно репозитория |
Exit |
Вставляет в текущую форму ссылку на другой модуль Печатает активную форму или модуль Прекращает работу Delphi |
|
Закрывает все открытые файлы |
Unit |
Закрывает текущую форму |
Open |
Открывает ранее созданную форму |
Open Project |
Открывает ранее созданный проект |
Reopen |
Вызывает список ранее загружавшихся проектов и форм для выбора и повторной загрузки |
Save Save As |
Сохраняет активную форму |
Save Project As |
Сохраняет активную форму под другим именем |
Save All Close |
Сохраняет файл проекта под другим именем |
Close All Use |
Сохраняет файл проекта и все открытые модули |
Таблица П1.2
1.2. Опция Edit
Название |
Функция |
Undo |
Отменяет последнее изменение проекта |
Redo |
Восстанавливает последнее изменение проекта |
Cut |
Вырезает выбранный компонент формы или фрагмент текста и помещает его в буфер Clipboard |
Copy |
Копирует в Clipboard выделенные компоненты формы или фрагмент текста модуля |
Paste |
Извлекает из буфера и переносит компоненты на форму или копирует текст в модуль (в позицию, указываемую текущим положением текстового курсора) |
Delete |
Удаляет выделенные компоненты или фрагмент текста |
Select All |
Выделяет все компоненты формы или весь текст модуля |
Align To Grid
|
Привязывает выделенные компоненты к масштабной сетке так, чтобы их левые верхние углы располагались в ближайших точках сетки |
Bring To Front |
Перемещает выделенные компоненты на передний план |
Send To Back |
Перемещает выделенные компоненты на задний план |
Align |
Вызывает окно выравнивания выделенных компонентов |
Size |
Вызывает окно изменения размеров выделенных компонентов |
Scale |
Масштабирует выделенные компоненты |
Tab Order |
Изменяет порядок обхода компонентов клавишей Tab |
Creation Order |
Изменяет порядок создания невизуальных компонентов |
Flip Children Lock Controls Add to interface |
Изменяет свойство BiDiMode для всех или только для выделенных компонентов. Блокирует возможность перемещения компонентов на форме. Определяет новые свойства, методы и события для компонентов ActiveX |
Таблица П1.3
1.3. Опция Run
Название |
Функция |
Run |
Компилирует программу и делает ее прогон |
Attach to Process |
Позволяет присоединиться в режиме отладки к одному из уже запущенных процессов на другой сетевой машине |
Parameters |
Указывает командную строку запуска вашей программы |
Register ActiveX Servers |
Регистрирует ваш проект в реестре Windows. Опция доступна для ActiveX-проектов |
Unregister ActiveX Servers |
Удаляет ваш проект из реестра Windows. Опция доступна для ActiveX-проектов |
Install MTS Objects |
Регистрирует в вашем проекте объект MTS |
Step Over |
В отладочном режиме выполняет текущую строку кода и не прослеживает работу вызываемых подпрограмм |
Trace Into
|
В отладочном режиме выполняет текущую строку кода и прослеживает работу вызываемых подпрограмм |
Trace To Next Source Line |
Программа выполняется до ближайшего от текущего положения курсора исполняемого оператора |
Run To Cursor
|
В отладочном режиме выполняет программу и останавливается перед выполнением кода в строке с текстовым курсором |
Run Until Return |
В отладочном режиме выполняет текущую подпрограмму и останавливается |
Show Execution Point |
Отображает в окне кода оператор, на котором было прервано выполнение программы |
Program Pause |
Приостанавливает прогон отлаживаемой программы |
Program Reset
|
Прекращает прогон программы и восстанавливает ре жим конструирования программы |
Inspect |
Открывает окно проверки текущего значения |
Evaluate/Modify |
Открывает окно проверки/изменения переменных |
Add Watch |
Добавляет переменную или выражение в окно наблюдения |
Add Breakpoint |
Добавляет точку останова |
Таблица П1.4
Пиктографические кнопки главного меню
Реализуемое кнопкой действие |
Группа Standard |
Открывает доступ к Репозиторию Объектов. Эквивалент опции File|New|Other (этой кнопки нет в версиях 1, 2 и 3) |
Открывает существующий файл. Эквивалент опции File|Open File |
Сохраняет файл на диске. Эквивалент опции File|Save File (клавиши быстрого доступа Ctrl-S) |
Сохраняв все файлы проекта. Эквивалент опции File|Save All |
Открывает созданный ранее проект программы. Эквивалент опции File|Open Project (клавиши быстрого доступа Ctrl-F11) |
Добавляет новый файл к проекту. Эквивалент опции Project|Add to project (клавиши быстрого доступа Shift-F11) |
Удаляет файл из проекта. Эквивалент опции Project|Remove from Project |
Группа View |
Выбирает модуль из списка модулей, связанных с текущим проектом. Эквивалент опции View|units (клавиши быстрого доступа Shift-F12) |
Выбирает форму из списка форм, связанных с текущим проектом. Эквивалент опции View|Forms (клавиши быстрого доступа Ctrl-F12) |
Переключает активность между окном формы и окном кода программы. Эквивалент опции View|Toggle Form/Unit (клавиша быстрого доступа F12) |
Создает новую форму и добавляет ее к проекту. Эквивалент опции File|New|Form (этой кнопки нет в версиях 1 и 2) |
Группа Debug |
Компилирует и выполняет программу. Эквивалент опции Run|Run (клавиша быстрого доступа F9) |
Реализует паузу в работе отлаживаемой программы. Эквивалент опции Run|Program Pause |
Осуществляет пошаговую трассировку программы с прослеживанием работы вызываемых подпрограмм. Эквивалент опции Run | Trace into (клавиша быстрого доступа F7) |
Осуществляет пошаговую трассировку программы, но не прослеживает работу вызываемых подпрограмм. Эквивалент опции Run|Step Over (клавиша быстрого доступа F8) |
Группа Custome |
Открывает доступ к встроенной справочной службе. Эквивалент опции Help|Delphi Help (этой кнопки нет в версиях 1, 2 и 3) |
Группа Desktops |
Список выбора возможных вариантов настройки остальных окон Delphi |
Сохраняет текущую настройку окон Delphi |
Выбирает настройку окон, соответствующую отладочному режиму |
Группа Internet |
Начинает создание нового приложения по технологии WebSnap (для Интернет) |
Создает новую страницу приложения WebSnap |
Создает новый модуль данных приложения WebSnap |
Приложение П2
Меню компонентов
Компонент Edit страницы Standart
Компонент Edit представляет собой поле ввода-редактирова-ния строки символов. Свойства компонента приведены в табл.П2.1.
Таблица П2.1.
Свойства компонента Edit (поле редактирования)
Свойство |
Описание |
Name |
Имя компонента. Используется в программе для доступа к компоненту и его свойствам, в частности- для доступа к тексту, введенному в поле редактирования |
Text |
Текст, находящийся в поле ввода и редактирования |
Left |
Расстояние от левой границы компонента до левой границы формы |
Top |
Расстояние от верхней границы компонента до верхней границы формы |
Height |
Высота поля |
Width |
Ширина поля |
Font |
Шрифт, используемый для отображения вводимого текста |
ParentFont |
Признак наследования компонентом характеристик шрифта формы, на которой находится компонент. Если значение свойства равно True, то при изменении свойства Font фор-мы автоматически меняется значение свойства Font компо-нента |
Enabled |
Используется для ограничения возможности изменить текст в поле редактирования. Если значение свойства равно False, то текст в поле редактирования изменить нельзя |
Visible |
Позволяет скрыть компонент (False) или сделать его ВИДИМЫМ (True) |
Компонент Button страницы Standart
Компонент Button представляет собой командную кнопку. Свойства компонента приведены в табл. П2.2.
Таблица П2.2
Свойства компонента Button (командная кнопка)
Свойство |
Описание |
Name |
Имя компонента. Используется в программе для доступа к компоненту и его свойствам |
Caption |
Текст на кнопке |
Left |
Расстояние от левой границы кнопки до левой границы формы |
Top |
Расстояние от верхней границы кнопки до верхней границы формы |
Height |
Высота кнопки |
Width |
Ширина кнопки |
Enabled |
Признак доступности кнопки. Если значение свойства равно True, то кнопка доступна. Если значение свойства равно False, то кнопка не доступна, например, в результате щелчка на кнопке событие Click не возникает |
Visible |
Позволяет скрыть кнопку (False) или сделать ее видимой (True) |
Hint |
Подсказка-текст, который появляется рядом с указателем мыши при позиционировании указателя на командной кнопке (для того чтобы текст появился, надо чтобы значение свойства ShowHint было True) |
ShowHint |
Разрешает (True) или запрещает (False) отображение подсказки при позиционировании указателя на кнопке |
Компонент Memo страницы Standart
Компонент Memo представляет собой элемент редактирования текста, который может состоять из нескольких строк.
Свойства компонента приведены в табл. П2.3.
Таблица П2.3.
Свойства компонента Memo
Свойство |
Описание |
Name |
Имя компонента. Используется в для доступа к свойствам компонента |
Text |
Текст, находящийся в поле Memo, рассматривается как единое целое |
Lines |
Массив строк, соответствующий содержимому поля. Доступ к строке осуществляется по номеру. Строки нумеруются с нуля |
Lines.Count |
Количество строк текста в поле Memo |
Left |
Расстояние от левой границы поля до левой границы формы |
Top |
Расстояние от верхней границы поля до верхней границы формы |
Height |
Высота поля |
Width |
Ширина поля |
Font |
Шрифт, используемый для отображения вводимого текста |
ParentFont |
Признак наследования свойств шрифта родительской формы |