Delphi. ( Урок 2 )

Текст на форме.

Продолжим наши занятия.

Загрузите Delphi на рабочий стол Вашего компьютера. Посмотрите на форму. Она совершенно пустая. Давайте начнем помещать на нее различные компоненты из палитры компонентов. Как я уже Вам говорил, Палитра компонентов - представляет своеобразное хранилище компонентов ( подобно коробке с кубиками ), из которых Вы будете создавать программу. Основная палитра компонентов имеет 7 страниц с закладками - Standart, Additional, Data Acces, Data Control, Dialogs, System и Samples.

1. Поместим текст на форму с помощью компонента Label.

Найдите первую страницу Standart. Нашли! Хорошо! Cейчас мы будем учиться размещать на форме текст.

Наведите курсор на кнопку компонента Label как показано на рисунке и щелкнете левую кнопку мыши. Кнопка А утонет.

·  Наведите курсор на форму и щелкнете левую кнопку мыши. На форме в этом месте появился компонент Label1, окруженный маленькими квадратиками. В верхнем окне Object Inspektor появилось название компонента Label1, а в нижнем – свойства этого комронента.

·  Сначала изменим его название, другими словами вместо Label1 напишем нужный нам текст. Например “Здравствуй Дельфи”.

·  Найдите в таблице Propertios свойство Caption.

·  Наведите курсор на слово Caption и щелкните левой кнопкой мышки. Смотрите – справа слово Label1 выделилось синим цветом.

·  Нажмите клавишу Del. Слово Label1 исчезло, а курсор в виде вертикальной черточки в этом окошечке мигает. Это он приглашает Вас написать в этом окошечке нужный Вам текст. Пишите - Здравствуй Дельфи! Написали! Теперь посмотрите, что написано на форме внутри фигуры из прямоугольничков. То же самое!

·  Скомпилируйте программу. На скомпилированной форме появился Ваш текст. Здорово!

Но посмотрите какой он невыразительный, черного цвета, да и шрифт мелковат.

Давайте сделаем его красивым, крупным и поместим его в нужное место формы.

Для этого поработаем со свойствами Label1. Вернитесь в Delphi.

Свойство Font.

·  Найдите в таблице Properties свойство Font, наведите на него курсор и щелкните левой кнопкой мышки. Справа появится кнопка с тремя точками.

·  Наведите на нее курсор и щелкните левой кнопкой мышки. Откроется диалоговое окно свойства Font.

·  В окне Шрифт выберите шрифт Times New Roman.

·  В окне начертание выберите Полужирный курсив.

·  В окне размер выберите 16.

·  В окне цвет выберите Красный.

·  Нажмите OK. Диалоговое окно исчезнет и Вы увидите на форме результат Вашей работы. Если на форме получилось все так как Вы хотели, скомпилируйте программу и насладитесь результатами Вашей работы.

Свойство Color.

·  Найдите в таблице Properties свойство Color, наведите на него курсор и щелкните левой кнопкой мышки. Справа появится кнопка со стрелочкой. Против него стоит его значение clBtnFace. Это значение является именем серого цвета, который имеет форма.

·  Наведите на Color курсор и щелкнете левой кнопко1 мышки. Справа появится кнопка со стрелкой, направленной вниз.

·  Наведите на нее курсор и щелкните левую кнопку мышки. Раскроется еще одно меню с различными названиями цветов, которые может принимать фон, на котором будет написан Ваш текст в Label1. форма.

·  Пользуясь линейкой прокрутки выберите какой-либо цвет, например clGreen и щелкните левой кнопкой мышки. И сразу произойдет маленькое чудо. Фон, на котором написан Ваш текст стал зеленого цвета! Посмотрите меню свойства Color закрылось, а в его окошке появилось название выбранного Вами цвета clGreen . Таким образом фону, на котором написан Ваш текст можно придать любой цвет, который содержится в меню свойства Color. Поиграйте немного с цветами фона, и если на форме получилось все так как Вы хотели, скомпилируйте программу и насладитесь результатами Вашей работы.

