русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Лабораторная работа № 2


Дата добавления: 2014-11-28; просмотров: 742; Нарушение авторских прав


FOR J:=1 TO N-1 DO
FOR I:=1 TO N-J DO
IF A[I]>A[I+1] THEN BEGIN
X:=A[I]; A[I]:=A[I+1]; A[I+1]:=X

END;

END;
END.

В интерфейсной части модуля описан тип mas и заголовок процедуры сортировки. Поэтому при подключении этого модуля с помощью предложения Uses в любой программе становятся доступны и этот тип и процедура, что и продемонстрировано в главной программе

 

Лабораторная работа № 2

Цель работы:

1. Изучить начальные этапы создания приложения для работы с базами данных в среде Delphi:

· ознакомить с компонентами доступа к БД: TTable
,
TDataSource
;

· ознакомить с компонентами управления БД: TDBGrid
,
TDBNavigator
.

2. Усвоить ввод и редактирование текста.

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

Приложение работы с базой данных должно содержать компоненты, обеспечивающие доступ к данным, возможность просмотра и редактирования содержимого полей. Компоненты доступа к данным находятся на вкладке Data
Access
и BDE палитры компонентов, а компоненты отображения данных — на вкладке Data Controls.

Основные компоненты доступа и управления к базам данных:

Компоненты доступа к базам данных:

TTable - обеспечивает взаимодействие с таблицей БД, т.е. компонент TTableуказывает, откуда брать данные и какие поля будут составлять набор данных. Компонент TTable имеет следующие основные свойства:

· DatabaseName – база данных

· TableName - имя таблицы

· Active – активация таблицы (значение True активирует ее)

Свойство DatabaseName определяет базу данных, в которой находится таблица. Это свойство может содержать:



* псевдоним (псевдоним)

* путь для локальных БД

* путь и имя файла базы данных для Local InterBase

* локальный псевдоним, определенный через компонент TDatabase.

Свойство TableName определяет имя таблицы базы данных.

TDataSource - определяет связь между базой данных и компонентами управления данными, то есть компонент TDataSource является промежуточным звеном между компонентом Table
1
, соединенным с реальной БД и визуальными компонентами DBGrid
1
и DBNavigator
1
, с помощью которых пользователь взаимодействует с таблицей.

В большинстве случаев, все, что нужно сделать с DataSource - это указать в свойстве DataSet соответствующий TTable. Затем, у визуального компонента вроде DBGrid или DBNavigator в свойстве DataSourceуказываетсяTDataSource, который используется в настоящее время.

Компоненты управления данными с палитры Data

Contorls:

TDBGrid - отображает содержимое таблицы БД в виде сетки, в котором столбцы соответствуют полям, а строки записям таблицы.

Компонент имеет следующие свойства:

· Data

Source – содержит ссылку на компонент типа TDataSource, служащий источником данных;

· Editor

Mode – если содержит true, пользователь может редактировать ячейку после нажатия клавиши F
2
или Enter. Игнорируется, если свойство Option включает значение goEditing или goAlwaysShowEditor;

· Option – определяет вид и поведение компонента;

o dgEditing
– разрешает изменение набора данных;

o dgAlwaysShowEditor – автоматически переводит столбец в режим редактирования при его выделение;

o dgTitles – показывает заголовки столбцов;

o dgIndicator – показывает индикатор текущей строки в самом левом фиксированном столбце;

o dgColumnResize – разрешает пользователю вручную изменять ширину столбцов;

o dgColLines
– показывает разделяющие вертикальные линии;

o dgRowLines – показывает разделяющие горизонтальные линии;

o dgTabs – разрешает переход от столбца к столбцу с помощью клавиши Tab;

o dgRowSelect – разрешает выделение цветом всей выбранной строки;

o dgAlwaysShowSelection – выделение текущей строки сохраняется, если компонент теряет фокус ввода;

o dgConfirmDelete – удаление строки должно подтверждаться;

o dgCancelOnExit – если пользователь вставил пустую строку и покинул ее, она не помещается в набор данных;

