Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчет мой.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
4.46 Mб
Скачать

Задание 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);

}

//---------------------------------------------------------------------------