29. Как установить формат для поля таблицы?
В Fields Editor выберите поле для форматирования. Используя свойства
30. Можно ли использовать клавишу ENTER при вводе данных для перехода от поля к полю?
Используйте данный код для события
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
SelectNext(Sender as TWinControl, True, True);
Key := #0;
end;
end;
Теперь Enter ведет себя как Tab. Затем, выберите все объекты, которые должны вести себя как
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
SelectNext(Sender as TWinControl, True, True);
Key := #0;
end;
end;
Все объекты на форме будут воспринимать Enter как Tab.
Общие вопросы по Delphi и данному FAQ (часть 3)
Object Pascal и Windows API
1. Как работает информация времени выполнения (RTTI)?
Имеются два новых оператора: as и is. as — оператор защищенного преобразования типов (typecasting). Вы можете использовать его, чтобы заставить компилятор преобразовать объект из одного типа в другой, но, если в во время выполнения эти типы окажутся несовместимыми, то вы получите ошибку. Hапример, если вы имеете класс
(MySport as TFootball)
чтобы получить доступ к специфическим свойствам из типа
(MySport is TSport)
(MySport is TBasketball)
not (MySport is TFootball)
Следует иметь ввиду, что компилятор разрешает использовать данные конструкции только для выполнения преобразования типов, связанных родственными отношениями. Так, конструкция (Button1 as TEdit) (переменная
function PlayerGoodness(var MySport: TSport): Integer;
begin
if (MySport is TBasketball) then
Result := (MySport as TBasketball).ReboundShots
else if (MySport is TFootball) then
Result := (MySport as TFootball).TotalYardage;
end;
Также, базовый класс
2. Как работает обработка исключительных ситуаций в Delphi?
Основная структура выглядит примерно так:
P := New(BigThing);
try
try
Proc1(P);
Proc2(P);
except
Handle(P);
raise;
end;
finally
Dispose(P);
end;