IfEditl.Text<>'' then

Try

StrToFloat(Editi.Text) ;

OldText := Editl.Text except

// Ошибка преобразования: восстанавливаем прежний текст

Editl.Text := OldText;

// и позиционируем текстовый указатель в конец текста:

Editl.SelStart := Length(Editi.Text);

Editi.SelText := ''

End

end;

При повторении примера подготовьте глобальную переменную OldText типа String, в которой запоминается последний правильно введенный текст. Лучше всего ее поместить в секцию Private класса формы - тогда ее можно не обнулять в момент начала работы.

Примечание

Позиционировать текстовый указатель на любой символа строки .можно с помощью свойств SelStart и SelText: в первое нужно поместить порядковый номер символа от начала текста, после который должен стоять указауель ввода, во-второе -пустую строку.

Свойства компонента:

property AutoSelect: Boolean;     Указывает, будет ли выделяться весь текст в момент получения компонентом фокуса ввода
property AutoSize: Boolean;     Если содержит True и BorderStyle=bsSingle, высота компонента автоматически меняется при изменении свойства Font. Size
TBorderStyle = bsNone..bsSingle; property BorderStyle: TBorderStyle; Определяет стиль обрамления компонента: bsNone - нет обрамления; bsSingle - компонент обрамляется одной линией
property CanUndo: Boolean;   Содержит True, если сделанные пользователем изменения в тексте Text можно убрать методом Undo
TEditCharCase = (ecNormal, ecUpperCase, ecLowerCase) ; Определяет автоматическое преобразование высоты букв: ecNormal - нет преобразования; ecUpper
property CharCase: TEditChar Case; Case - все буквы заглавные; ecLowerCase - все буквы строчные. Правильно работает с кириллицей
property HideSelection: Boolean; Если содержит False, выделение текста сохраняется при потере компонентом фокуса ввода
property MaxLength: Integers; Определяет максимальную длину текстовой строки. Если имеет значение 0, длина строки не ограничена
property Modified: Boolean; Содержит True, если текст был изменен
property OnChange: TNotifyEvent; Определяет обработчик события OnChange, которое возникает после любого изменения текста
property OEMConvert: Boolean; Содержит True, если необходимо перекодировать текст из кодировки MS-DOS в кодировку Windows и обратно
property PasswordChar: Char; Если символ PasswordChar определен, он заменяет собой любой символ текста при отображении в окне. Используется для ввода паролей
property Readonly: Boolean; Если содержит True, текст не может изменяться
property SelLength: Integers; Содержит длину выделенной части текста
property SelStart: Integers; Содержит номер первого символа выделенной части текста
property SelText: Strings- Содержит выделенную часть текста
property Text: String; Содержит весь текст
Методы компонента:
procedure Сlears; Удаляет весь текст
procedure ClearSelection; Удаляет выделенный текст
procedure ClearUndo; Очищает буфер метода Undo
procedure CopyToClipboard; Копирует выделенный текст в clipboard
procedure CutToClipboard; Копирует выделенный текст в clipboard, после чего удаляет выделенный текст из компонента
function GetSelTextBuf(Buffer: PChar; BufSize: Integer): Integers; Копирует не более BufSize символов выделенного текста в буфер Buffer
procedure PasteFromClipboard; Заменяет выделенный текст содержимым Clipboard, а если нет выделенного текста, копирует содержимое Clipboard в позицию текстового курсора
procedure SelectAll; Выделяет весь текст
procedure SetSelText-Buf(Buffer: PChar); Заменяет выделенный текст содержимым Buffer, а если нет выделенного текста, копирует содержимое Buffer в позицию текстового курсора
procedure Undo; Восстанавливает текст в том виде, в каком он был перед последним получением компонентом фокуса ввода







Дата добавления: 2016-03-04; просмотров: 762;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.