В таблице Properties находится много различных свойств компонента Label . И если у Вас возникнет необходимость, то Вы их все изучите и возможно будете применять в своих программах. Вам пока достаточно того, что я Вам показал, но возможно Вам будут полезны несколько советов :

Совет 1. Изменить расположение компонента Label1 на форме очень просто. Надо навести на него курсор, щелкнуть левой кнопкой мышки и, не отпуская кнопку, можете “таскать” этот компонет по форме, пока не найдете ему нужное место.

Совет 2. Размер области, занимаемой компонентом Label1 на форме можно менять как угодно. Для этого наведите курсор на один из квадратиков, обрамляющих Label1, и когда курсор примет форму стрелочки “туда-сюда”, нажмите левую кнопку мышки и, не отпуская ее, двигайте квадратик в напралении стрелочки “туда-сюда” , для изменения размеров компонента Label1.

Совет 3. Если Вы хотите поместить текст на форме в виде вертикального столбика, то сделайте область Label1 поуже, при этом слова начнуть располагаться в несколько строк. Если слово длинное и оно не убирается в область Label1, то зайдите в Propertios в свойство Caption , поставьте в месте желаемого переноса слова на другую строку – ( знак переноса ) и обязательно! после знака переноса сделайте пробел. Если текст в вертикальном столбце будет некрасивым, то “отформатируйте его” , изменяя в свойстве Caption количество пробелов перед словами и после них.

НЕ нашли? Не то? Что вы ищете?

2. Поместим текст на форму с помощью компонента ListBox.

Текст на форму можно поместить используя и другие компоненты.

Лично мне понравился компонент ListBox ( список )

ListBox

·  Найдите первую страницу Standart. Нашли! Хорошо!

·  Наведите курсор на кнопку компонента ListBox как показано на рисунке и щелкнете левую кнопку мыши. Кнопка ListBox утонет.

·  Наведите курсор на форму и щелкнете левую кнопку мыши. На форме в этом месте появился компонент ListBox , окруженный маленькими квадратиками. В верхнем окне Object Inspektor появилось название компонента ListBox1, а в нижнем – свойства этого комронента.

·  Выберите нужное место на форме для окна ListBox. Для этого наведите курсор на окно, щелкните левую кнопку мышки и, не отпуская кнопки потаскайте окно по форме. Как только Вы найдете для окна нужное место, отпустите левую кнопки мышки.

Теперь давайте поместим какой-нибудь текст в это окно.

·  В Objekt Inspektor на странице Properties выберите свойство Items, нажмите левую кнопку мыши. Откроется окошечко с кнопкой с тремя точками. Наведите курсор на эту кнопку и нажмите на левую кнопку мыши. Откроется панель String list editor (редактора строк списка) с мигающим курсором.

·  Если Вы хотите набрать текст для ListBox вручную, то набирайте его из головы или из книги. После набора текста нажмите кнопку Ок и текст окажется в ListBox на форме.

·  Tenepь меняйте размеры ListBox как только Ваша душенька захочет. Для этого наведите курсор на один из прямоугольничков, расположенных на границах окна, нажмите левую кнопку мышки и , не отпуская кнопки, полвигайте курсор по экрану и Вы увидите, как будут изменяться размеры окна. Выбрав нужный размер окна, отпустите кнопку мышки.

Но учтите, Вам очевидно не раз придется обращаться к String list editor.

·  Если нужно, чтобы окно заняло всю форму, то найдите в окне Object Inspektor свойство

Align ( выравнвиние ) и замените его значение alNone на alClient.

