Проект «Работа с таблицами. База данных» (часть 1)
Задача. Использовать строковые таблицы для ввода информации. Научиться записывать информацию из таблицы в файл и считывать из файла.
Ход работы.
1. Создать проект-приложение. Сохранить его в отдельной папке.
2. Создать интерфейс приложения по образцу. Сделать таблицу доступной для редактирования (goEditing=true)
3. В разделе описания глобальных данных в разделе TYPE описать тип запись SAP из 3 полей типа String[20]. В разделе VAR описать типизированный файл записей, отдельную переменную для обработки записей и другие введенные в проекте переменные
F: file of SAP; rec: SAP; …
4. Для формы приложения создать событие onCreate (при создании) и связать с ним программный код: assignFile (f, 'mas.in'); if not FileExists('mas.in') then rewrite (f) else reset(f); for i:=1 to stringgrid1.RowCount-1 do for j:=1 to stringgrid1.ColCount-1 do stringgrid1.Cells[j,i]:='';
5. С кнопкой «запись в файл» создать событие onClick и вставить в процедуру программный код, который выполняет действия:
reset(f); seek(f,0); for i:=1 to stringgrid1.RowCount-1 do begin rec.name:=stringgrid1.Cells[1,i]; rec.fam:= stringgrid1.Cells[2,i]; rec.tel:=stringgrid1.Cells[3,i]; write(f,rec); end;
6. С кнопкой «чтение из файла» также следует связать событие onClick. Программный код для обработки события:
reset (f); for j:=1 to i do begin seek(f,j-1); read(f,rec); stringGrid1.Cells[0,j]:=inttostr(j); StringGrid1.Cells[1,j]:=rec.name;
StringGrid1.Cells[2,j]:=rec.fam; StringGrid1.Cells[3,j]:=rec.tel; end; closeFile(f);
7. Для кнопок «очистить строки» и «добавить строку» создать события OnClick. Программный код для кнопок написать самостоятельно.
8. Проверить работу проекта. Показать учителю.
Ответить на вопрос: какие отличия в использовании файлов вы заметили по сравнению со стандартным языком Паскаль?
Проект «Работа с таблицами. База данных. Сортировка строк. Работа с MainMenu» (часть 2)
Задача. Использовать строковые таблицы для ввода, сортировки данных. Научиться выполнять сортировку строк по разным критериям; работать с компонентом MainMenu.
Ход работы
1. Открыть проект «База данных», выполненный на прошлом уроке.
2. Добавить на форму компонент RadioGroup. В свойстве Items для него вставить строки:
по фамилии, по имени, по номеру.
3. Добавить на форму компонент ColorDialog (панель компонентов Dialogs)
4. На форму поместить компонент MainMenu. Создать элементы меню и подменю (см таблицу):
Информация |
Дизайн |
Тесты |
Итоги |
О проекте О авторах |
|
по русскому яз. по алгебре по информатике … |
|
5. для элементов RadioGroup создать событие onClick и вставить программный код
(в данном примере показана сортировка по фамилии по возрастанию с использованием способа
«сортировка выбором», остальные части процедуры создать аналогично)
procedure Tform1.RadioGroup1Click(Sender: TObject); var min: integer; procedure obmen; // для обмена местами строк таблицы при сортировке var x, y, z: string; begin
x:=stringgrid1.Cells[1,i]; stringgrid1.Cells[1,i]:=stringgrid1.Cells[1,min]; stringgrid1.Cells[1,min]:=x; y:=stringgrid1.Cells[2,i]; stringgrid1.Cells[2,i]:=stringgrid1.Cells[2,min]; stringgrid1.Cells[2,min]:=y; z:=stringgrid1.Cells[3,i]; stringgrid1.Cells[3,i]:=stringgrid1.Cells[3,min]; stringgrid1.Cells[3,min]:=z;
end;
Begin
if RadioGroup1.ItemIndex=0 then // по фамилии begin
for i:=1 to stringgrid1.RowCount-1 do begin min:= i ;
for j:=i+1 to stringgrid1.RowCount-1 do
if stringgrid1.Cells[2,j]<stringgrid1.Cells[2,min] then min:=j; obmen; end; end;
if RadioGroup1.ItemIndex=1 then …. // по имени if RadioGroup1.ItemIndex=2 then …. // по НОМЕРУ
…
End;
6. Для пунктов меню Информация в отдельных диалоговых окнах выводятся сообщения об авторах проекта и о самом проекте (для чего предназначен, как работать с ним…) – создать самостоятельно.
7. для пункта меню Дизайн создать событие onClick и написать в процедуре, связанной с событием строки:
ColorDialog1.Execute;
Form1.Color:=ColorDialog1.Color;
8. Сохранить проект. Показать работу учителю.
© ООО «Знанио»
С вами с 2009 года.