o dgMultiSelect – разрешает множественный выбор строк.

TDBNavigator - осуществляет перемещение и редактирование записей (вид и назначение кнопок указаны в пункте DBNavigator). С помощью свойства DataSource компонент связывается с нужным источником данныхТDataSource – это все, что необходимо для его нормальной работы. Свойство ConfirmDelete управляет отображением диалогового окна с просьбой подтвердить удаление записи (значение True этого свойства выводит окно).

Создание приложения:

1. Запустить Delphi.

2. В свойстве Caption изменить имя формы на Студенты.

3. Установить на форму компоненту TTable.

4. Определить следующие свойства компоненты Table
1
.

· определить псевдоним - выбрать в свойстве DatabaseName
инспектора объектов псевдоним «Student».

· задать имя таблицы - выбрать в свойстве TableName таблицу Student.

· активизировать таблицу - установить в свойстве Active значение true(это будет возможно после выполнения пункта 4).

5. Разместить на форму компоненту DataSource с закладки Data

Accessи в свойстве DataSet инспектора объектов выбрать компоненту Table
1
.

6. Расположить на форме компоненту DBGridс закладки Data

Controls и в свойстве DataSource выбрать DataSource
1
.

Если вы внесли несколько записей, то форма Студенты примет вид:

Редактор полей:


Для управления отображением данных таблицы используют специальный редактор полей - Editor

Field.

Для вызова Editor

Field следует:

· Дважды щелкнуть по Table
1.

· Для открывшегося окна вызвать контекстное меню и выбрать пункт Add All Field, если необходимо добавить все поля таблицы.

· Add

Field для выбора отдельного поля.


Редактор полей имеет следующие свойства:

· DisplayLabelзадает имя полю;

· DisplayWidth – определяет количество символов, которое будет выводится в поле;


Определим свойства для полей таблицы Student
.
db
.

1. Выбрать в окне редактора полей таблицы поле SFioи в свойстве DisplayLabel инспектора объектов изменить SFio
на ФИО. Выбрать свойство DisplayWidth и заменить размер на 35.

2. Так же поменять свойства других полей таблицы.

3. Для полей логического типа в свойстве DisplayValues можно написать варианты для значений True и False. В поле SSpec в этом свойстве написать «Математика;Физика» (без пробела, разделяя «;»). Получиться как показано на рисунке.

4. Если возникнет необходимость можно скрыть любое поле, выбрав его и в свойстве Visible инспектора объектов установив значение false.

После выполненных действий сетка DBGrid
1 будет выглядеть так:

Ввод данных:

Компоненты для организации доступа к таблицам БД позволяют выполнять всевозможные операции с наборами данных: добавлять или удалять записи, перемещаться по ним. При этом следует иметь в виду, что в любой момент времени доступна для выполнения конкретных действий только одна запись, называемая текущей. В этой лабораторной работе рассматриваются наиболее часто используемые методы компонентыTable.

Основные методы для организации доступа компоненты Table:

· Append– добавить новую запись в конец таблицы.

· Delete – удалить текущую строку.

· Edit– перейти в режим редактирования. После этого можно изменять значения полей.

· Insert– вставить новую строку в таблицу.

· Post– принять все изменения.

· Refresh– обновить информацию о данных.

· UpdateRecord– обновить текущую запись.


1. Откроем созданное приложение.

2. Разместим на форме три компоненты SpeedButton из палитры Additional. Одна из кнопок будет добавлять запись, другая – изменять данные в записи, третья – удалять. Назовем их соответственно.

3. Создадим новую форму, которая будет вызываться нажатием кнопки «Добавить». На форме расположены 4 компоненты Edit, компонент DateTimePicker с закладки Win
32, компонент CheckBox и компонент RadioGroup
.

4. Текст процедуры для события OnClick кнопки «Добавить» на форме Студенты:

procedure TForm1.SpeedButton1Click(Sender: TObject);

begin



Form
2.
ShowModal
; //открывает форму «Добавление записи»


end;

5. Текст процедуры для события OnClick кнопки «ОК» на форме Добавление записи:

