Компонент Delphi Memo являются окном редактирования многострочного текста который можно загружать из файла либо сохранять введенную информацию в файл текстового формата(рис 1).
В Memo формат текста (шрифт, выравнивание, цвет и т.д.) одинаков для всего текста и определены они в свойстве Font. Сохранены текст из Memo в файл не сохраняет элементы форматирования(шрифт, размер и т.п.) При последующем открытии этого файла, в Memo формат текста будет определяться текущим свойством Font компонента Memo, а не в том формате в котором был сохранен ранее.
Текст в Memo размещен построчно. Поэтому имеется доступ к строкам текста отдельно. Строки Memo являются объектами Lines[i] тип которого String, где i — номер строки, отчет начинается от нуля. Lines[i] доступен как для чтения, так и для записи. Поэтому текст в компоненте Memo есть возможность редактировать не только с помощью клавиатуры, но и программно. Например
begin Memo1.Lines[0]:=’1 строка’; end; |
Этим способом можно только редактировать текст, для добавления новой строки используются функции: Memo1.Lines.Add() добавляет новую строку в конец текста, а Memo1.Lines.Insert() вставляет новую строку перед указанной. Для удаление строк используется Memo1.Lines.Delete(i) где i — номер строки. Для определения количества строк используется функция Memo.Lines.Count. Рассмотрим процедуры для сохранения и загрузки текста:
Сохранение текста в файл осуществляется командой
memo1.Lines.SaveToFile(‘c:/file.txt’); |
Загрузка текста из файла осуществляется командой
memo1.Lines.LoadFromFile(‘c:/file.txt’); |
свойства Memo
Text |
текст, находящийся в поле Memo |
Lines |
массив строк доступ к которым осуществляется по номеру. нумерация начинается с нуля |
Lines.Сount |
количество строк в поле |
Font |
шрифт, применяемый для отображения выводимого текста |
ParentFont |
признак наследования свойств шрифта от родительской формы |
Компонент Delphi Edit предназначен для ввода пользовательских данных и представляет собой однострочное поле(рис 1).Основным свойством edit’a является text типа данных string т.е. для ввода чисел нужно использовать функции FloatToStr(дробные числа) и IntToStr(целые числа). Перенос строк в этом компоненте по сравнению с label невозможен. Текст, не поместившийся по длине в компонент, просто сдвигается влево и пользователь может курсором перемещаться по этому тексту.
свойства Edit
Text |
Содержит отображаемую компонентом строку |
MaxLegth |
максимальная длина текста, если значение равно 0, то можно вводить неограниченное количество символов |
Font |
Свойство позволяющее устанавливать шрифт текста, размер и его цвет |
ReadOnly |
Если значение этого свойство равно True, то текст в поле ввода пользователь изменить не сможет |
AutoSize |
автоматически подстраивает под размер текста высоту поля, а ширина окна не меняется ни при каких условиях |
BevelEdges |
Эти свойства определяют эффекты объемности поля ввода |
BorderStyle |
вид рамки, поля ввода |
PasswordChar |
свойство позволяющее сделать поле для ввода пароля, по умолчанию стоит значение равное #0(нулевой символ), для отображения звездочек необходимо в это поле поставить соответствующий символ |
AutoSelect |
Если значение равно True то при получении фокуса компонентом весь текст будет выделен |
CharCase |
позволяет вводить текст определенного регистра. это свойство может принимать следуюие значения: |
HideSelection |
Если False, то выделенный текст сохраняется выделенным при потере компонента фокуса ввода |
Рассмотрим основные события(Events) для Edit’а:
OnChange – наступает при изменении текста, OnKeyDown – наступает при нажатии любой клавиши пользователем. OnKeyPress – наступает при нажатии клавиши символа. OnKeyUp – наступает при отпускании какой-либо клавиши пользователем.
Методы TEdit перечислены ниже в таблице
Clear |
Очищает поле ввода |
ClearSelection |
Удаляет выделенный текст |
ClearUndo |
Очищает буфер метода Undo |
CopyToClipboard |
Копирует выделенный текст в буфер обмена |
CutToClipboard |
Вырезает выделенный текст в буфер обмена, после |
PasteFromClipboard |
Вставляет текст содержащийся в буфера обмена в позицию курсора |
SelectAll |
Выделяет весь текст |
Undo |
Восстанавливает текст в той форме, в которой он был перед последним получением компонента фокуса |
Компонент delphi MaskEdit предназначен для ввода данных по шаблону, заданному свойством EditMask. С помощью этого шаблона можно контролировать число символов в поле MaskEdit, ограничить тип вводимых данных (буквы, цифры, служебные символы). Можно добавить дополнительные символы (например тире при вводе номера телефона). Шаблон удобно использовать для ввода такой информации для которой свойствен свой формат. Свойство маски ввода состоит из трех полей разделяемые между собой точкой с запятой. В первом поле собственно и находится сам шаблон. Во втором поле определяется, заносить ли в свойство Text дополнительные символы если стоит 0 то не заносится, если 1 то заносится. Третье поле отвечает за незаполненные данные в поле ввода. Если свойство EditMask пустое, то компонент MaskEdit будет работать аналогично компоненту Edit.
Символы которые могут быть использованы в первой части маски.
А |
Обязательное расположение цифры или буквы |
а |
Данная позиция может быть пустой, введена цифра или буква |
С |
В данной позиции может быть введен любой символ но не может быть пустым |
с |
В данной позиции может быть введен любой символ так же может быть и пустым |
L |
В данной позиции может быть введена только буква но не может быть пустым |
l |
В данной позиции может быть введена только буква так же может быть и пустым |
0 |
В данной позиции может быть введены только цифры |
9 |
В данной позиции может быть введены только цифры так же может быть и пустым |
# |
В данной позиции может быть введены цифры или знак (+) либо (-) |
_ |
пробел |
! |
удаляет из текста начальные пробелы |
> |
после этого знака буквы преобразует в прописные |
< |
после этого знака буквы преобразует в строчные |
<> |
после этого знака преобразования букв прекращается |
: |
Разделяет отдельные части при выводе времени |
/ |
предназначен для разделения даты |
Свойства MaskEdit аналогичны свойствам Edit