Внимание!!! Очень не советую нажимать на кнопку Code Edit. Намучаетесь так, что жить больше не захочется. Но запретный плод сладок, и Вы, плюнув на мои советы ( может самолюбие заело или в Ваших нутрях там "всяко разно" загудело ), все же давнули на кнопку Code Edit. Вот теперь мучайтесь!!! Если все Ваши попытки выбраться из получившейся глупейшей ситуации окончатся неудачей, то сделайте следующее :

активизируйте форму, наведите курсор на окно ListBox, нажмите на клавишу Delete на клавиатуре и начните все сначала.

·  Если у вас есть готовый текстовый файл ( типа Word, RTF, Dos и другие ), то, не убирая Delphi, нажмите клавишу Пуск в нижнем левом углу экрана, найдите в меню текстовый редактор ( WordPad, Word ... ) , откройте в нем нужный Вам файл и поместите его в буфер. ( буфер – это оперативная память компьютера),

·  Для этого откройте меню Edit, выберите операцию "Выделить все" , наведите курсор на Копировать и нажмите на левую кнопку мышки. Выделенный текст будет помещен в буфер - оперативную память компьютера.

• Сверните, или совсем уберите текстовый редактор;

• в String list editor нажмите на кнопку Code Edit. Появится панель Form1.ListBoxl.Items

с мигающим курсором.

·  В главном окне Delphi (оно занимает верхнюю строку экрана ) откройте меню Edit, наведите курсор на Paste и нажмите левую кнопку мышки. В окне Form1.ListBoxl.Items появится нужный вам текст. Возможно, что Вам придется изменять размер окна, но об этом я Вам уже рассказывал.

Шрифт в окне ListBox Вы можете изменять по своему усмотрению. Для этого

воспользуемся свойством Font.

·  Найдите в таблице Properties свойство Font, наведите на него курсор и щелкните левой кнопкой мышки. Справа появится кнопка с тремя точками.

·  Наведите на нее курсор и щелкните левой кнопкой мышки. Откроется диалоговое окно свойства Font.

·  В окне Шрифт выберите шрифт Times New Roman.

·  В окне начертание выберите Полужирный курсив.

·  В окне размер выберите 16.

·  В окне цвет выберите Красный.

·  Нажмите OK. Диалоговое окно исчезнет и Вы увидите на форме результат Вашей работы. Если в окне получилось все так как Вы хотели, скомпилируйте программу и насладитесь результатами Вашей работы.

Цвет фона в окне ListBox Вы также можете изменять по своему усмотрению. Для этого

воспользуемся свойством Color.

·  Найдите в таблице Properties свойство Color, наведите на него курсор и щелкните левой кнопкой мышки. Справа появится кнопка со стрелочкой. Против него стоит его значение clBtnFace. Это значение является именем серого цвета, который имеет форма.

·  Наведите на Color курсор и щелкнете левой кнопко1 мышки. Справа появится кнопка со стрелкой, направленной вниз.

·  Наведите на нее курсор и щелкните левую кнопку мышки. Раскроется еще одно меню с различными названиями цветов, которые может принимать фон, на котором будет написан Ваш текст в ListBox .

·  Пользуясь линейкой прокрутки выберите какой-либо цвет, например clGreen и щелкните левой кнопкой мышки. Посмотрите! Фон, на котором написан Ваш текст стал зеленого цвета! Посмотрите меню свойства Color закрылось, а в его окошке появилось название выбранного Вами цвета clGreen . Таким образом фону, на котором написан Ваш текст можно придать любой цвет, который содержится в меню свойства Color. Поиграйте немного с цветами фона, и если на форме получилось все так как Вы хотели, скомпилируйте программу и насладитесь результатами Вашей работы.

Для разработки простейших программ этих свойств компонента ListBox Вам вполне достаточно. Если у Вас появится необходимость, то с остальными свойствами компонента ListBox вы познакомитесь в будущем самостоятельно.

3. Поместим текст на форму с помощью компонента Combobox.

( Самостоятельная работа )

