Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Компоненты Internet 1 страница




Рис.14


Компоненты закладки Internet (рис. 14) обеспечивают подключение к программе специальных элементов для создания клиентских и серверных приложений с протоколами TCP/IP и HTTP.
Компонент ClientSockets (клиент подключений) позволяет создавать приложения для клиентов сетевого подключения по протоколу TCP/IP.
Компонент ServerSockets (сервер подключений) превращает приложение в сервер TCP/IP. Данный сервер позволяет контролировать определенный порт на предмет распознавания запросов и установления соединений.
Как видно из описания компонентов, среда разработки Borland C++ Builder 6 позволяет создавать программы самого разнообразного назначения во многих сферах компьютерных технологий.

В данной статье рассказывается о создании в среде разработки Borland C++ Builder 6 учебной программы с применением некоторых компонентов и мультимедийных функций.

 


Программа ABC
Создадим еще одну программу. На этот раз она будет учебной и предназначена для обучения детей русской азбуке. Интерфейс, придуманный автором для этой программы, довольно прост. Программа будет иметь всего одно окно, на котором разместятся все буквы русского алфавита и один рисунок.

Рис.1

На рис.1. показано окно этой программы.
При работе с данной программой после щелчка левой кнопки мыши но любой из букв рисунок в окне программы будет меняться на такой, который начинается или содержит в своем названии данную букву. Кроме того, через акустическую систему компьютера будет воспроизводиться соответствующий звук.
Приступим к созданию самой программы. Запустите среду разработки Borland C++ Builder 6 и создайте новый проект с помощью команд File—>New—>Application. Сразу же сохраните проект с помощью команд File—>Save Project As на любом диске, создав для этого отдельную папку (каталог) с произвольным названием, например ABC. Программный модуль сохраните с именем Uabc.cpp а сам проект — с именем abc.bpr.
Поместите на форму Form1 проекта компонент с названием Imagel из закладки Additional. Данный компонент необходим в программе для отображения на экране рисунков нз загружаемых впоследствии файлов. Замените свойство AutoSize компонента Imagel с false на true для того, чтобы его размер автоматически изменялся под размер отображаемого рисунка. Затем поместите на форму компонент Label1 из закладки Standard палитры компонентов. Измените свойство Caption данного компонента на Аа (большая и маленькая русская буква а). Откройте свойства Font компонента Label1 и приведите их в соответствие со свойствами, изображенными на рис. 2.

Рис.2


Скопируйте компонент Label1 на форме 32 раза с помощью команд Edit Copy и Edit Paste контекстного меню. При выделении и копировании можно пользоваться операциями для группы элементов, что значительно ускоряет процесс копирования. В результате на форме должно быть создано 33 компонента с названиями от Label до Label32. Измените свойство Caption (заголовок) скопированных элементов в соответствии с буквами русского алфавита от «Бб» до «Яя». Для облегчения данной операции воспользуйтесь табл.1, в которой приведено соответствие букв их порядковому номеру в русском алфавите.

 

Таблица 1
Номер Буква Номер Буква Номер Буква
  А   К   Х
  Б   Л   Ц
  В   М   Ч
  Г   Н   Ш
  Д   О   Щ
  Е   П   Ъ
  Ё   Р   Ы
  Ж   С   Ь
  З   Т   Э
  И   У   Ю
  Й   Ф   Я


Измените красный цвет свойства Font для согласных букв на синий цвет. Как известно, в русском алфавите 10 гласных и 23 согласных буквы.
Теперь щелкните по компоненту Label1 левой кнопкой мыши и в открывшемся окне инспектора кода введите текст программы, приведенной на рис. 3.

Рис.3

 

При этом заготовка функции, создаваемая автоматически самой средой разработки и состоящая из строк


void __fastcall TForm1::Label1Click(TObject *Sender)
{
}


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

//---Буква А-----------------------------------------------------

перед функцией и строки команд Image1->Picture->LoadFromFile("PICTURE/1.bmp");
PlaySound("SOUND/1.wav",0,SND_ASYNC);

