Главная страница
Навигация по странице:

  • Рис. 7.1 Таблица 7.1

  • П ример 1.

  • Порядок выполнения

  • Пример 2.

  • 4, 16, 64, 128, 512 b 1=4, q =4 q = b 3/ b 2 Порядок выполнения

  • Задания для самостоятельного выполнения

  • Тема Многострочные окно редактирования Memo Теоретический материал выделен желтым!!!


    Скачать 53.98 Kb.
    НазваниеТема Многострочные окно редактирования Memo Теоретический материал выделен желтым!!!
    Дата31.05.2021
    Размер53.98 Kb.
    Формат файлаdocx
    Имя файла7.docx
    ТипДокументы
    #212273

    Тема 7. Многострочные окно редактирования Memo

    Теоретический материал выделен желтым!!!
    Компонент Memo (рисунок 7.1) это простой текстовый редактор, который позволяет вводить многострочный текст с клавиатуры, загружать его из файла, редактировать и сохранять в текстовый файл.



    Рис. 7.1
    Таблица 7.1

    Свойства

    Назначение

    Lines

    Массив строк, доступ к которым осуществляется по номеру (нумеруются с нуля)

    Lines.Сount

    Количество строк в поле

    Text

    Текст, находящийся в поле Memo

    Font

    Шрифт, применяемый для отображения выводимого текста

    ParentFont

    Признак наследования свойств шрифта от родительской формы

    ScrollBars

    Полоса прокрутки

    Alignment

    Выравнивание текста по левому, правому краю или по центру

    Readonly

    False – можно вводить данные во время работы программы, True нельзя (только для чтения)



    Свойство Text используется для доступа ко всему содержимому компонента Memo, а свойство Lines - для построчного доступа. Щелкнув на кнопке (...) свойства Lines, откроется диалоговое окно, позволяющее внести несколько строк текста длиной до 255 символов. Эти строки будут отображаться при разработке, а во время работы программы они будут исходным содержимым.

    Свойство Lines имеет методы Add (добавить), Delete (удалить), Insert (вставить), Clear (очистить).

    Добавить в конец: Memo1.Lines.Add(‘Еще одна строка’);
    Удалить i-ю строку: Memo.Lines.Delete (i);
    Вставить во i-ю строку: Memo.Lines.Insert( i, 'Петров Петя');
    Удалить строку, в которой

    находится курсор Memo.Lines.Delete(Memo.CaretPos.Y);
    Заменить строку, в которой

    находится курсор Memo.Lines[MainMemo.CaretPos.Y]:='Строка замены';
    Очистить содержимое Memo.Lines.Clear;
    В Memo можно загрузить произвольный текстовый файл (метод LoadFromFile), либо сохранить содержимое Memo в виде файла (метод SaveToFile), например:

    Memo1.Lines.LoadFromFile('d:\text\pismo.txt');

    Memo1.Lines.SaveToFile('d:\text\pismo1.txt');

    Компонент Memo имеет свойства Align и Alignment, они различны. С помощью свойства Alignment можно управлять выравниванием текста внутри компонента.

    Свойство ScrollBars позволяет использовать горизонтальную или вертикальную полосы прокрутки, или обе сразу, или не использовать.

    Свойство WordWrap определяет должен ли вводимый текст по достижении видимой границы компонента автоматически переноситься на следующую строку. Если определён перенос, то вводить горизонтальнаую полосу прокрутки не надо.

    В следующем примере редактор Memo1 очищается, и в него с помощью метода Add выводятся значения из массива целых чисел x. Так как компонент Memo работает со строками, то выполняется перевод целого числа в строку функцией IntToStr:

    Memo1.Lines.Clear;

    for i:=0 to n-1 do Memo1.Lines.Add (inttostr(x[i]));
    П ример 1. Создать приложение, позволяющее вводить с клавиатуры список строк в поле редактора Memo, а затем нажатием кнопки удалять все строки, содержащие более 4 символов. Окно работающего приложения:
    Порядок выполнения:

    1. Загрузить Delphi.

    2.Установить на форму компоненты Memo, Button в

    соответствии с образцом.

    3. Создать процедуру обработки события щелчка

    на кнопке Удалить строки:

    Рис. 7.2
    procedure TForm1.Button1Click(Sender: TObject);

    var i:integer;

    begin

    for i:=0 to memo1.Lines.count-1 do

    if length (memo1.Lines.Strings[i])>4 then memo1.Lines.Delete(i);

    end;

    end.

    4. Проверить работу приложения.




    Пример 2. Создать приложение, вычисляющее первые 20 элементов арифметической прогрессии, для которой заданы первый элемент и разность.

    !!! Геометр.прогрессия

    4, 16, 64, 128, 512 b1=4, q=4 q=b3/b2

    Порядок выполнения:

    1. Загрузить Delphi.

    2.Установить на форму компоненты Memo, Button1, Button2, Edit1, Edit2, свойству ScrollBars присвоить значение ssVertical в соответствии с образцом. Рис. 7.3

    3. Создать процедуру обработки события щелчка по кнопке Заполнить:

    procedure TForm1.Button1Click(Sender: TObject);

    var a,d,an,i:integer;

    begin

    a:=strtoint(edit1.Text);

    d:=strtoint(edit2.Text);

    memo1.Lines.Add(edit1.Text);

    an:=a;

    for i:=2 to 20 do

    begin an:=an+d;

    memo1.Lines.Add (inttostr(an))

    end; end;

    4. Создать процедуру обработки события щелчка по кнопке Очистить:

    procedure TForm1.Button2Click(Sender: TObject);

    begin

    memo1.Lines.Clear;

    end;

    5.Проверить работу приложения.
    Задания для самостоятельного выполнения:

    1. Сохранить текст, использую компонент Memo.

    2. Сохранить одномерный массив в файл.

    3. .Дан одномерный целочисленный массив из 10 элементов. Ввести его элементы с клавиатуры в поле Memo и удалить отрицательные элементы массива.

    4. Создать приложение, вычисляющее первые 10 элементов геометрической прогрессии, для которой заданы первый элемент b1 и знаменатель q=b2/b1, например 4, 16, 64, 128, 512 b1=4, q=4

    Контрольные вопросы

    1. Какие основные свойства компонент Memo?

    2. Какие методы присущи свойству Lines?


    написать администратору сайта