Компонент ComboBox омбинированный список) объединяет поле редактирования и список. Компонент позволяет пользователю выбрать из списка необходимую строку или задать в качестве выбора собственный текст. Список может отображаться в развернутом виде или как выпадающий список.

Разница между ComboBox и от схожего по функциям компонента ListBox заключается в следующем:

    ComboBox дает возможность пользователю редактировать список, а ListBox нет; в ComboBox список может быть развернут или свернут, а в ListBox он всегда развернут; ListBox может допускать множественный выбор, а в ComboBox пользователь всегда будет выбрать один элемент.

Основным свойством данного компонента является свойство Items. Оно содержит элементы списка и представляет собой массив строк. Заполнить его во время проектирования можно, нажав кнопку с многоточием около этого свойства в окне Инспектора Объектов.

Свойство ItemIndex определяет выбранный в списке элемент. Следует учитывать, что отсчет начинается с индекса (номера) 0, поэтому, например 7-я строка имеет номер 6. Программист может задать текущий (выбранный) элемент списка, задав свойству ItemIndex требуемое значение. При этом, соответствующая строка будет отображаться в текстовом поле компонента. Например, если значение ItemIndex равно 0, то с самого начала работы приложения пользователь будет видеть первый элемент списка.

Основные  свойства Style (стили изображения списка):

    csDropDown – выпадающий список где строки и окно редактирования имеют одну и ту же высоту, позволяющий пользователям ввести или отредактировать текст; csSimple – развернутый список где строки и окно редактирования имеют одну и ту же высоту, позволяющий пользователям ввести или отредактировать текст; csDropDownList – выпадающий список, у строк одинаковая высота, не содержащий окно редактирования; csOwnerDrawFixed – выпадающий список типа csDropDown с графической прорисовкой элементов одинаковой высоты, задаваемой свойством ItemHeight; csOwnerDrawVariable - выпадающий список типа csDropDown с графической прорисовкой элементов, у которых может быть различная высота;

Поле Text задает выбор пользователя или текст. Выбранный элемент списка или введенная пользователем строка размещается в свойстве Text.

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

Свойство MaxLength определяет максимальное число символов, которые пользователь может ввести в окно редактирования. Если MaxLength = 0, то число вводимых символов не ограничено.

Свойство Sorted позволяет упорядочить список по алфавиту. При Sorted = True новые строки в список добавляются не в конец, а по алфавиту.

Основные свойства компонента ComboBox


Свойство


Описание


Name


Имя компонента. Используется для доступа к свойствам компонента


Text


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


Items


Элементы списка — массив строк


Count


Количество элементов списка


Itemlndex


Номер элемента, выбранного в списке. Если ни один из элементов списка не был выбран, то значение свойства равно -1 (минус один)


Sorted


Признак необходимости автоматической сортировки (true) списка после добавления очередного элемента


DropDownCount


Количество отображаемых элементов в раскрытом списке. Если количество элементов списка больше, чем DropDownCount, то появляется вертикальная полоса прокрутки


Left


Расстояние от левой границы компонента до левой границы формы


Top


Расстояние от верхней границы компонента до верхней границы формы


Height


Высота компонента (поля ввода/редактирования)


Width


Ширина компонента


Font


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


ParentFont


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

Домашнее задание.

Написать программу в многостраничной форме :

Справочник по теме «Постоянный ток».

Электрический ток. Сила тока. Напряжение. Падение напряжения. Закон Ома для участка цепи. Сопротивление проводника. Последовательное соединение проводников. Параллельное соединение проводников. Вольтметр. Амперметр. Закон Ома для полной цепи. Работа и мощность электрического тока.

Имя формы : Справочник по теме «Постоянный ток».

Все заголовки делать в компоненте Label.

Определения помещать в компоненте ComboBox.

Формулы помещать в компоненте ListBox.

Форма, текст в Label, поле и тексты в ListBox и ComboBox должны иметь разные хорошо сочетаемые и приятные цвета, находящиеся в гармонии друг с другом.