между фигурными скобками функции. Первая строка команд будет изменять свойство Picture компонента Image1 при выполнении программы путем загрузки файла l.bmp из каталога PICTURE после щелчка левой кнопкой мышки по данной букве. Вторая строка состоит из одной мультимедийной команды, с помощью которой будет воспроизводиться звуковой файл l.wav, расположенный в каталоге SOUND. Естественно, что эти файлы с рисунками и звуками необходимо будет создать самостоятельно и поместить в соответствующие подкаталоги проекта с названиями PICTURE и SOUND, которые необходимо создать в основном каталоге проекта. Borland C++ Builder 6 позволяет загружать звуковые файлы в формате wav и файлы рисунков в форматах bmp, wmf или jpg. Поэтому при создании файлов данных их необходимо сохранять только в этих форматах. Всего необходимо будет создать 33 файла с рисунками и 33 звуковых файла по числу букв русского алфавита. Имена этих файлов должны иметь названия от 1 до 33. Давать этим файлам имена по названию русских букв нежелательно, поскольку среда разработки является англоязычной и при использовании таких названий в дальнейшем могут возникнуть непредсказуемые проблемы. При создании звуковых файлов рекомендуется записать звуки букв, произносимые самим ребенком, который будет затем обучаться азбуке по создаваемой нами программе. В этом случае ему будет интересно слышать собственный голос и процесс изучения букв, станет более интересен. Для детей такой процесс обучения превратится в своеобразную игру.
Звуковые файлы легко создаются с помощью программы звукозаписи sndrec32.exe, входящей в состав стандартной поставки операционной системы Windows. Данная программа запускается с помощью команд Пуск—>Программы—>Стандартные—>Развлечения->Звукозапись. Рисунки можно создать с помощью любого графического редактора. Для этих целей подойдет даже простейший графический редактор mspaint.exe, также входящий в состав стандартной поставки операционной системы Windows. Редактор вызывается командами Пуск—>Программы—>Стандартные—>Paint. Фон рисунков лучше всего сделать прозрачным или серым для того, что бы он сливался при отображении с фоном формы программы.
Вставьте в начало программы строку подключения библиотеки мультимедийных функций в виде #include. Эти функции необходимы нашей программе для выполнения команд проигрывания звуковых файлов. Окончательный вид заголовка программы будет следующим:
//---------------------------------------------------------------------------

#include
#pragma hdrstop

#include
#include "Uabc.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

Теперь откройте форму Form1 программы и замените ее свойство Caption на заголовок «Азбука». Разверните форму на весь экран и разместите все компоненты на форме в соответствии с рис. 1.
Создайте функции обработки для каждой из букв, вызывая для этого инспектор кода щелчком левой кнопки мыши по букве и скопируйте строки программы, приведенные выше для буквы А (компонент Label1), в функцию каждой буквы. Замените в скопированных строчках комментарии и имена файлов. В результате у вас должна получиться программа, состоящая из строк, похожих на строки, приведенные ниже.

TForm1 *Form1;
//----------------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//- Буква А ---------------------------------------------------------------------
void __fastcall TForm1::Label1Click(TObject *Sender)
{
Image1->Picture->LoadFromFile("PICTURE/1.bmp");
PlaySound("SOUND/1.wav",0,SND_ASYNC);
}
//--Буква Б-----------------------------------------------------------------------
void __fastcall TForm1::Label2Click(TObject *Sender)
{
Image1->Picture->LoadFromFile("PICTURE/2.bmp");
PlaySound("SOUND/2.wav",0,SND_ASYNC);
}
//--Буква В-------------------------------------------------------------------------
void __fastcall TForm1::Label3Click(TObject *Sender)
{
Image1->Picture->LoadFromFile("PICTURE/3.bmp");
PlaySound("SOUND/3.wav",0,SND_ASYNC);
}
....

и т.д.


