Name – Town, Type – String

FieldType – Lookup (поисковое поле),

KeyField – Город,

DataSet – TownTable (таблица, где нужно искать)

Lookup Keys - Key1 (по этому полю надо искать),

Result Field – Название города, нажать Ок

· Появилось новое поле, перетащить его ближе к полю Город

· Сделать таблицу BookTable вновь активной загрузить программу, просмотреть результат.

37. Сделать поле Город невидимым, чтобы не видеть числа, а над полем Town написать надпись Город (самостоятельно)

Сортировка и фильтрация данных

Часть

 

Поиск данных и сортировка выполняются по индексным полям. В телефонном справочнике чаще ищут информацию по номеру телефона или фамилии. В таблице Справочник для полей Фамилия и Телефон свойство Индексированное поле имеет значение Да(допускаются совпадения).

38. Добавить в меню пункт Сортировка и подпункты                          По телефону, по Фамилии

39. для подпунктов ввести соответствующий код:

DataModule1.BookTable.IndexFieldMNames:=’Фамилия’;

 

DataModule1.BookTable.IndexFieldMNames:=’Телефон’;

 

40. Реализовать функцию поиска данных, для этого:

· добавить на форму панель, на нее метку Найти и TEdit с именем FindEdit

· ввести следующий код:

procedure TForm1.FindEditChange(Sender:TObject);

begin

if Length(FindEdit.Text)>0 then

       DataModule1.BookTable.Filtered:=true

  Else DataModule1.BookTable.Filtered:=false;

DataModule1.BookTable.Filter:=’Фамилия>’’’+FindEdit.Text+’’’’;

end;

 

41. Проверить работу программы.

Фильтры в ADO работают плохо, но в Delphi можно расширить возможности фильтрации.

42. Перейти в модуль DataModule1, для компонента   BookTable  выбрать событие OnFilterRecord и ввести код:

 

Accept:=false;

if copy(BookTableDSDesigner.AsString,1,Length(Form1.FindEdit.Text))=Form1.FINDedit.Text then

Accept:=true; {строка соответствует фильтру, ее можно отображать}

end;

43. Проверить работу программы.

 



ПРИЛОЖЕНИЕ 1

Образец оформления титульного листа отчета

 

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Национальный исследовательский ядерный университет «МИФИ»
Волгодонский инженерно-технический институт – филиал федерального государственного автономного образовательного учреждения высшего  профессионального образования «Национальный исследовательский ядерный университет «МИФИ» (ВИТИ НИЯУ МИФИ)

Специальность «Прикладная информатика (по отраслям)»

 

Технология разработки программного продукта

 

ОТЧЕТ

по практической работе № ___

 

Тема работы

«________»

 

Самостоятельное задание №__

 

 

Выполнил студент гр.ПрИн–6.11                    Петров И.В           

Проверил преподаватель                             Янковская И.А.

 

Результат защиты                                     _______________

Дата защиты                                                    _______________



ПРИЛОЖЕНИЕ 2

Процедуры и функции Delphi

(краткое изложение)

Математические

  Назначение Пример использования
ABS Возвращает абсолютное значение Y:=ABS(X);
ROUND Округление к ближайшему целому Y:=ROUND(X)
TRUNC Округление в меньшую сторону Y:=TRUNC(X)
INT Возвращает целую часть вещественного числа Y:=INT(X)
FRAC Возвращает дробную часть числа Y:=FRAC(X)
SQR Возвращает квадрат указанного значения Y:=SQR(X)
SQRT Возвращает квадратный корень Y:=SQRT(X)
RANDOM Возвращает случайное число из области, ограниченной заданным значением Y:=RANDOM(100)
RANDOMIZE Позволяет задать случайное начальное значение для функции RANDOM RANDOMIZE
TAN Возвращает тангенс указанного числа Y:=TAN(X)

 

Для работы с датами и временем

  Назначение Пример использования
CurrentYear Возвращает текущий год Label2.Caption:= IntToStr(CurrentYear)
Date Возвращает текущую дату Label2.Caption:= DateToStr(Date)
DayOfWeek Возвращает число от 1 до 7,которое определяет день недели If DayOfWeek(Date)=1 then Label2.Caption:='воскресенье';
DecodeDate Преобразует дату в раздельные составляющие: год, месяц, день DecodeDate(Date,Year,Moth,Day);
Time Возвращает текущее время в формате TDateTime Label2.Caption:=TimeToStr(Time);
DecodeTime Преобразует время в раздельные составляющие: час, минуту, секунду, миллисекунду DecodeTime(Time,H,M,Sec,MSec);
IncMonth Возвращает дату, отстоящую от заданной даты на указанное число месяцев s:=IncMonth(Date,4);

 



Диалоговые

  Назначение Пример использования
ShowMessage

Позволяет отобразить информационное окно с предустановленной кнопкой Ok

ShowMessage(‘Error ’)

InputBox

Позволяет создавать окно диалога для ввода пользовательской информации

S:=InputBox('Вход в систему','Ваш пароль','777');

MessageDlg

Позволяет отобразить информационное окно с набором кнопок

If MessageDlg('Вы уверены? ',mtConfirmation,[mbYes,mbNo],0) = mrYes Then Exit;

Преобразование типов

  Назначение Пример использования
VAL Преобразование строки в целое или вещественное число VAL(STROKA,Y,CODE)
STR Преобразование целого или вещественного числа в строку STR(Y,STROKA)
DateToStr Преобразование даты в строку Label2.Caption:= DateToStrDate(Date)
StrToDate Преобразование строки в дату S:=StrToDate(Edit1.text);
TimeToStr Преобразование строки во время Label2.Caption:=TimeToStr(Time);

 

Для работы с символами и строками

  Назначение Пример использования
CHR Возвращает символ по указанному коду ASCII S:=CHR(X)
INSERT Позволяет вставить одну строку в другую, начиная с заданного символа Insert(context,stroka,3)
COPY Возвращает заданную часть строки S:=COPY(stroka,1,5)
LENGTH Возвращает число символов строки K:= LENGTH(stroka)
POS Возвращает позицию вхождения указанной последовательности символов в заданную строку K:=POS(context,stroke)
UpperCase Возвращает строку, все строчные латинские буквы в которой преобразованы к прописным. S2:= UpperCase(S1)
LowerCase Возвращает строку, все прописные латинские буквы в которой преобразованы к строчным. S2:= LowerCase(S1)
DELETE Позволяет получить строку, из которой удалена заданная часть DELETE(stroka,2,4)
TRIM Возвращает строку, в которой удалены пробелы с обеих сторон S2:=TRIM(s1)

ПРИЛОЖЕНИЕ 3


Именованные константы в Delphi


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: