У вас вопросы?
У нас ответы:) SamZan.net

тема Delphi предлагает различные компоненты например Edit MskEdit Memo RichEdit И LbeledEdit

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 29.12.2024

Ввод и редактирование текста

Ввод и редактирование текста выполняется в специальных полях или областях формы. При необходимости пользователь может изменить отображаемые данные. Для этих целей система Delphi предлагает различные компоненты, например, Edit, MaskEdit, Memo, RichEdit И LabeledEdit.

Однострочные редакторы

Однострочный редактор, или поле редактирования, представляет собой поле ввода текста, в котором возможно отображение и изменение текста. В Delph есть несколько однострочных редакторов, из них наиболее часто используется компонент Edit.

Компонент Edit позволяет вводить и редактировать с клавиатуры различные символы, при этом поддерживаются операции, такие как перемещение по строке с использованием клавиш управления курсором, удаление символов с помощью клавиш <Backspace> и <Delete>, выделение части текста и др. Отметим, что у однострочного редактора отсутствует реакция на управляющие клавиши <Enter> и <Esc>.

Для изменения регистра символов в поле редактирования служит свойство charcase типа TEditcharCase, которое может принимать одно из трех значений:

  1.  ecLowerCase — текст преобразуется к нижнему регистру;
  2.  ecNormai — регистр символов не изменяется (по умолчанию);
  3.  ecupperCase — текст преобразуется к верхнему регистру.

При использовании компонента Edit для ввода пароля можно воспользоваться свойством Passwordchar типа char, задающим символ для отображения в поле ввода. Этот символ при вводе текста появляется вместо фактически введенного символа. Например, после выполнения инструкций

Editl.PasswordChar := '*';

Editl.Text := 'Пароль';

в поле редактирования появится строка ******, в то время как в действительно¬сти свойство Text имеет значение пароль.

По умолчанию свойство PasswordChar имеет значение #0, и в поле редактирования отображается реально введенный текст.

Компонент MaskEdit также является однострочным редактором, но по сравне¬нию с компонентом Edit он предоставляет дополнительную возможность ввода информации по шаблону. С помощью шаблона (маски) можно ограничить число вводимых пользователем символов, тип вводимых символов (алфавитный, цифровой и т. д.). Кроме того, во вводимую информацию можно вставить дополнительные символы (разделители при вводе даты, времени и т. п.). С помощью редактирования по маске удобно вводить телефонные номера, даты, почтовые индексы и другую информацию заранее определенного формата.

Маска задается в свойстве EditMask типа string и представляет собой последовательность специальных кодов, определяющих для поля редактирования формат содержащегося в ней текста.

Маска состоит из разделенных символом ; трех полей:

  1.  первое поле является собственно маской;
  2.  второе поле — это символ, определяющий, считаются ли литеральные символы частью данных. По умолчанию используется 1, и литеральные символы маски являются частью не только значения, редактируемого в визуальном компоненте, но и значения, содержащегося в поле. Если вместо 1 установить символ о, то литеральные символы маски по-прежнему будут отображаться при редактировании значения, однако в поле не сохраняются. Литеральные символы удобно применять в качестве разделителей, например, при вводе телефонных номеров;
  3.  третье поле содержит символ, используемый для указания незаполненных символов во вводимом тексте, по умолчанию это символ подчеркивания.

Если второе и/или третье поля не определены, то для них действуют значения по умолчанию.

В следующем примере для редактора Editl установлено разрешение ввода только десятичных цифр:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if (Key<'0') or (Key>'9') then Key:=#0;

end;

В поле редактирования может содержаться одна строка без символа конца строки, поэтому при нажатии клавиши <Enter> не выполняются никакие действия и в строку ничего не вводится. При необходимости программист должен сам написать код действий, связанных с нажатием клавиши <Enter>. Чаще всего нажатие этой клавиши служит признаком окончания ввода информации в поле редактора, после чего следует перейти к другому элементу управления, то есть передать ему фокус ввода, например, с помощью метода setFocus или установки значения свойства Activecontrol.