//--Буква Я-------------------------------------------------------------------------
void __fastcall TForm1::Label33Click(TObject *Sender)
{
Image1->Picture->LoadFromFile("PICTURE/33.bmp");
PlaySound("SOUND/33.wav",0,SND_ASYNC);
}
//---------------------------------------------------------------------------

Отличие может быть в расширениях файлов рисунков, поскольку формат этих файлов может быть одним из трех разрешенных, о чем было сказано выше.
Для изменения значка программы необходимо нарисовать его с помощью инструментальной программы графического редактора Image Editor, встроенной в Borland C++ Builder 6, и загрузить этот значок через свойства проекта в программу. О том, как это сделать, было рассказано при описании создания программы timedate в предыдущей статье.
Теперь необходимо сохранить проект с помощью горячих клавиш Ctrl+S и выполнить его трансляцию и запуск с помощью клавиши F9. Обратите внимание на что, что при раскрытой на весь экран форме быстрые кнопки и главное меню среды разработки становятся недоступны и использование горячих клавиш очень помогает в этом случае.
Если при создании программы не было допущено ошибок, то она сразу начнет работать по приведенному в начале статьи алгоритму. Если в программе встретятся ошибки, воспользуйтесь встроенным в среду разработки отладчиком. При необходимости можно полностью свернуть форму. Вновь отобразить форму на экране можно с помощью клавиш Shift+F12.

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

 


Свойства компонентов
Рассмотрим основные свойства компонентов среды разработки Borland C++ Builder 6. При разработке программы удобно иметь справочную таблицу этих свойств в алфавитном порядке. Это позволяет оперативно находить нужное свойство для того, что бы узнать его назначение. В табл. 1 описаны основные свойства наиболее часто используемых компонентов Borland C++ Builder 6. Эти свойства сходны по смыслу и назначению для различных компонентов.
Большинство компонентов среды разработки ВСВ6 имеет одинаковые свойства, определяющие их имя, заголовок, размеры, скрытость и т. д. Познакомившись с одним из таких свойств на примере одного компонента, можно понять его назначение и для другого компонента. Поэтому мы будем рассматривать основные свойства компонентов, не привязываясь к конкретному их типу, а делая это лишь в исключительных случаях.

Таблица1

