
- •Белорусский национальный технический университет
- •Конспект лекций по курсу «конструирование программ и языки программирования»
- •1. Введение Общие понятия
- •Недостатки ms-dos
- •Преимущества Windows
- •Основные концепции Windows
- •Объекты Windows
- •Механизмы сообщения
- •2. Основы визуального программирования в delphi Принцип создания приложений в Delphi
- •Процесс создания исполняемого файла в Delphi
- •3. Стандартные визуальные компоненты Формы
- •4. События, обрабатываемые формой
- •5. Свойства стандартных компонент Общие сведения
- •Компонент Tlabel
- •Компонент tButton
- •Компонент tEdit
- •Компонента tMemo
- •Компонента tCheckBox Это кнопка с независимой фиксацией. Такой компонент обладает следующими свойствами:
- •Компонент tRadioGroup
- •Компонент tСheckListBox
- •Компонент tPanel
- •К омпонент tScrollBar
- •К омпонент tMainMenu
- •Компонент tPopupMenu
- •Компонент tListBox
- •Компонент tComboBox
- •6. Графические компоненты Общие свойства
- •Компонент tImage (отображение картинок)
- •Компонент tShape (стандартные фигуры)
- •Компонент tBevel (кромка)
- •Компонент tChart (построитель графиков)
- •Компонент tPaintBox
- •Компонента tImage
- •Компонента tShape
- •Компонент tBevel
- •Поддержка графических операций
- •Свойство объектов Canvas
- •7. Табличное представление данных
- •Компонент tStringGrid
- •Компонент tDrawGrid
- •8. Дополнительные компоненты Компонент tBitBtn
- •Компонент tSpeedButton
- •Компонент tToolBar
- •9. Организация стандартных диалогов
- •Компонент tOpenDialog и tSaveDialog
- •Компонент tOpenPictureDialog и tSavePictuteDialog
- •Компонент tColorDialog
- •Компонент tFontDialog
- •Компонент tPrintDialog
- •10. Программирование печати документов
- •11. Вывод графических изображений
- •Компонент tProgressBar
- •Компонент tAnimate
- •Компонент tDateTimePicker
- •Компонент tMediaPlayer
- •Компонент tAnimate
- •Средства создания мультимедийных приложений Что такое мультимедиа
- •Компонент tMediaPlayer
- •Два вида программ мультимедиа
- •Пример программы с мультимедиа
- •Обработка исключительных ситуаций
- •Структурная обработка исключительных ситуаций
- •Модель исключительных ситуаций в Delphi
- •Синтаксис обработки исключительных ситуаций
- •Примеры обработки исключительных ситуаций
- •Вызов исключительной ситуации
- •Доступ к экземпляру объекта exception
- •Предопределенные обработчики исключительных ситуаций
- •Исключения, возникающие при работе с базами данных
- •Заключение
- •Создание и использование ini-файлов
- •Развертывание приложений. Локализация и интернационализация приложений
- •Литература
- •12. Управление программой с помощью панели инструментов
- •Компонент tImageList
- •Компонент tToolBar- инструментальная панель
- •13. Создание программы с несколькими формами и средства управления ими
- •14. Создание многостраничного документа
- •Литература
Компонента tMemo
Компонент TMemo gредставляет собой редактор текста и предназначен для ввода, редактирования или отображения достаточно длинного текста. Текст хранится в свойстве Lines класса TString и таким образом представляет пронумерованный набор строк (нумерация начинается с нуля).
С помощью свойств и методов (Add, Delete, Clear, Count и т.д.) представляется возможность динамически формировать содержимое компонента. Многие свойства аналогичны свойствам рассмотренного компонента TEdit.
Основные свойства
Allignment – служит для выравнивания текста. Это свойство может принимать такие же значения, как у компонента TEdit.
WordWrap – свойство, которое позволяет управлять переносом слова на новую строку, может принимать булевские значения.
ScrollBars – позволяет устанавливать полосы скроллинга. Может принимать значения:
ssNone – без полос скроллинга,
ssHorizontal – горизонтальная полоса скроллинга,
ssVertical – вертикальная полоса скроллинга,
ssBoth – обе полосы скроллинга.
При этом значение свойства WordWrap игнорируется.
Lines – с помощью этого свойства задается список строк, помещенных в редактор.
Чтобы поместить исходный текст в TMemo на стадии проектирования необходимо в инспекторе объектов выделить свойство Lines и в открывшемся окне диалога ввести соответствующий текст.
Компонент TMemo обрабатывает все события от мыши и клавиатуры, а также реагирует на активизацию компонента и снятию активизации, а также при изменении текста.
Компонент TMemo может также обмениваться информацией с буфером Сlipboard. Для этого используются методы:
CopyToClipBoard – копировать в буфер,
CutToClipBoard – вырезать,
PasteToClipBoard – вставить.
Для компонента TMemo может использоваться метод LoadFromFile, с помощью которого можно заполнить поле компонента из текстового файла. Возможна и обратная операция, т.е. можно сохранить содержимое компонента TMemo в файле с помощью метода SaveToFile.
Пример
Обработчик кнопки Button1 – Прочитать
If FileExist(Edit1.Text) then
Memo1.Lines.LoadFromFile(Edit1.Text);
Обработчик кнопки Button5 – Сохранить
If Length(Edit2.Text)<>0 then
Memo2.Lines.SaveToFile(Edit2.Text);
Обработчик кнопки Button2 – Копировать
Memo1.CopyToClipboard;
Обработчик кнопки Button4 - Вырезать
Memo2.CutToClipBoard;
Memo2.PastFromClipBoard;
У класса Tstrings имеются такие свойства
Count –целое число, определяющее количество строк,
Strings[Index] – с помощью которого можно получить строку с номером Index (нумерация строк начинается с 0).
Чтобы получить весь текст можно воспользоваться свойством Text. Чтобы обратиться к нулевой строке нужно
Memo1.Lines.Strings[0];
или
Memo1.Lines[0];
У класса TStrings имеются также методы
Add(s) – позволяет добавить строку s в список,
Delete(Index) – удаление строки с номером Index,
Exchange(Index1, Index2) – можно поменять местами две строки,
Index of(s) – позволяет определить номер строки s или -1, если такой нет,
Insert(Index, s) – вставит строку s после номера Index,
Move(CurIndex, NewIndex) - переместить строку СurIndex в строку Newindex.
Компонент TRadioButton
Этот компонент предназначен для включения в интерфейс программы зависимых переключателей. Управлять переключателями можно либо с помощью клавиатуры, либо мыши. Компонент TRadioButton имеет свойство Checked, предназначенное либо для включения переключателя, либо для проверки его состояния.
Текст, который должен быть записан рядом с кнопкой указывается в свойстве Caption. Где располагать текст: справа или слева указывается в свойстве Alignment.
Переключатель обрабатывает событие от мыши и клавиатуры. При включении и выключении кнопки происходит событие OnClick, в котором можно предусмотреть необходимые действия.
Пример
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
Button1: TButton;
Panel1: TPanel;
Panel2: TPanel;
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.RadioButton1Click(Sender: TObject);
begin
Panel1.Color := clRed;
end;
procedure TForm1.RadioButton2Click(Sender: TObject);
begin
Panel1.Color := clYellow;
end;
procedure TForm1.RadioButton3Click(Sender: TObject);
begin
Panel1.Color := clGreen;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if RadioButton1.Checked then Panel2.Color := clRed;
if RadioButton2.Checked then Panel2.Color := clYellow;
if RadioButton3.Checked then Panel2.Color := clGreen;
end;
end.
Второй вариант может быть, когда создается один обработчик для всех трех кнопок:
procedure TForm1.RadioButton1Click(Sender: TObject);
begin
if (Sender as TRadiobutton) = RadioButton1 then
Panel1.Color:= clRed;
if (Sender as TRadiobutton) = RadioButton2 then
Panel1.Color:= clYellow;
if (Sender as TRadiobutton) = RadioButton3 then
Panel1.Color:= clGreen;
end;
В этом случае в конструкторе объектов следует каждой кнопке назначить этот обработчик.
Замечание. Первоначальное состояние кнопок можно установить с помощью конструктора объектов.