Задать реакцию однострочного редактора на нажатие клавиши <Enter> можно так

procedure TForml.EditlKeyPress(Sender: TObject; var Key: Char);

begin

if Key = #13 then begin

Key := #0;

Forml.ActiveControl := Edit2;

end;

end;

procedure TForml.Edit2KeyPress(Sender: TObject; var Key: Char);

begin

if Key = #13 then begin

Key := #0;

Edit3.SetFocus;

end;

end;

procedure TForml.Edit3KeyPress(Sender: TObject; var Key: Char);

begin

if Key = #13 then Key := #0;

end;

Информация последовательно вводится в три поля, являющихся компонентами Editl, Edit2 и Edit3. При окончании ввода в первое или второе поля нажатие клавиши <Enter> автоматически активизирует очередное поле. Из третьего поля фокус ввода автоматически не передается. Передача фокуса ввода из разных полей реализована двумя способами: с использованием свойства ActiveControl формы и с помощью метода setFocus.

Многострочный редактор

Для работы с многострочным текстом Delphi предоставляет компонент Мемо. Многострочный редактор имеет практически те же возможности по редактированию текста, что и однострочные редакторы. Главное отличие этих элементов управления заключается в том, что многострочный редактор содержит несколько строк текста.

Для доступа ко всему содержимому многострочного редактора используется свойство Text типа string. В этом случае все содержимое компонента Мемо представляется одной строкой, а конец строки, вставляемый при нажатии клавиши <Enter>, записывается двумя кодами #13#10, поэтому видимых пользователем символов будет меньше, чем их содержится в строке Text. Эту особенность нужно учитывать, например, при определении позиции заданного символа в какой-либо строке компонента Memo.

Для работы с отдельными строками используется свойство Lines типа TStrings. Класс TStrings служит для выполнения операций со строками и имеет различные свойства и методы, которые уже были рассмотрены выше. Компонент Memo позволяет использовать возможности этого класса через свое свойство Lines.

рассмотрим примеры операций с многострочным редактором:

Memol.Lines [3] : = 'asd';

Memo2.Lines.Clear;

КегооЗ.Lines.Add('Новая строка');

Здесь четвертой строке редактора Memo присваивается новое значение asd, так как в классе TStrings нумерация строк начинается с нуля). Содержимое редактора Memo2 полностью очищается. В конец текста редактора МемоЗ добавляется новая строка.

Текст в поле компонента Memo может быть выровнен различными способами. Способ выравнивания определяет свойство Alignment типа TAlignment, которое может принимать одно из следующих значений:

  1.  taLeftjustify (выравнивание по левой границе) — по умолчанию;
  2.  tacenter (выравнивание по центру);
  3.  taRightjustify (выравнивание по правой границе).

Чтоб очистить содержимое компонента или написать в него строки, щелкните по свойству Lines. Перед вами откроется окно редактора строк, в котором можно набрать многострочный текст.

Работа со списками

Список представляет собой упорядоченную совокупность взаимосвязанных элементов, являющихся текстовыми строками. Элементы списка могут быть отсортированы в алфавитном порядке или размещены в порядке их добавления в список. Как и другие объекты, представляющие собой совокупность данных, списки позволяют добавлять, удалять и выбирать отдельные их элементы (строки).

простой список

Для работы с простым списком в Delphi предназначен компонент ListBox.

Если количество строк больше, чем их может поместиться в видимой области списка, то у области отображения появляется полоса прокрутки. Ориентация полосы прокрутки, а также число столбцов, которые одновременно видны в области списка, зависят от свойства columns типа integer. По умолчанию свойство имеет значение 0. Это означает, что все элементы списка расположены в одном столбце, и при необходимости автоматически появляется вертикальная полоса прокрутки!

Если свойство columns имеет значение, большее или равное 1, то в области списка всегда присутствует горизонтальная полоса прокрутки, а элементы разбиваются на такое число столбцов, чтобы можно было, прокручивая список по горизонтали, просмотреть все его элементы. При этом в видимой области списка отображается число столбцов, равное значению свойства columns.

