Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.145.8.42] |
|
Страницы: (2) 1 [2] все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
И это помешает ввести число 99999999999999999999999999999999999?
|
Сообщ.
#17
,
|
|
|
Не пробовал. Констрайнты на сервере при создании таблиц пишу на допустимые значения.
|
Сообщ.
#18
,
|
|
|
Цитата Павел Калугин @ Цитата Delfin4ik @ Delfin4ik поле.asinteger =strtoint(edit.text) Так ты сразу отловишь косяки ввода. А они будут, как ни рисуй защиту от дурака. чем это отличается от поле.asString:=edit.text Добавлено Цитата Павел Калугин @ И это помешает ввести число 99999999999999999999999999999999999? такая проверка легко решается даже без валидаторов JVCL простsм указанием Edit.MaxLength Добавлено но как я уже сказал все решается с помощью валидаторов JVCL |
Сообщ.
#19
,
|
|
|
Тем что сразу будет ошибка преобразования типов, которую можно легко обработать
|
Сообщ.
#20
,
|
|
|
она и в моем случае будет
Добавлено для сравнения function StrToInt(const S: string): Integer; var E: Integer; begin Val(S, Result, E); if E <> 0 then ConvertErrorFmt(@SInvalidInteger, [S]); end; procedure TIntegerField.SetAsString(const Value: string); var E: Integer; L: Longint; begin if Value = '' then Clear else begin Val(Value, L, E); if E <> 0 then DatabaseErrorFmt(SInvalidIntegerValue, [Value, DisplayName]); SetAsInteger(L); end; end; думаю в комметариях нет нужды Добавлено те же яйца только в профиль:D |