procedure TForm2.Button1Click(Sender: TObject);

begin

Form1.Table1.Insert;

Form1.Table1.FieldByName('SFio').Text:=Edit1.Text;

Form1.Table1.FieldByName('SOsn').Text:=Edit2.Text;

Form1.Table1.FieldByName('SNom').Text:=Edit3.Text;

Form1.Table1.FieldByName('SKurs').Text:=Edit4.Text;

Form1.Table1.FieldByName('SData').AsDateTime:=DateTimePicker1.Date;

if CheckBox1.Checked then

Form1.Table1.FieldByName('SStip').Text:='да'

else

Form1.Table1.FieldByName('SStip').Text:='нет';


//при нажатии на флажок полю
SStip
(Стипендия) передается

//значение
True
, в противном случае вводится передается


//
значение
False

case RadioGroup1.ItemIndex of

0: Form1.Table1.FieldByName('SSpec').Text:='Математика';

1: Form1.Table1.FieldByName('SSpec').Text:='Физика';

end;

if form1.Table1.Modified

then form1.Table1.Post;

close

Комметарий: в строке Form
1.
Table
1.
Insert
вызывается метод, который допускает вставку новой строки в таблицу, которая находится на форме «Студенты». Без вызова этого метода дальнейшая работа по вставке записи в таблицу невозможна. Запись Form
1.
Table
1.
FieldByName
('
SFio
').
Text
:=
Edit
1.
Text
означает, что текст, который находится в Edit
1
по нажатии кнопки будет перенесен в таблицу на форме «Студенты» в новую запись в текстовое поле ФИО. Остальные записи в процедуре работают аналогичным образом. Запись if

form
1.
Table
1.
Modified

then

form
1.
Table
1.
Post
сохраняет изменения в таблице. Close
закрывает форму «Добавление записи».


6. По нажатии кнопки Cancel осуществляется выход. То же и на форме «Редактирование записи».

7. Текст процедуры для события OnClick при нажатии клавиши «Удалить» на форме Студенты:

procedure TForm1.SpeedButton3Click(Sender: TObject);

begin

Table1.Delete //удаляет текущую запись в таблице

end;

Редактирование данных:

Компоненты, отражающие информацию, делятся на две категории – те, которые не связаны с таблицами БД, и компоненты, связанные с таблицами и обменивающиеся с ними информацией. В первую категорию входят обычные компоненты Delphi. Компоненты второй категории расположены на странице Data

Controls. Почти каждая из них имеет аналог среди обычных компонент; основные отличия заключаются в том, что они могут работать с данными, хранящимися в БД. К этой группе относится компонента DBEdit, которая используется для ввода текстовой однострочной информации.

Чтобы компонент DBEdit видел данные из поля таблицы, следует указать в свойствах:

 

· DataSource – источник данных;

· DataField – поле для редактирования.


Этот компонент с заданными уже свойствами может появиться автоматически при перетаскивании имени поля из окна редактора полей.

1. Создадим новую форму: Редактирование записи.

2. В случае перетаскивания поля логического типа, на форме автоматически устанавливается компонента DBCheckBox, что не всегда удобно.

2.1. Установим на форму компоненту DBRadioGroup с закладки Data Control.

2.2. В свойстве DataSource укажем DataSource1.

2.3. В свойстве DataField укажем SSpec.

3. Текст процедуры для события OnClick при нажатии клавиши «Изменить» на форму Студенты:

begin

Form3.ShowModal //
вызов
Form3

end;

4. Текст процедуры для события OnClick при нажатии клавиши «Сохранить» на форму Редактирование:

begin

if form1.Table1.Modified

then form1.Table1.Post; //
все

изменения

в

таблице

сохраняются


close
;

end;

5. Пользователь имеет возможность редактировать записи в таблице напрямую. Чтобы это предотвратить используется свойство компоненты DBGrid dgEditing. Нужно выделить DBGrid
1
и в свойстве Options

dgEditing
инспектора объектов поставить false.



<== предыдущая лекция | следующая лекция ==>
Модули. | Лабораторная работа № 3


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.667 сек.