Список может иметь обычную рамку или не иметь рамки вообще. Наличие рамки определяет свойство BorderStyle типа TBorderStyle, принимающее два возможных значения:

□ bsNone (рамки нет);

□ bssingle (рамка есть) — по умолчанию.

Чтобы получить доступ к строкам списка нужно воспользоваться свойством Items.

Свойство ItemIndex указывает на выделенную строку списка выбора. Если написать код:

procedure TForm1.FormActivate(Sender: TObject);

begin

listbox1.ItemIndex:=2;

end;

то при запуске программы выделенной будет третья строка.

Задания

1. Установите два компонента Edit и кнопку. Очистите у обоих компонентов Edit свойство Text. Это свойство отвечает за содержимое строки ввода.

Создайте для кнопки обработчик события OnClick и напишите в нем:

edit2.Text:=edit1.Text;

Запустите программу, введите в первую строку любой текст и нажмите кнопку

2. Измените у первой строки ввода свойство PasswordChar на *. Запустите программу и введите в первую строку текст, затем нажмите на кнопку.

3. Измените OnClick у кнопки:

If edit1.Text=’password’ then

edit2.Text:=’Пароль верный

else

edit2.Text:=’Пароль неверный’;

Затем запустите программу.

4. Установите на форму три компонента Edit.

Для компонента Edit3 напишите код:

procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);

begin

if Key=#13 then

begin

Key:=#0;

Form1.ActiveControl:=Edit4;

end;

end;

Для компонента Edit4 напишите код:

procedure TForm1.Edit4KeyPress(Sender: TObject; var Key: Char);

begin

 if Key=#13 then

begin

Key:=#0;

Edit5.SetFocus;

end;

end;

Для компонента Edit5 напишите код:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if (Key<'0') or (Key>'9') then Key:=#0;

end;

Запустите программу и объясните как она работает.

5. Запустите новый проект. Установите на форму ListBox. Дважды щелкните по его свойству Items, перед вами откроется редактор строк. Наберите в нем 9 названий городов.

Сделайте так, чтобы при запуске выделенным был последний.

Установите на форму еще две кнопки Добавить строку и Удалить строку. Для кнопки Добавить строку напишите код:

Listbox1.Items.Add('Новая строка');

Для кнопки Удалить строку напишите код:

Listbox1.Items.Delete(ListBox1.ItemIndex);

Запустите программ и объясните как она работает.




1. Родина Общества украинских прогрессистов собрались более 100 представителей украинских политических парти
2. Совершенствование бухгалтерского учета финансового результата деятельности организации и распределения прибыли в условиях перехода на новый план счетов
3. обидно за державу нашу стало за Народ наш смиренно несущий крест несчастной доли взгромождённый на нег
4. Религия в Османской империи
5. Доказывание по делам о расторжении брака и признании брака недействительным
6. Руссая деревня в начале ХХ века
7. СДЕЛАЕМ ДЕТСКИЙ МИР ПРЕКРАСНЕЕ ВМЕСТЕ Дорогие горожане Давайте сделаем мир прекраснее вместе Во
8. Каменогорск- Издво ВКГУ 1997 Потребность авторемонтного производства в запасных частях имеет вероятностны.
9. тематичних наук Луцьк ~ 2002 Дисертацією
10.  Государственный долг- теоретические основы
11. психологическое обеспечение Техническое обеспечение Тыловое обеспечение
12. Размеры и структура нашей Галактики
13. Моя дорогая Анджи тут холодно идёмте наверх
14. Управление качеством специальности 060800 Экономика и управление на предприятии и программой обучения по э
15. Чингиз Айтматов Роман Плаха
16. ПРАКТИКУМ Вовлечение студентов факультета журналистики в социологическую практику ориентация их на уч
17. Лабораторная работа 6.
18. Основные концепции правопонимания Понятие права в современной теории государства и права
19. Учет индивидуальных особенностей сотрудников при работе с персоналом
20. Бикор Тучково 6 6 0 0 93 16 77.html