Свойство Назначение
ActiveControl Определяет, какой элемент управления на форме будет выделен при запуске программы.
Align Выравнивание объекта внутри родителя. Принимает значения: alMone — нет выравнивания; aLTop — по верхней границе; alBottom — по нижней границе; alLeft — по левой границе; alRight — по правой границе; alClient — по всему размеру родителя.
Alignment Горизонтальное выравнивание: taLefUustify — по левому краю; taRiqhOustify — по правому; taCenter — по центру.
Anchors Определяет, как объект будет перемещаться или сжиматься при изменении размеров родителя. Например, если включить два подсвойства akLeft и akRiqht, то объект будет сжиматься при уменьшении его ширины. По умолчанию не используется.
AutoScroll Если равно true, то разрешается автоматическое появление полос прокрутки, когда содержимое объекта не умещается в его видимой части.
AutoSize Если равно true, то размер объекта будет автоматически подстраиваться под размер его содержимого.
BiDiMode Способ поведения объектов с учетом национальной специфики — ввод текста и прокручивание информации слева направо (bdLeftToRiqhf по умолчанию) или справа налево (bdRiqhtToLeft)
Borderlcons Набор значков в системном меню формы.
BorderStyle Вид рамки объекта. Принимает значения bsNone — нет рамки; bsSingle — простая рамка; bsSizeable — рамка, позволяющая изменять размеры объекта мышью; bsDialog — рамка в стиле диалоговых окон; bsToolWindow — как bsSingle, но с небольшим заголовком; bsSizeToolWin — как bsSizeable, но с небольшим заголовком.
BorderWidth Ширина рамки
Cancel Определяет, будет ли происходить для данного объекта событие OnClick, когда пользователь нажмет клавишу Esc. Для этого значение Cancel должно быть равно true.
Caption Заголовок. Для одних объектов применяется, чтобы задать заголовок в окне или надпись на кнопке, для других —описывает их содержимое (например, у полей надписи).
Checked Свойство, определяющее состояние флажков (true — включен).
Color Цвет объекта.
Columns Число столбцов
Constraints Содержит четыре подсвойства, определяющие минимально и максимально допустимые размеры объекта.
Cti3D Вид объекта в объемном стиле (стандарт для Windows 95 и выше).
Cursor Задает вид указателя, который отображается при наведении на объект.
Default Определяет, будет ли происходить для данного объекта событие OnClick, когда пользователь нажмет клавишу Enter. Для этого свойство Default должно иметь значение true.
DockSite Применяется для различных панелей, объектов группирования и т. д. Когда включено (т. е. true), позволяет использовать этот объект как базу для стыковки других объектов на форме при перетаскивании. Обеспечивает режим «прилипания» (см. свойство DraqKind).
Down Состояние кнопки. Нажата — true.
DraqCursor Задает вид указателя, который отображается при перетаскивании объекта мышью.
DragKind Определяет, можно ли объект произвольно перетаскивать по окну (dkDrag) или же его можно перемещать как стыкуемый объект (dkDock), который сам определяет свою форму при стыковке с другими объектами.
Drag Mode Определяет, можно ли объект перетаскивать (dmAutomatk) или нет (dmManual — по умолчанию) в соответствии с режимом, указанным в DraqKind.
Enabled Доступность объекта. Когда свойство Enabled имеет значение false, объект становится недоступным для пользователя (например, кнопка делается серой и щелкнуть на ней нельзя).
FileName Имя файла. Используется при сохранении выбранного файла в стандартных диалоговых окнах, для указания имени файла с мультимедийным содержимым. Применяется для компонентов воспроизведения музыки или звука и т. д.
Flat Вид границ объекта (true — плоские границы).
Font Определяет шрифт, которым будут делаться все надписи внутри объекта. Содержит множество подсвойств.
FormStyle Стиль формы. Может принимать значения: fsNormal — обычное окно; fsMDIChild — внутренне окно многооконного приложения; fsMDIForm — родительское окно многооконного приложения; fsStayOnTop — всегда на поверхности экрана.
Glyph Графический файл, содержащий от одного до четырех (отпущено, недоступно, нажато, выделено) изображений графической кнопки.
Height Высота объекта.
HelpContext Номер экрана справочной системы, который будет вызываться при нажатии клавиши F1 при работе с объектом. Требует знания устройства справочной системы Windows.
HelpFile Имя файла справочной системы для данного приложения или окна.
HorzScrollBar Вид и стиль горизонтальной полосы прокрутки. Состоит из множества подсвойств.
Hint Текст подсказки, которая всплывает при наведении указателя мыши на объект. Эта подсказка будет показываться, если свойство ShowHint установлено в true.
Icon Имя файла со значком для приложения.
Images Список картинок, которые будут использоваться для показа кнопок на панели инструментов, в пунктах меню и т. д.
ItemIndex Текущий выбранный элемент в списке Items. Нумерация начинается с нуля. Если ничего не выбрано, то значение Itemlndex равно-1.
Items Список объектов, хранящих основные данные. Используется во всевозможных списках, меню и наборах.
Kind Вид (тип) объекта. Для разных компонентов может принимать разные значения.
Left Левая координата объекта на родительском объекте.
Lines Список строк. Используется в многострочных текстовых элементах. По структуре походит на свойство Items.
Max Максимальное значение диапазона, используемого во всевозможных компонентах прокрутки, ползунках и т. п.
MaxLenqth Максимально допустимая длина вводимой строки символов.
Min Минимальное значение диапазона, используемого во всевозможных компонентах прокрутки, ползунках и т. п.
ModalResult Значение, которое возвращает модальное диалоговое окно при его закрытии. Может принимать значения mrNone (по умолчанию), mrOk, mrCancel. mrAbort, mrRetry, mrlgnore.mrYes, mrNo и mrAII. Если во время работы диалога в это свойство записать значение, не равное mrNone, то диалоговое окно сразу закроется.
Name Название объекта (имя переменной, которая будет использоваться в программе для обращения к этому объекту).
Options Параметры настройки объекта. Различаются для разных компонентов.
Orientation Ориентация объекта. Может быть горизонтальной (udHorizontal) или вертикальной (udVertical).
OwnerDraw Характеризует, будет ли объект рисовать свой образ на экране самостоятельно (true) или использовать стандартный вид.
Picture Картинка. Позволяет загрузить графический файл, например для компонента image.
PixelsPerlnch Число точек (пиксел) на дюйм экрана. Используется для масштабирования формы в зависимости от экранного разрешения. Будет учитываться, если свойство Scaled имеет значение true.
PopupMenu Контекстное меню, связанное с объектом и вызываемое по щелчку правой кнопки мыши над этим объектом. Выбирается в раскрывающемся списке доступных меню и должно быть подготовлено заранее.
Position Для формы - положение на экране. Принимает значения: poDesigned - положение окна во время работы программы соответствует положению формы на экране на этапе проектирования; poDefault - положение определяется Windows; poDefaultPosOnly - используются размеры, заданные разработчиком; poDefaultSizeOnly - используется положение, заданное разработчиком; poScreenCenter - положение в центре экрана для много мониторных систем; poDesktopCenter - положение в центре экрана. Для всевозможных компонентов прокрутки, движков и т. п. - текущее положение движка.
Readonly Если данное свойство имеет значение true, то объект будет доступен в режиме только для чтения. Например, поле ввода с включенным свойством Readonly позволяет просматривать содержимое, но не позволяет изменять его.
Scaled Если имеет значение true, то учитывается свойство PixelsPerlnch.
Show/Hint Определяет, надо ли показывать всплывающую подсказку, хранящуюся в свойстве Hint
Sorted Используется во всевозможных списках. Когда включено (true), содержимое списка будет автоматически сортироваться перед выводом на экран.
Style Стиль объекта. Используется для разных компонентов (кнопок, списков, шрифтов и т.д.).
TabOrder Определяет номер объекта при передвижении по элементам управления в родительском окне с помощью клавиши Tab. Начинается с О.
TabStop Определяет, будет ли происходить выделение данного объекта и остановка на нем при передвижении по элементам управления в родительском окне с помощью клавиши Tab.
Tag Свойство, сделанное специально для разработчиков. Оно нигде не используется и предназначено только для хранения числа типа int. Tag можно рассматривать как пользовательское свойство и применять его для любых собственных нужд.
Text Содержимое различных текстовых элементов управления (полей ввода и т. п.).
Title Титул (заголовок) приложения, колонки, сообщения.
Top Верхняя координата объекта на родителе.
Transparent Прозрачность фона объекта. Например, если свойство Transparent имеет значение true для поля надписи, помещенного на объект-изображение, то отображаться на этом изображении будет только текст, а затирания изображения фоном не произойдет.
VertScrollBar Вид и стиль вертикальной полосы прокрутки. Состоит из множества подсвойств.
Visible Определяет, будет ли виден объект во время работы программы (по умолчанию — true).
Width Ширина объекта.
WindowState Статус окна при его открытии. Принимает значения: wsNormal — используются размеры и положение, заданные на этапе проектирования; wsMinimized — в свернутом BHfle;wsMaximized — в развернутом виде.

 

