Работа с текстом и изображениями
Компонент TMemo – многострочное редактируемое текстовое поле.
Компонент класса TMemo предназначен для ввода, редактирования и/или отображения достаточно длинного текста. Текст хранится в свойстве Lines класса TStrings и, таким образом, представляет собой пронумерованный набор строк (нумерация начинается с нуля).
Компонент TMemo находится на вкладке Standard и выбирается щелчком мыши по кнопке .
property Lines: TStrings;
С помощью свойств и методов этого класса можно динамически формировать содержимое компонента.
Можно привести следующие примеры (рассматривается компонент класса TMemo, называющийся Memo1):
Memo1.Lines.Add(A); – добавление в конец списка строки A;
Memo1.Lines.Insert(N, A); – добавление строки а в N+1 позицию списка;
Memo1.Lines[3] := ‘строка’; – изменение четвертой строки путем присвоения новой строки;
Memo1.Lines.Delete(0); – удаление первой строки;
Memo1.Lines.Clear; – удаление всех строк.
Чтобы узнать количество строк в компоненте, следует воспользоваться методом Lines.Count. Так как первая строка имеет номер 0, то последняя строка имеет номер Lines.Count -1.
IndexOf – поиск первого вхождения строки в список. Например,
I := Memo1.Lines.IndexOf(‘строка 1’);
Если строка в списке не найдена, то возвращается значение –1.
Все содержимое списка строк можно представить в виде одной длинной строки, обратившись к свойству Text.
property Text: String;
Например:
St := Memo1.Lines.Text;
В этой цепочке символов границы строк многострочного текста выделяются символами #13 и #10.
Свойство Text удобно использовать для поиска в тексте нужного фрагмента, например с помощью функции Pos.
Если текст, загружаемый в поле Memo слишком велик, то можно добавить в компонент полосы прокрутки.
Свойство ScrollBars определяет наличие в компоненте полос прокрутки.
property ScrollBars: TScrollStyle;
Оно может принимать следующие значения:
ssNone – нет полос;
ssHorizontal – есть горизонтальная полоса;
ssVertical – есть вертикальная полоса;
ssBoth – есть обе полосы.
На рис. 24 приведен пример компонента TMemo. Свойство ScrollBars установлено в значение ssBoth.
Рис. 24. Пример компонента TMemo
Для загрузки в компонент текста из файла и сохранения текста в файле удобно использовать методы LoadFromFile и SaveToFile класса TStrings. Например, следующий обработчик события OnCreate формы Form1 загружает в поле Memo1 текст проектного файла программы:
Procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Lines.LoadFromFile(‘Project1.dpr’);
end;
Компонент TImage – изображение
Отображение картинок на форме программы осуществляется с помощью компонента класса TImage. Данный компонент служит для размещения одного из трех поддерживаемых Delphi типов изображений: растровой картинки, пиктограммы или метафайла.
Компонент TImage находится на вкладке Additional и выбирается щелчком мыши по кнопке .
Данный компонент обладает следующими основными свойствами:
Picture – центральное свойство класса. Содержит ссылку на файл изображения.
property Picture: TPicture;
Autosize – разрешает/запрещает изменять размеры компонента так, чтобы в них полностью загрузилось изображение.
property AutoSize: Boolean;
Center – указывает, надо ли центрировать изображение в границах компонента. Игнорируется, если Autosize=True или если Stretch=True и изображение не является пиктограммой.
property Center: Boolean;
Stretch – разрешает/запрещает изменять размер изображения так, чтобы оно целиком заполнило клиентскую область компонента.
property Stretch: Boolean;
Transparent – запрещает/разрешает накладывать собственный фон изображения на фон компонента.
property Transparent: Boolean;
Пример компонента TImage, размещенного на форме, приведен на рис. 25.
Рис. 25. Пример компонента TImage
Дата добавления: 2017-01-29; просмотров: 846;