R. A. Yusupov C++ Builderda masalalar va topshiriqlar samarqand 2018 yil


if (ListBox1->Count == 1) SpeedButton4->Enabled = false



Download 3,49 Mb.
bet64/147
Sana03.01.2022
Hajmi3,49 Mb.
#314841
1   ...   60   61   62   63   64   65   66   67   ...   147
Bog'liq
c asosiy

if (ListBox1->Count == 1)

SpeedButton4->Enabled = false;



else

SpeedButton4->Enabled = true;

SpeedButton3->Glyph

->LoadFromResourceID((int)HInstance,101);

}

// ListBox ro’yxatidan tanlangan ismli MP3-faylni



// tiklashni faollashtirish

void __fastcall TForm1::Play()

{

Label1->Caption = ListBox1->Items->Strings



[ListBox1->ItemIndex];

MediaPlayer1->FileName=SoundPath +ListBox1

->Items->Strings[ListBox1->ItemIndex],

MediaPlayer1->Open();

MediaPlayer1->Play();

min = 0;


sec = 0;

Timer1->Enabled = true;

}

// tiklashni to’xtatish



void __fastcall TForm1::Stop()

{

MediaPlayer1->Stop();



Timer1->Enabled = false;

Label2->Caption = "0";

Label4->Caption = "00";

}

// Play/Stop tugmasini bosish (tugma uchun



// rasmlarni yaxshisi resursdan yuklash kerak)

void __fastcall TForm1::SpeedButton3Click(TObject *Sender)

{

if(mode==1)

{

SpeedButton3->Glyph



->LoadFromResourceID((int)HInstance, 101);

SpeedButton3->Hint = "Tiklash";

Stop();

mode = 0;

}

else {

SpeedButton3->Glyph

->LoadFromResourceID((int)HInstance, 102);

SpeedButton3->Hint = "To'xtash";

Play();

mode = 1;

}

}

// taymerdan signal



void __fastcall TForm1::Timer1Timer(TObject *Sender)

{

// tiklash vaqti indikatsiyasi



if (sec<59)

{

sec++;



if(sec<10)

Label4->Caption = "0" + IntToStr(sec);



else

Label4->Caption = IntToStr(sec);

}

else

{

sec = 0;



min++;

Label2->Caption = IntToStr(min);

Label4->Caption = "00";

}

// joriy faylni tiklash to’xtadimi?



if (MediaPlayer1->Position < MediaPlayer1->Length)

// joriy faylni tiklah to’xtagani yo’q



return;

// joriy faylni tiklash to’xtadi

Stop();

if (ListBox1->ItemIndex < ListBox1->Count-1)

{

ListBox1->ItemIndex += 1;



Play(); // navbatdagi MP3-faylni tiklashni

// faollashtirish



if (ListBox1->ItemIndex==ListBox1->Count-1)

SpeedButton4->Enabled = false;

}

else {

// oxirgi MP3-faylni tiklash tugadi

SpeedButton3->Glyph

->LoadFromResourceID((int)HInstance,101);

SpeedButton3->Hint = "Tiklash";

mode = 0;

}

}

// "Navbatdagi faylga" tugmasini bosish



void __fastcall TForm1::SpeedButton2Click(TObject *Sender)

{

if (mode == 1)

Stop(); // joriy faylni tiklashni to’xtatish

ListBox1->ItemIndex -= 1;

Label1->Caption = ListBox1->Items->Strings

[ListBox1->ItemIndex];

// проверить и, если надо, изменить состояние

// кнопок перехода к следующему и предыдущему файлу



if (!SpeedButton4->Enabled)

SpeedButton4->Enabled = true;



if (ListBox1->ItemIndex == 0 )

SpeedButton2->Enabled = false;



if (mode==1)

Play(); // keyingi faylni tiklashni faollashtirish

}

// Eject – katalogni tanlash, tugmasini bosish



void __fastcall TForm1::SpeedButton1Click(TObject *Sender)

{

String dir;



if(SelectDirectory("Katalogni tanlang","",dir))

{

if (mode ==1) // "Tiklash" tartibi

{

Stop () ;



SpeedButton3->Glyph

->LoadFromResourceID((int)HInstance, 101);

SpeedButton3->Hint = "Tiklash";

Stop();


mode = 0;

}

SoundPath = dir + "\\";



PlayList(SoundPath);

}

}



// fayl ismida bosish

void __fastcall TForm1::ListBox1Click(TObject *Sender)

