Разделы

В сети

Пользователей: 57
Из них просматривают:
Аналоги: 10. Видео: 1. Даташиты: 12. Инструкции: 1. Новости: 5. Остальное: 8. Производители: 3. Теги: 1. Форум: 15. Чат: 1.
Участников: 3
Гостей: 54

Google , wolf170571 , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

Программирование

Borland C++ Builder 6 для начинающих (статья седьмая)

Написал MACTEP в 19.12.2009 10:00:00 (30076 прочтений)

Borland C++ Builder 6 для начинающих

Статья  1  2  3  4  5  6  7  8  9  10  11

В данной статье рассказывается о создании в среде разработки 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
Номер Буква Номер Буква Номер Буква
1 А 12 К 23 Х
2 Б 13 Л 24 Ц
3 В 14 М 25 Ч
4 Г 15 Н 26 Ш
5 Д 16 О 27 Щ
6 Е 17 П 28 Ъ
7 Ё 18 Р 29 Ы
8 Ж 19 С 30 Ь
9 З 20 Т 31 Э
10 И 21 У 32 Ю
11 Й 22 Ф 33 Я


Измените красный цвет свойства 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.



Продолжение следует

Статья  1  2  3  4  5  6  7  8  9  10  11

15
 
Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити
an
Отправлено: 21.12.2009 20:59  Обновлено: 21.12.2009 20:59
Администратор
Дата регистрации: 07.08.2008
Откуда: Рыбница
Сообщений: 2505
 Borland C++ Builder 6 для начинающих (статья седьмая)
В чём разница между поскудниками (те кто пишит на паскале) и сибиритами ( - на C).
На си: if(money){}
на пасклаь: if(money != 0){}
Сибирит когда идёт покупать пиво лезет в корман и смотрит, есть ли у него деньги. Паскудник - смотрит не равны ли его деньги нулю))
igoryok122
Отправлено: 16.06.2010 12:54  Обновлено: 16.06.2010 13:03
Школьник
Дата регистрации: 16.06.2010
Откуда: asdasd
Сообщений: 1
 Borland C++ Builder 6 для начинающих (статья седьмая)
↑быдло↑ на паскале нет кривых скобок. и да, в чём разница между уткой?
p.s. статья уг.
an
Отправлено: 16.06.2010 15:16  Обновлено: 16.06.2010 15:16
Администратор
Дата регистрации: 07.08.2008
Откуда: Рыбница
Сообщений: 2505
 Borland C++ Builder 6 для начинающих (статья седьмая)
Какой The уткой? Которая is где-то рядом?

Открыть изображение в новом окне
Sanek
Отправлено: 23.10.2010 17:08  Обновлено: 23.10.2010 17:08
Школьник
Дата регистрации: 23.10.2010
Откуда: березники
Сообщений: 1
 Borland C++ Builder 6 для начинающих (статья седьмая)
Скижи плизз, как в программку загружать Image и Sound
MACTEP
Отправлено: 24.10.2010 7:57  Обновлено: 24.10.2010 7:57
Администратор
Дата регистрации: 07.08.2008
Откуда: Тирасполь
Сообщений: 6479
 Borland C++ Builder 6 для начинающих (статья седьмая)
Непонял вопрос.
an
Отправлено: 24.10.2010 14:26  Обновлено: 24.10.2010 14:26
Администратор
Дата регистрации: 07.08.2008
Откуда: Рыбница
Сообщений: 2505
 Borland C++ Builder 6 для начинающих (статья седьмая)
Ну в ДИбилдере можно по нажатию кнопочки проигрывать звук и видео. Я даже в нём делал аудио плеер, когда-то...
НО я не программирую в визуальных средах, так что гугл в помощь.
MACTEP
Отправлено: 24.10.2010 14:34  Обновлено: 24.10.2010 14:34
Администратор
Дата регистрации: 07.08.2008
Откуда: Тирасполь
Сообщений: 6479
 Borland C++ Builder 6 для начинающих (статья седьмая)
Я вопрос не понял, так как вывод картинки и звука в примере в статье.

Разное

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

Интересно

Пайка SMD резисторов и прочих компонентов обычным паяльником:

Похожие новости