1. В просмотре отчета в объекте "Номер страницы" позволяет вводить
не только цифры но и символы.
Рещается следующим образом
procedure TfrxPreviewForm.PageEClick(Sender: TObject);
begin
try
FPreview.PageNo := StrToInt(PageE.Text);
except
FPreview.PageNo := 1;
end;
//Простая заглушка, если не поставить ее то можно будет удалить номер страницы и
//вылетит ошибка
//можно обрабатывать без исключения, но это самый простой способ
FPreview.SetFocus;
end;
Добавить в KeyPress
if not (key in ['0'..'9',#8]) then //цифры и BackSpace
key := #0;
в fr3.16 можно вводить только цифры, но можно удалить все
символы в PageE и тогда вылетит ошибка, так как '' не сможет преобразовать
в число.
2. В просмотре в объекте "Масштаб" (ZoomCB) позволяет вводить
не только цифры но и символы.
Решается следующим образом :
Добавить в KeyPress
if not (key in ['0'..'9',#8]) then
key := #0;
Либо создать процедуру
procedure KeyPressDigit(var Key: Char)
begin
if not (key in ['0'..'9',#8]) then //цифры и BackSpace
key := #0;
end;
и подцепить ее к событим KeyPress для объектов PageE и ZoomCB.
Добавлено: на всякий случай добавлю:
procedure KeyPressDigit(Sender: TObject; var Key: Char)
Добавлено: Эх поспешишь людей насмешишь.
Цитата: procedure TfrxPreviewForm.PageEClick(Sender: TObject);
begin
try
FPreview.PageNo := StrToInt(PageE.Text);
except
FPreview.PageNo := 1;
end;
end;
Лучше так, а то не красиво получается, находимся на первой странице отчета,
а в номере страницы ничего не отображается.
procedure TfrxPreviewForm.PageEClick(Sender: TObject);
begin
try
FPreview.PageNo := StrToInt(PageE.Text);
except
FPreview.PageNo := 1;
PageE.Text := '1';
end
end;