{

if(MediaPlayer1->Mode==2) //pleyer tiklash tartibida

{

Stop();//joriy faylni tiklashni to’xtatish



Play();//tanlangan faylni tiklashni faollashtirish
}

// изменить, если надо, состояние кнопок

// перекода к предыдущей и следующей композиции

if (ListBox1->ItemIndex == 0)

SpeedButton2->Enabled = false;



else

SpeedButton2->Enabled = true;



if (ListBox1->ItemIndex == ListBox1->Count -1 )

SpeedButton4->Enabled = false;



else

SpeedButton4->Enabled = true;

}

// foydalanuvchi ovoz regulyatori holatini o’zgartirdi



void __fastcall TForm1::TrackBar1Change(TObject *Sender)

{

volume.Left = - TrackBar1->Position;



volume.Right = - TrackBar1->Position;

waveOutSetVolume(0,volume.Volume);

}

MIDI ni qayta tiklash

60 sekundda uddalash dasturi, uning forma ko’rinishi 1.42-rasmda keltirilgan, MIDI turidagi ovozni tiklash uchun MediaPlayer komponentasidan foydalanishni namoish etadi. Musiqa foydalanuvchi sonni topmaguncha yoki masalani yechish uchun belgilangan vaqt tugamaguncha “aylanib” eshitilib turadi.


MediaPlayer1

Timer1

Label3


1.42-rasm. 60 sekundda uddalash dastur formasi

#include // RandomRange funksiyasi uchun

int pw; // "maxviy" son

int rem = 60; //topshiriqni bajarishning qolgan vaqti

// dastur ishining boshlanishi



void __fastcall TForm1::FormCreate(TObject *Sender)

{

TSearchRec sr;



if (FindFirst("*.mid",faAnyFile, sr) == 0)

{

MediaPlayer1->FileName = sr.Name;



MediaPlayer1->Open();

MediaPlayer1->Play();

}

Randomize();



pw = RandomRange(100,999); // "maxviy" son

}

// o’yinchi kiritgan son to’g’riligini tekshirish



void __fastcall TForm1::isRight(void)

{

if (StrToInt(Edit1->Text) == pw)

{

Timer1->Enabled = false;



Button1->Enabled = false;

Edit1->Enabled = false;

MediaPlayer1->Stop();

// olqishlar!

//PlaySound("Applause.wav", 0, SND_ASYNC);

ShowMessage("Tabriklaymiz!\nSiz "+IntToStr(60-rem)+ "sekundda sonni topdingiz");

}

}

// taxrirlash maydonida klaviatura tugmasi bosildi



void __fastcall TForm1::Edit1KeyPress(TObject *Sender, System::WideChar &Key)

{

if((Edit1->Text.Length()<3)&&((Key>='0')

&&(Key<='9')))

return;

if (Key == VK_RETURN)

{

isRight(); // foydalanuvchi to’g’ri kiritganlagini



// tekshirish

return;

}

if(Key == VK_BACK)



return;

//qolgan belgilar ruxsat etilmagan

Key= 0;

}

// Taxrirlash maydoni tashkil etuvchisi o’zgardi



void __fastcall TForm1::Edit1Change(TObject *Sender)

{

// agar taxrirlash maydonida uchta belgi bo’lsagina



//(raqam), OK tugmasi murojaatli

if (Edit1->Text.Length() == 3)

Button1->Enabled = true;



else

Button1->Enabled = false;

}

// OK tugmasi bosildi



void __fastcall TForm1::Button1Click(TObject *Sender)

{

isRight(); // foydalanuvchi kiritgan sonni



// to’g’riligini tekshirish

}

// taymerdan signal



void __fastcall TForm1::Timer1Timer(TObject *Sender)

{

rem--;



Label3->Caption = IntToStr(rem)+" sekund qoldi";

if (rem == 0)

{

// masalani yechishga ajratilgan vaqt tugadi



Timer1->Enabled = false;

Edit1->Enabled = false;

Button1->Enabled = false;

MediaPlayer1->Stop();

ShowMessage("К сожалению, Вы не справились с "

"поставленной задачей\n \"Секретное\" число-"+

IntToStr(pw));

}

}



// pleyer xolati o’zgardi

void __fastcall TForm1::MediaPlayer1Notify(TObject *Sender)

{

/* Если плеер воспроизводит файл и значение свойства Notify равно true (метод Play по умолчанию присваивает свойству Notify значение true), то в момент окончания воспроизведения возникает событие Notyfy */



if (Timer1->Enabled)

/* Длительность мелодии меньше времени, отведенного на решение задачи. Проиграть еще раз. */

MediaPlayer1->Play();

}

// dasturning ishini tugatish



void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)

{

Timer1->Enabled=false ;



MediaPlayer1->Stop();

MediaPlayer1->Close();

}


Download 3,49 Mb.

Do'stlaringiz bilan baham:
1   ...   60   61   62   63   64   65   66   67   ...   147




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish