ВУЗ:
Составители:
Рубрика:
56
Пример 2.2. Разработать функцию пользователя для вычисления суммы
значений по заданному полю. При этом положение указателя в таблице не
должно меняться и данные на экране не должны перерисовываться. Использо-
вать закладку по способу 2.
function MyBookmark2(Table:TDataSet;f:string):Extended;
//Сумма по заданному полю
var B:TBookmarkstr; //Использование свойства Bookmark
begin
Result := 0;
Try
B:=Table.Bookmark; //Запомнили положение курсора
Table.DisableControls; //Отключили вывод на экран
Table.First;
while not Table.Eof do
begin
Result:=Result+Table.FieldValues[f];
Table.Next;
end;
Table.Bookmark:=B; //Восстановили положение курсора
Table.EnableControls; //Разрешили вывод на экран
except
ShowMessage('Ошибка при выполнении функции MyBookmark2');
end;
end;
При реализации функции использован блок try...except, что позволя-
ет обработать ошибки. Функция
MyBookmark2 имеет два параметра. При вызо-
ве функции в качестве параметра
Table задаётся таблица, которая будет ис-
пользоваться. Параметр
f предназначен для задания поля, что делает функцию
MyBookmark2
более универсальной, чем MyBookmark1.
Пример 2.3. Разработать функцию для вычисления максимального значе-
ния поля, указанного пользователем. При этом положение указателя в таблице
не должно меняться и данные на экране не должны перерисовываться. Для за-
дания позиции курсора использовать свойство
RecNo.
function Remember_rec(Table:TDataSet;f:string):Extended;
//Максимальное значение заданного поля
var B:longint; //Использование свойства RecNo
begin
Result:=0;
try
with Table do
Пример 2.2. Разработать функцию пользователя для вычисления суммы значений по заданному полю. При этом положение указателя в таблице не должно меняться и данные на экране не должны перерисовываться. Использо- вать закладку по способу 2. function MyBookmark2(Table:TDataSet;f:string):Extended; //Сумма по заданному полю var B:TBookmarkstr; //Использование свойства Bookmark begin Result := 0; Try B:=Table.Bookmark; //Запомнили положение курсора Table.DisableControls; //Отключили вывод на экран Table.First; while not Table.Eof do begin Result:=Result+Table.FieldValues[f]; Table.Next; end; Table.Bookmark:=B; //Восстановили положение курсора Table.EnableControls; //Разрешили вывод на экран except ShowMessage('Ошибка при выполнении функции MyBookmark2'); end; end; При реализации функции использован блок try...except, что позволя- ет обработать ошибки. Функция MyBookmark2 имеет два параметра. При вызо- ве функции в качестве параметра Table задаётся таблица, которая будет ис- пользоваться. Параметр f предназначен для задания поля, что делает функцию MyBookmark2 более универсальной, чем MyBookmark1. Пример 2.3. Разработать функцию для вычисления максимального значе- ния поля, указанного пользователем. При этом положение указателя в таблице не должно меняться и данные на экране не должны перерисовываться. Для за- дания позиции курсора использовать свойство RecNo. function Remember_rec(Table:TDataSet;f:string):Extended; //Максимальное значение заданного поля var B:longint; //Использование свойства RecNo begin Result:=0; try with Table do 56
Страницы
- « первая
- ‹ предыдущая
- …
- 54
- 55
- 56
- 57
- 58
- …
- следующая ›
- последняя »