Самыми распространенными значениями, которые могут иметь большинство свойств, являются True (истина) иFalse (ложь) или просто «да» и «нет», т. е. если свойство принимает значение True> оно активизируется. При значении False это свойство блокируется. Свойства любого компонента можно изменить во время создания программы с помощью инспектора объектов, при этом для большинства свойств эти изменения можно зрительно увидеть по тому, как изменится при этом сам компонент. В предыдущих примерах программ уже показывалось, как изменения свойств компонента влияют на его форму, цвет и т. п.
Все свойства объекта доступны не только на этапе проектирования, но и во время работы программы. Их значения можно изменять и в ходе ее выполнения в программном коде. Это также было показано в предыдущих примерах программ. Например, строка программы:

 

Image1->Picture->LoadFromFile("PICTURE/1.bmp");

 

изменяет свойство Picture компонента Image1 путем загрузки LoadFromFile графического файла 1.bmp из каталога PICTURE.
В описании свойств часто встречается программный термин «родитель». Свойства компонентов, начинающиеся со слова Parent (родитель), определяют общение компонента со своим «родителем» — объектом, на котором он расположен. Например, когда поле ввода помещается на форму, то для него «родителем» будет форма. Если командная кнопка размещена на панели инструментов, то для нее «родителем» будет панель и т. д. В большинстве прикладных задач эти свойства можно не учитывать.
Некоторые из перечисленных в таблице свойств имеют подсвойства. Примером такого свойства является Font. Ранее мы уже использовали данное свойство при создании программы обучения азбуке. Настройка подсвойств Font не представляет проблем, поскольку поддерживается оконным интерфейсом, знакомым пользователям Windows по приложениям Word, Excel и т. д.
Еще одним свойством с множеством подсвойств является Anchors (якоря). Его подсвойства akLeft, akTop, akRight и akButtom со значениями True и False позволяют смещать (фиксировать) компонент соответственно влево, вверх, вправо или вниз.
Достаточно часто используемым свойством является Color. Поскольку современные графические средства позволяют передавать миллионы цветовых оттенков, число значений свойства Color довольно велико. Тем не менее, эти значения имеют индивидуальные названия, которые приведены в табл. 2 вместе с их описанием.

 

