- •Задача 1. Конвертер
- •Задача 2. Фунты-килограммы
- •Задача 3. Сила тока.
- •Задача 4. Сопротивление
- •Задача 5. Кафе
- •Задача 6. Любимый напиток
- •Задача 7. Электроэнергия
- •Задание 8. Осаго
- •Задание 9.Просмотр иллюстраций
- •Задача 10. Калькулятор
- •Задача 11. Калькулятор-2
- •Задача 12.Секундомер
- •Задача 13. Угадай число
- •Задание 14.Угадай число-2
- •Задание 15.Запуск Internet Explorer
- •Задание 16.Конвертор
- •Задание 17.Конвертор 2
- •Задание 18.Погода
- •Задание 19.Средняя температура
- •Задание 20. Простая база данных
- •Задание 21. Редактор текста
- •Задание 22. Приветствие
- •Задача 23. Олимпийский флаг
- •Задание 24. Диаграмма
- •Задача 26. Круговая диаграмма.
- •Задача 27. Просмотр иллюстраций.
- •Задача 28 .Часы
- •Задача 29. Пинг понг.
- •Задача 30. Полет в облаках
- •Задача 31.Баннер
- •Задача 32. Фоновый рисунок
- •Задача 33. Wav
- •Задача 34. Mp3 Player
- •Задача 35.Воспроизведение midi
- •Задача 36.Compact Disk Player (версия 1)
- •Задача 37.Compact Disk Player (версия 2)
- •Задача 38.VideoPlayer
- •Задача 39. Анимация
- •Задача 40. Записная книжка
- •Задача 41 Магазин
- •Задача 42. Ежедневник
- •Задача 43. Сапер
- •Часть 1. Примеры и задачи
- •Часть 1. Примеры и задачи
- •Задача 44 Игра 15
- •Часть 1. Примеры и задачи
- •Задача 45. Игра "Собери картинку" (Puzzle)
- •Задача 46 Игра "Парные картинки"
- •Задача 47. Экзаменатор
- •Задача 48. Экзаменатор-2
- •Задача 49. Календарь
- •Задача 50. Будильник
- •Задача 51. Очистка диска
- •Задача 52.Печать
- •Задачи для самостоятельного решения Задача 1. Скидка
- •Задача 2.Доход по вкладу
- •Задача 3. Таблица умножения
- •Задача 4.Поездка на автомобиле
- •Задача 5.Стоимость разговора
- •Задача 6. Стеклопакет
- •Задача7. Калькулятор
- •Задача 8. Электроэнергия
- •Задача 9. Добрый день
- •Задача 10. Часы
- •Задача 11. Узоры
- •Задача 12. Курс доллара
- •Задача 13. Диаграмма
- •Задача 14. Домашние животные
- •Задача 15. Кораблик
- •Задача 16. Сапер
- •Задача 17 .Экзаменатор
- •Задача 18. База данных "Расходы"
Задание 14.Угадай число-2
Программа Угадай число-2 (рис. 20), окно которой приведено на рис. 1.15, демонстрирует использование компонента statusBar. В панелях строки состояния отображается количество символов, введенных в поле редактирования, количество попыток угадать число и время, оставшееся на решение поставленной задачи.
Рис 20
Вывод: В этом задании мы узнали про компонент StatusBar и о его свойствах.
Листинг
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
#define TR 60
TForm1 *Form1;
int pw;
int rem = TR;
int p = 0;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Randomize();
pw = 100+rand()%999;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
rem--;
StatusBar1->Panels->Items[2]->Text = " Осталось: " + IntToStr(rem) + " сек";
if (rem == 0 )
{
Timer1->Enabled = false;
Edit1->Enabled = false;
ShowMessage("К сожилению, Вы не справились с" " поставленной задачей\n\"Секретное \" число:" + IntToStr(pw) );
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if ( ( Edit1->Text.Length() < 3) && ( ( Key >= '0') && ( Key <= '9') ) )
return;
if (( Key == VK_RETURN) && (Edit1->Text.Length() == 3))
{
if ( StrToInt(Edit1->Text) == pw )
{
Timer1->Enabled = false;
Edit1->Enabled = false;
ShowMessage("Поздравляю!\nВыугадаличислоза " + IntToStr(TR - rem)+ " сек");
}
else
{
p++;
StatusBar1->Panels->Items[1]->Text = " Попыток: " + IntToStr(p);
}
return;
}
if ( Key == VK_BACK) return;
Key = 0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit1Change(TObject *Sender)
{
StatusBar1->Panels->Items[0]->Text = " Символов: " + IntToStr(Edit1->Text.Length());
}
Задание 15.Запуск Internet Explorer
Программа Доступ в Internet (Рис. 21) показывает, как запустить Internet Explorer или другой браузер для доступа к веб-странице. Браузер запускается в результате щелчка в поле Label.
Рис 21
Вывод: Выполняя это задание, мы узнали как из обычного компонента Label можно сделать ссылку с переходом на указанный сайт.
// щелчок в поле Label 1 void fast call TForml :: Labell Click ( TObject *Sender) { / / Открыть файл, имя которого находится в поле Labell ShellExecute ( Forml - > Handle , " open " , Labell - > Caption .c_str(), NULL,NULL,SW_RESTORE)
}
Задание 16.Конвертор
Программа Конвертор (Рис. 22) демонстрирует различные способы отображения справочной информации в формате Winhelp Окно справки появляется в результате нажатия клавиши <F1> или щелчка на кнопке Справка. Следует обратить внимание, что при нажатии клавиши <F1> в тот момент, когда курсор находится в одном из полей ввода, в окне справочной системы отображается раздел, поясняющий назначение того поля, в котором находится курсор. Справочная информация программы Конвертор состоит из пяти разделов .
Рис 22
Вывод:В этой программе мы научились вызвать справку в программе.
Листинг
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
WinExec("winhlp32.exe conv.hlp " , SW_RESTORE);
WinExec("hh.exe -mapid 1 convertor.chm", SW_RESTORE);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit1KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if (Key == VK_F1 )
WinExec("hh.exe -mapid 3 converter.chm", SW_RESTORE);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit2KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if (Key == VK_F1 )
WinExec("hh.exe -mapid 4 convertor.chm", SW_RESTORE);
}
//---------------------------------------------------------------------------
