Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Топ:
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Интересное:
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Дисциплины:
2017-06-02 | 1269 |
5.00
из
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
Программирование в Delphi.
Для запуска Delphi выполните следующее:
1. Выберете элемент ПРОГРАММЫ из меню ПУСК.
2. Войти в папку BORLAND DELPHI3.0.
3. Выбрать пиктограмму Delphi3.0 для запуска.
При загрузке экран оказывается разделенным на несколько частей:
· 1 - выпадающее меню обеспечивает доступ к командам программы
· 2 – панель инструментов обеспечивает быстрый доступ ко многим часто используемым элементам меню
· 3 – форма используется для размещения в ней графических объектов, которые создают внешний вид программы
· 4 – палитра с визуальными компонетами, из которых создается внешний вид программы.
· 5 - Object Inspector для настройки каждого компонента путем установки его свойств.
· 6 – Code Editir – редактор для набора кода.
Для создания приложения Delphi выполняется всего 3 шага:
1. Выбор визульных компонентов из палитры компонентов для добавления их в форму.
2. Настройка каждого компонента путем установки его свойств с помощью Object Inspector.
3. Запись коротких блоков кода, предписывающих программе, что она должна делать после выбора визуального компонента.
Проект Delphi
Любой проект имеет, по-крайней мере, шесть файлов, связанных с ним. Три из них относятся к управлению проектом из среды и напрямую программистом не меняются. Вот эти файлы:
· Главный файл проекта, изначально называется PROJECT1.DPR.
· Первый модуль программы /unit/, который автоматически появляется в начале работы. Файл называется UNIT1.PAS по умолчанию, но его можно назвать любым другим именем, вроде MAIN.PAS.
· Файл главной формы, который по умолчанию называется UNIT1.DFM, используется для сохранения информации о внешнем виде главной формы.
· Файл PROJECT1.RES содержит иконку для проекта, создается автоматически.
|
· Файл, который называется PROJECT1.OPT по умолчанию, является текстовым файлом для сохранения установок, связанных с данным проектом. Например, установленные Вами директивы компилятора сохраняются здесь.
· Файл PROJECT1.DSK содержит информацию о состоянии рабочего пространства.
Разумеется, если сохранить проект под другим именем, то изменят название и файлы с расширением RES, OPT и DSK.
После компиляции программы получаются файлы с расширениями:
DCU - скомпилированные модули
EXE - исполняемый файл
DSM - служебный файл для запуска программы в среде, очень большой, рекомендуется стирать его при окончании работы.
~PA, ~DP - backup файлы Редактора.
Приложение 4
Стандартные компоненты
С компонентами, расположенными на первой странице Палитры Компонент Вы могли ознакомиться в Уроке № 2.
На первой странице Палитры Компонент размещены 14 объектов (рис.8) определенно важных для использования. Мало кто обойдется длительное время без кнопок, списков, окон ввода и т.д. Все эти объекты такая же часть Windows, как мышь или окно.
Набор и порядок компонент на каждой странице являются конфигурируемыми. Так, Вы можете добавить к имеющимся компонентам новые, изменить их количество и порядок. Это можно сделать, вызвав всплывающее меню (нажать правую кнопку мыши, когда указатель над Палитрой).
Рис.8: Компоненты, расположенные на первой странице Палитры.
Стандартные компоненты Delphi перечислены ниже с некоторыми комментариями по их применению. При изучении данных компонент было бы полезно иметь под рукой компьютер с тем, чтобы посмотреть, как они работают и как ими манипулировать.
Курсор - не компонент, просто пиктограмма для быстрой отмены выбора какого-либо объекта.
TMainMenu позволяет Вам поместить главное меню в программу. При помещении TMainMenu на форму это выглядит, как просто иконка. Иконки данного типа называют "невидимыми компонентом", поскольку они невидимы во время выполнения программы. Создание меню включает три шага: (1) помещение TMainMenu на форму, (2) вызов Дизайнера Меню через свойство Items в Инспекторе Объектов, (3) определение пунктов меню в Дизайнере Меню.
|
TPopupMenu позволяет создавать всплывающие меню. Этот тип меню появляется по щелчку правой кнопки мыши на объекте, к которому привязано данное меню. У всех видимых объектов имеется свойство PopupMenu, где и указывается нужное меню. Создается PopupMenu аналогично главному меню.
TLabel служит для отображения текста на экране. Вы можете изменить шрифт и цвет метки, если дважды щелкнете на свойство Font в Инспекторе Объектов. Вы увидите, что это легко сделать и во время выполнения программы, написав всего одну строчку кода.
TEdit - стандартный управляющий элемент Windows для ввода. Он может быть использован для отображения короткого фрагмента текста и позволяет пользователю вводить текст во время выполнения программы.
TMemo -иная форма TEdit. Подразумевает работу с большими текстами. TMemo может переносить слова, сохранять в ClipBoard фрагменты текста и восстанавливать их, и другие основные функции редактора. TMemo имеет ограничения на объем текста в 32Кб, это составляет 10-20 страниц. (Есть VBX и “родные” компоненты Delphi, где этот предел снят).
TButton позволяет выполнить какие-либо действия при нажатии кнопки во время выполнения программы. В Delphi все делается очень просто. Поместив TButton на форму, Вы по двойному щелчку можете создать заготовку обработчика события нажатия кнопки. Далее нужно заполнить заготовку кодом:
procedure TForm1.Button1Click(Sender: TObject);
begin
MessageDlg('Are you there?',mtConfirmation,mbYesNoCancel,0);
end;
TCheckBox отображает строку текста с маленьким окошком рядом. В окошке можно поставить отметку, которая означает, что что-то выбрано. Например, если посмотреть окно диалога настроек компилятора (пункт меню Options | Project, страница Compiler), то можно увидеть, что оно состоит преимущественно из CheckBox’ов.
TRadioButton позволяет выбрать только одну опцию из нескольких. Если Вы опять откроете диалог Options | Project и выберете страницу Linker Options, то Вы можете видеть, что секции Map file и Link buffer file состоят из наборов RadioButton.
TListBox нужен для показа прокручиваемого списка. Классический пример ListBox’а в среде Windows - выбор файла из списка в пункте меню File | Open многих приложений. Названия файлов или директорий и находятся в ListBox’е.
|
TComboBox во многом напоминает ListBox, за исключением того, что позволяет водить информацию в маленьком поле ввода сверху ListBox. Есть несколько типов ComboBox, но наиболее популярен спадающий вниз (drop-down combo box), который можно видеть внизу окна диалога выбора файла.
TScrollbar -полоса прокрутки, появляется автоматически в объектах редактирования, ListBox’ах при необходимости прокрутки текста для просмотра.
TGroupBox используется для визуальных целей и для указания Windows, каков порядок перемещения по компонентам на форме (при нажатии клавиши TAB).
TRadioGroup используется аналогично TGroupBox, для группировки объектов TRadioButton.
TPanel - управляющий элемент, похожий на TGroupBox, используется в декоративных целях. Чтобы использовать TPanel, просто поместите его на форму и затем положите другие компоненты на него. Теперь при перемещении TPanel будут передвигаться и эти компоненты. TPanel используется также для создания линейки инструментов и окна статуса.
Это полный список объектов на первой странице Палитры Компонент. Если Вам нужна дополнительная информация, то выберите на Палитре объект и нажмите клавишу F1 - появится Справочник с полным описанием данного объекта.
Страница Additional
На странице Standard представлены управляющие элементы, появившиеся в Windows 3.0. На странице Additional размещены объекты, позволяющие создать более красивый пользовательский интерфейс программы.
Список компонент:
TBitBtn -кнопка вроде TButton, однако на ней можно разместить картинку (glyph). TBitBtn имеет несколько предопределенных типов (bkClose, bkOK и др), при выборе которых кнопка принимает соответствующий вид. Кроме того, нажатие кнопки на модальном окне (Form2.ShowModal) приводит к закрытию окна с соответствующим модальным результатом (Form2.ModalResult).
TSpeedButton -кнопка для создания панели быстрого доступа к командам (SpeedBar). Пример - SpeedBar слева от Палитры Компонент в среде Delphi. Обычно на данную кнопку помещается только картинка (glyph).
TTabSet - горизонтальные закладки. Обычно используется вместе с TNoteBook для создания многостраничных окон. Название страниц можно задать в свойстве Tabs. Но проще это сделать в программе при создании формы (OnCreate):
|
TabSet1.Tabs:= Notebook1.Pages;
А для того, чтобы при выборе закладки страницы перелистывались нужно в обработчике события OnClick для TTabSet написать:
Notebook1.PageIndex:= TabSet1.TabIndex;
TNoteBook - используется для создания многостраничного диалога, на каждой странице располагается свой набор объектов. Используется совместно с TTabSet.
TTabbedNotebook - многостраничный диалог со встроенными закладками, в данном случае - закладки сверху.
TMaskEdit -аналог TEdit, но с возможностью форматированного ввода. Формат определяется в свойстве EditMask. В редакторе свойств для EditMask есть заготовки некоторых форматов: даты, валюты и т.п. Спец. символы для маски можно посмотреть в Справочнике.
TOutline - используется для представления иерархических отношений связанных данных. Например - дерево директорий.
TStringGrid -служит для представления текстовых данных в виде таблицы. Доступ к каждому элементу таблицы происходит через свойство Cell.
TDrawGrid - служит для представления данных любого типа в виде таблицы. Доступ к каждому элементу таблицы происходит через свойство CellRect.
TImage -отображает графическое изображение на форме. Воспринимает форматы BMP, ICO, WMF. Если картинку подключить во время дизайна программы, то она прикомпилируется к EXE файлу.
TShape -служит для отображения простейших графических объектов на форме: окружность, квадрат и т.п.
TBevel - элемент для рельефного оформления интерфейса.
THeader - элемент оформления для создания заголовков с изменяемыми размерами для таблиц.
TScrollBox - позволяет создать на форме прокручиваемую область с размерами большими, нежели экран. На этой области можно разместить свои объекты.
Страница Dialogs
На странице Dialogs представлены компоненты для вызова стандартных диалогов Windows. Внешний вид диалогов зависит от используемой версии Windows. Объекты, представленные на данной странице невидимы во время выполнения и вызов диалогов происходит программно, например:
if OpenDialog1.Execute then Image1.Picture.LoadFromFile(OpenDialog1.FileName);
Диалоги Windows в порядке появления на странице Dialogs:
- OpenDialog; выбрать файл - SaveDialog; сохранить файл - FontDialog; настроить шрифт - ColorDialog; выбор цвета - PrintDialog; печать - PrinterSetupDialog; настройка принтера - FindDialog; поиск строки - ReplaceDialog; поиск с заменой
Страница System
Страница представляет набор компонент для доступа к некоторым системным сервисам типа таймер, DDE, OLE и т.п.
TTimer -таймер, событие OnTimer периодически вызывается через промежуток времени, указанный в свойстве Interval. Период времени может составлять от 1 до 65535 мс.
TPaintBox -место для рисования. В обработчики событий, связанных с мышкой передаются относительные координаты мышки в TPaintBox, а не абсолютные в форме.
|
TFileListBox -специализированный ListBox, в котором отображаются файлы из указанной директории (св-во Directory). На названия файлов можно наложить маску, для этого служит св-во Mask. Кроме того, в св-ве FileEdit можно указать объект TEdit для редактирования маски.
TDirectoryListBox -специализированный ListBox, в котором отображается структура директорий текущего диска. В св-ве FileList можно указать TFileListBox, который будет автоматически отслеживать переход в другую директорию.
TDriveComboBox -специализированный ComboBox для выбора текущего диска. Имеет свойство DirList, в котором можно указатьTDirectoryListBox, который будет отслеживать переход на другой диск.
TFilterComboBox - специализированный ComboBox для выбора маски имени файлов. Список масок определяется в свойстве Filter. В свойстве FileList указывается TFileListBox, на который устанавливается маска.
!!!! С помощью последних четырех компонент (TFileListBox, TDirectoryListBox, TDriveComboBox, TFilterComboBox) можно построить свой собственный диалог выбора файла, причем для этого не потребуется написать ни одной строчки кода.
TMediaPlayer -служит для управления мултимедйными устройствами (типа CD-ROM, MIDI и т.п.). Выполнен в виде панели управления с кнопками Play, Stop, Record и др. Для воспроизведения может понадобиться как соответствующее оборудование, так и программное обеспечение. Подключение устройств и установка ПО производится в среде Windows. Например, для воспроизведения видео, записанного в формате AVI, в потребуется установить ПО MicroSoft Video (в Windows 3.0, 3.1, WFW 3.11).
TOLEContainer - контейнер, содержащий OLE объекты. Поддерживается OLE 2.02 Подробнее об этом - в последующих уроках.
TDDEClientConv,TDDEClientItem, TDDEServerConv, TDDEServerItem -4 объекта для организации DDE. С помощью этих объектов можно построить приложение как DDE-сервер, так и DDE-клиент. Подробнее - в следующих уроках.
Страница VBX
Поскольку формат объектов из MicroSoft Visual Basic (VBX) является своего рода стандартом и существует большое количество библиотек таких объектов, то в Delphi была предусмотрена совместимость с этим форматом. VBX версии 1.0 можно включить в Палитру Компонент Delphi и использовать их как “родные” компоненты (в том числе, выбирать их в качестве предков и наследовать свойства и методы).
TBiSwitch -двухпозиционный переключатель.
TBiGauge - прогресс-индикатор.
TBiPict -аналог TImage.
TChartFX -деловая графика.
Пример создания простого приложения.
1. Из палитры компонентов со страницы Standart в форму надо добавить компонент кнопку – Button, дважды кликнув левой кнопкой мыши по элементу.
2. Переместить кнопку в нужное на форме место буксировкой.
3. В Object Inspector свойство Caption служит для создания надписи на любом видимом компонете. В данном случае – на кнопке. Назовем кнопку “Нажмите здесь”.
4. Свойство Name служит названием индетефикатора для видимого компонента. По нему надо будет общаться с компонентом в программе. Изменять имя не будем.
5. Дважды кликнуть по кнопке на форме. Происходит автоматический переход в редактор кода внутрь процедуры, описывающей реакцию программы на нажатие кнопки.
6. Между Begin и End набрать следующую команду:
ShowMessage(‘Привет, Вы на меня нажали!’);
Данная команда выводит диалоговое окно с сообщением, находящимся внутри апострофов.
7. В меню Run нажать команду Run. или F9.
8 После начала работы программы нажмите кнопку и на экране появится диалоговое окно с сообщением, Далее надо нажать на кнопку внутри этого окно для выхода из него.
9 Для выхода из программы (в принципе название программа и приложение идентичны) надо нажать га крестик вверху справа на форме или Alt-F4, или кликнуть правой кнопкой мыши по пиктограмме на форме и из контекстно-зависимого меню выбрать команду “Закрыть - Close”.
Закрытие формы
Для программного закрытия приложения необходимо использовать специальный метод Close.
Метод – это предварительно определенный языковой элемент, выполняющий действия над объектом (здесь – над формой).
Переименование компонентов
При добавлении компонентов в форму Delphi автоматически присваивает им имена по возрастанию. Например, Button1, Button2, Button3 и т.д.
В верхней строке Object Inspector в левой его части располагается имя выбранного компонента, а в правой – название общего класса, к которому этот компонент относится.
ПРАВИЛО: Обычно идентификаторам компонентов присваивают имена, которые описывают их функциональное назначение в программе. Например, Button1 можно назвать BtnHelp, используя свойство Object Inspector Name.
Begin
end;
Любой код, добавленный между операторными скобками begin – end, будет выполняться при щелчке по кнопке.
Работа с диалоговыми окнами
Для извлечения результатов пользовательского ввода используется функция InputBox.
Пример использования функции InputBox
1. Закрыть предыдущее приложение и в меню File выполнить команду New Application, которая создаст новую пустую форму.
2. На форму из палитры компонентов со страницы Standart добавить кнопку Button.
3. Дважды кликнутьпо кнопке и в Code Editor (редактор кода) набрать следующее:
Procedure Tform.Button1Click(Sender:Tobject);
Var
r:string;
Begin
r:=InputBox(‘Добро пожаловать в мою программу’,’Введи свое имя’,’’);
ShowMessage(r);
end;
4. F9.
Переменная r содержит ответ, введенный пользователем.
Функция InputBox состоит из 3 частей:
1. Содержимое первых апострофов – заголовок диалогового окна.
2. Содержимое вторых апострофов – фактическая подсказка для пользователя.
3. После второй запятой – комплект апострофов ‘’ – это пустая строка, которая является местом, куда можно поместить значение по умолчанию для переменной отклика r.
Добавление комментариев
Два способа:
1. { } – содержимое неограниченно по емкости и может располагаться на нескольких строках;
2. //- комментарии только на одной строке после кода.
Работа с типами данных
Таблица базовых типов данных
Òèï | Äèàïîçîí | Ðàçìåð â áàéòàõ |
Boolean | 1 áàéò | |
Byte | îò 0 äî 255 | |
Char | 1 áàéò | |
Comp | îò –263 äî 263-1 | |
Currency | îò –922337203685477,5805 äî 922337203685477,5807 | |
Double | îò 5,0*10-324 äî 1,7*10308 | |
Extended | îò 3,4*10-4932 äî 1,1*104932 | |
Integer | îò-2147483648 äî 2147483647 | |
LongInt | îò-2147483648 äî 2147483647 | |
Real | îò 2,9-10-39 äî 1,7*1038 | |
ShortInt | îò –128 äî 127 | |
Single | îò –1,5*10-45 äî 3,4*1038 | |
String | äî 4 Ãá | Переменный |
Word | îò 0 äî 65535 |
Îñíîâû ðàáîòû ñ êîìïîíåíòàìè
Каждая закладка в палитре компонентов содержит отдельную категорию объектов. Страница Standart содержит элементы управления, наиболее часто используемые.
Использование меток (Label)
Компонент Label (метка) используется для отображения подсказки или сообщения пользователю. При этом содержимое метки нельзя изменять в процессе работы программы.
|
На форме по внешнему периметру элемента управления, при его выборе, появляется несколько черных квадратов, перемещая которые можно изменять размеры элемента.
Компонент Edit
Данный компонент обеспечивает ввод информации от пользователя (располагается в Standart). Свойство Text компонента извлекает значение, которое вводит пользователь. Например:
Procedure Tform.Button1Click(Sender:Tobject);
Var
s:string;
Begin
s:=Edit1.Text;
ShowMessage(‘Ваше сообщение-‘+s);
end;
Предварительно на форму надо ввести одну кнопку и один Edit.
Для очистки исходной информации используется команда:
Edit1.Text:=’’;.
Свойства компонента Edit
1. MaxLength определяет максимальное количество символов, которые можно ввести в Edit. При вводе большего количества подается звуковой сигнал.
2. PasswordChar – при установке этого свойства в отличное от значения по умолчанию, элемент управления будет подавлять отображение набранных символов и показывать только символ из этого свойства.
Установка порядка обхода
Порядок обхода - это порядок, в котором компоненты в форме получают фокус при нажатии клавиши табуляции.
Delphi автоматически устанавливает порядок обхода в сответствии с порядком добавления в форму элементов управления.
Есть 2 способа настройки порядка обхода компонентов.
1. При использовании Object Inspector можно установить свойство TabOrder каждого компонента. Причем 1-ый элемент имеет номер 0.
2. Щелком правой кнопкой мыши на каком-либо компоненте и выборе команды TabOrder (или из меню Edit). Затем в отдельном окне появляется список компонентов в порядке добавления в форму, который можно изменить стрелками.
Пример Button
Задание: Построить форму с шестью кнопками с модификацией их свойств на этапе выполнения. При этом щелчок по кнопке будет изменять свойство другой кнопки.
· Откроем новый проект и сохраним его. Модуль описания - Button_ Un. Pas через меню File команду Save as.., проект - Button_ Pr. DPE через меню File команду Save Project as …
· Выбирем компонент - кнопку
а) Можно отбуксировать компонент в форму.
б) При нажатой кнопке Shift кликнуть в палитре по Button. Компонент станет выбранным, что покажет небольшая рамка вокруг него.
· Cоздадим несколько экземпляров этого компонента (6 экз), путем кликания левой кнопкой мыши внутри формы.
Теперь приступаем к установке свойств 6-ти кнопок.
· Присвоим форме имя ButtonForm (в Object Inspector / Name)
· Ввести ButtonForm.
Теперь надо установить заголовки для кнопок (т. е. текст внутри кнопок)
Считаем а) что кнопка 1 отключает кнопку 4 и назовем ее &1: Disable 4.
Warning! Каждая кнопка имеет подчеркнутую горячую клавишу (в нашем случае будем считать, что это - номер кнопки).
Cимвол имперсанта (&) - помещенный перед заголовком (например: &1:Disable4), позволяет создать кнопки, которые может использовать клавиатура.
Для этого надо обработать свойство OnClick каждой кнопки.
Cамый простой код будут иметь кнопки 2 и 4. Кнопка 2 копирует свой шрифт (не стандартный) в кнопку 1, а затем отключает себя:
· Нажимаем на форме поле кнопки 2;
· В Object Inspector входим в Events / On Click и дважды кликаем. Происходит переход в текст редактора, где следует набрать; например:
Procedure TButtonForm.Button2Click(Sender:TObject);
Begin
Button1.Font: =Button2.Font;
Button2.Enabled: =False;
end;
Кнопка 4 восстанавливает исходный шрифт кнопки 1, где вместо прямого копирования шрифта можно назначить ей шрифт формы, используя свойство ParentFont кнопки. Это событие также включает кнопку 2, после чего она опять готова к изменению шрифта кнопки 1;
· На форме кликаем кнопку 4.
· В Object Inspector / Events / OnClick дважды нажимаем OnClick и в редакторе текста набираем:
Procedure TButtonForm.Button4Click (Sender: Tobject);
Begin
Button1.ParentFont: =True;
Button2.Enabled: = True;
end;
Чтобы операции отключения и сокрытия для кнопок 1 и 5 нужна переменная логического типа Boolean, в которой будет храниться текущее состояние.
Есть и другой способ:
Будем решать, какую операцию следует выполнять на основе анализа текущего состояния кнопки. Мы запишем код, где методы этих двух кнопок используют два разных подхода.
· На форме кликнем по кнопке 1
· В Object Inspector / Events дважды кликнуть по OnClick и перейти в редактор и набрать следующее:
Procedure TButtonForm.Button1Click (Sender: T Object);
Begin
End
Else
Begin
Button4.Enabled:= False;
Button1.Caption:= ‘ & 1: Enabled ’;
end;
end;
По аналогичному алгоритму для кнопки 5:
Procedure TButtonForm.Button 5.Click (Sender: TObject);
Begin
Button2.Visible: = not Button2.Visible;
If Button2.Visible then
Button 5.Caption: = ‘& 5: Hide 2 ’;
Else
Button 5.Caption: = ‘ & 5: Show 2 ‘;
end;
Последних две кнопки (3 и 6) имеют неограниченный код, т.е. можно уменьшить кнопку 6 до такой степени, что она, в конце концов, исчезнет:
Procedure TButtonForm.Button3Click (Sender: tObject);
Begin
Button6.Height: = Button6.Height + 3;
Button6.Width:= Button6.Width +3;
end;
Procedure TButtonForm.Button6Click (Sender: TObject);
Begin
Button6.Height: = Button6.Height -3;
Button6.Width: = Button6.Width -3;
end;
Пример TYPES
Напишем программу, показывающую размерность и длину в байтах различных типов данных.
· Образуем в меню FILE / NEW APPLICATION новую форму.
· В правой части формы через меню Standart организуем 11 кнопок.
* Дадим каждой из кнопок свое имя через Object Inspector / Name
Short_INT, Word,_Cardinal, Small_INT, Word_Bool, _Char, Long_INT, Boolean, _Integer, Byte_Bool, Long_Bool
В первой части формы через меню Standart организуем 2 столбца из 4-х меток каждый.
Для первого столбца через Object Inspector / Name дадим имена меткам:
TYPE:
SIZE:
MAX:
MIN:
Во втором столбце меток имена Name должны быть пустыми, т.е. свойство CAPTION должно быть пустым.
Щелкнем дважды по каждой кнопке, для организации перехода в редактор.
Для кнопок с именами Short_INT, Small_INT, _INTEGER,_Cardinal, _Word запишем в редакторе следующий текст (для каждой кнопки - свой тип данных).
Например:
Procedure TForm1.Short_Int Click (Sender: T Object);
var Number:ShortInt;
Begin
TypeLabel.Caption: = ‘ Short_ Int ‘;
SizeLabel. Caption: = IntToStr (Sizeof (Number));
MaxLabel. Caption: = IntToStr (High (Number));
MinLabel. Caption: = IntToStr (Low (Number));
end;
Для других кнопок структура процедур не изменяется, за исключением типа данных и две последних строки запишутся следующим образом:
MaxLabel.Caption: = InttoStr (ORD (# 0));
MinLabel.Caption: = InttoStr (ORD (# 0));
Создание списка ListBox
Предварительно необходимо добавить на форму компонент ListBox.
2 способа создания списка:
1. Дважды кликнуть по форме и в процедуре настройки формы procedure FormCreate(Sender: TObject); ввести следующие команды:
procedure TForm1.FormCreate(Sender: TObject);
Begin
ListBox1.Items.Add ('Apples');
ListBox1.Items.Add ('Apes');
ListBox1.Items.Add ('Anchor');
ListBox1.Items.Add ('Antenna');
ListBox1.Items.Add ('Angle');
ListBox1.Items.Add ('Ant');
ListBox1.Items.Add ('Bananas');
ListBox1.Items.Add ('Basket');
ListBox1.Items.Add ('Bandanna');
ListBox1.Items.Add ('Broccoli');
ListBox1.Items.Add ('Brook');
ListBox1.Items.Add ('Cat');
ListBox1.Items.Add ('Catch');
ListBox1.Items.Add ('Cape');
end;
2. На форме выделить ListBox и в Object Inspector на вкладке Propierties справа от свойства Items дважды кликнуть. При этом происходит переход в редактор, где каждая строка будет являться одним элементом списка.
Пример работы со списком
1. на форме создать:
· 3 êíîïêè Button
· 1 ListBox
· 1 Edit
· 1 Label
2. Создать для ListBox список (см. выше).
3. Для Edit1 в Object Inspector свойство Text сделать пустым
4. Для Label1 в Object Inspector в свойстве Captiоn сделать надпись”Выбранный элемент списка”.
5. Для Button1 в Object Inspector в свойстве Captiоn сделать надпись на ней ”Выбрать элемент списка”.
6. Для Button2 в Object Inspector в свойстве Captiоn сделать надпись на ней ”Всего элементов списка”.
7. Для Button3 в Object Inspector в свойстве Captiоn сделать надпись на ней ”Выход”.
8. После инициализации списка в ListBox1 можно выбрать один любой его элемент и нажав Button1 вывести егоназвание:
procedure Tform1.Button1Click(Sender: Tobject);
Begin
ShowMessage (ListBox1.Items[ListBox1.ItemIndex]);
end;
Свойство ItemIndex âîçâðàùàåò ïîçèöèþ òåêóùåãî âûáðàííîãî ýëåìåíòà â ñïèñêå, ïðè÷åì íîìåðàöèÿ íà÷èíàåòñÿ ñ 0. Ïîçèöèÿ, êîòîðóþ âîçâðàùàåò ñâîéñòâî ItemIndex, ìîæíî ðàññìàòðèâàòü êàê èíäåêñ â ñâîéñòâå Item для извлечения выбранного элемента списка через ShowMessage.
Ïðèìå÷àíèå: Åñëè â ñïèñêå íå âûáðàòü íè îäèí ýëåìåíò, òî áóäåò îøèáêà, à ñëåäîâàòåëüíî, ñáîé ïðîãðàììû. ×òîáû ýòîãî èçáåæàòü ìîæíî ñäåëàòü òàê:
procedure Tform1.Button1Click(Sender: Tobject);
Begin
Try
ShowMessage (ListBox1.Items[ListBox1.ItemIndex]);
Except
On EstringListError do
MessageDlg(‘No item selected.’, mtInformation, [mbOk], 0);
end;
end;
9. В элементе Edit1 можно ввести название из списка и курсор покажет этот элемент в списке, аналогично свойству Find любого редактора. Для этого служит:
procedure Tform1.Edit1Change(Sender: Tobject);
{ Search through list box and return closest match to keys typed }
Begin
SearchListItem (Edit1, ListBox1);
end;
Ïðîöåäóðà SearchListItem îñóùåñòâëÿåò ïîèñê â ñïèñêå è ôîçâðàùàåò áëèæàéøåå ñîîòâåòñòâèå ñèìîëàì, ââåäåííûì â ýëåìåíò óïðàâëåíèÿ Edit1. Для этого используется специальный модульLMUtil, который поставляется в дополнительной библиотеке и находится у автора.
10. Кнопка Button2 выводит количество элементов в списке:
procedure Tform1.Button2Click(Sender: Tobject);
Var
S: string;
Begin
S:= ‘Total list elements: ‘;
MessageDlg(S + IntToStr(ListBox1.Items.Count), mtInformation,
[mbOk], 0);
end;
11. Кнопка Button3 èñïîëüçóåòñÿ äëÿ âûõîäà èç ïðîãðàììû:
procedure Tform1.Button3Click(Sender: Tobject);
Begin
close;
end;
Примечание1: в Object Inspector в свойстве Fonts можно менять шрифты надписей почти для всех элементов, а в свойстве Color менять цвета.
Примечание2:
Функция MessageDlg служит для показа небольшого диалогового окна с сообщением имеет 4 параметра:
1) строка – само сообщение
2) тип окна сообщения
· mtWarning
· mtError
· mtInformation
· mtConfirmation
3) множество значений, указывающее на необходимые кнопки:
· mbYES
· mbNO
· mbOK
· mbCANCEL
· mbHELP
Здесь можно задать не одну, а несколько кнопок.
Для каждого типа автоматически используется свой заголовок и рядом с текстом отображается своя пиктограмма.
4) контекст справки, т.е. число, указывающее какая страница справочной системы должна вызываться, когда пользователь нажмет F1. (0 – HELP
|
|
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!