Таблица2

Цветовая константа Цвет
clAqua Цвет морской волны
clBlack Черный
clBlue Синий
clCream Кремовый
clDkGrav Темно-серый
clGray Серый
clGreen Зеленый
clLime Ярко-зеленый (липовый)
clLtGray Светло-серый
clMaroon Бордовый
clMedGray Средне-серый
clMoneyGreen Денежный (долларовый)
clNavy Цвет военно-морского флота
clOlive Оливковый
clPurple Пурпурный
clRed Красный
clSilver Серебряный
clSkyBlue Небесно-голубой
clTeal Цвет «чирок»
clWhite Белый
clYellow Желтый
clScrollBar Цвет полос прокрутки
clBackground Цвет фона рабочего стола
clActiveCaption Цвет заголовка активного окна
cllnactiveCaption Цвет заголовка неактивного окна
clMenu Цвет фона меню
clWindow Цвет фона окон
clWindowFrame Цвет рамок окон
clMenuText Цвет текста меню
clWindowText Цвет текста окон
clCaptionText Цвет текста заголовка неактивного окна
clActiveBorder Цвет бордюра активного окна
cllnactiveBorder Цвет бордюра неактивного окна
clAppWorkSpace Цвет рабочей области компонента
clHiqhiiqht Цвет фона выделенного текста
clHiqhtliqhtText Цвет выделенного текста
clBtnFace Цвет поверхности кнопок
clBtnShadow Цвет теней кнопок
clGrayText Цвет текста недоступных элементов
clBtnText Цвет текста кнопок
cllnactiveCaptionText Цвет текста заголовка неактивного окна
clBtnHiqhliqht Цвет выделенной кнопки
cl3DDkShadow Для Windows95 и NT. Цвет темных теней трехмерных компонентов
cl3DLiqht Для Windows95 и NT. Цвет светлых частей трехмерного компонента
cllnfoText Для Windows95 и NT. Цвет текста всплывающих подсказок
cllnfoBk Для Windows95 и NT. Цвет фона всплывающих подсказок
clGradientActiveCaption Для Windows98 и Windows2000. Цвет правой стороны градиентной заливки названия активного окна.
clGradientlnactiveCaption Для Windows98 и Windows2000. Цвет правой стороны градиентной заливки названия неактивного окна.

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных