Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Taikomųjų programų kūrimas

Lituaniana


Taikomųjų programų kūrimas

4.1. Multimedia grotuvo komponentas ir jo savybės

Norint papildyti taikomąsias programas garsais ir vaizdais tikslinga naudoti komponentą MediaPlayer. Sis komponentas yra System komponentų paletėje. Įdėjus sį komponentą į formą, jam automatiskai suteikiamas vardas MediaPlayer1. Du kartus paspaudę bet kurioje formos vietoje suzadinsite įvykį OnCreate ir įrasykite 111h73b kodą:



void __fastcall TForm1::FormCreate(TObject *Sender)

Komponento MediaPlayer savybei FileName suteikiama reiksmė, kuri parodo pilną kelią iki muzikinio failo. Metodas Open atveria nurodytą failą atlikimui.

Melodiją paleisite sukompiliavę projektą ir paspaudę grotuvo mygtuką "Groti". Atitinkamai galite isbandyti, kaip veikia kiekvienas grotuvo mygtukas. Jei kurie nors mygtukai nereikalingi, juos galima paslėpti, nustačius sudėtinėje savybėje Visible Buttons (Matomi mygtukai) reiksmes false.

Norėdami, kad melodija pasigirstų iskart paleidus programą, įrasykite metodą:

MediaPlayer1->Play();

Norėdami, kad taikomojoje programoje grotų foninė muzika, galite padaryti komponentą MediaPlayer nematomą ir grotuvo mygtukų paspaudimus pakeisti metodais:

MediaPlayer1->Pause(); - pauzė;

MediaPlayer1->Stop(); - sustabdyti.

Naudojant tokią taikomąją programėlę galima paleisti wav ir avi failus. Jei reikia, kad vienu metu matytumėte ir vaizdą, ir girdėtumėte muziką, tuomet formoje įdėkite du MediaPlayer komponentus.

UNIVERSALUS MULTIMEDIJA GROTUVAS

Į formą įkelkite MediaPlayer komponentą is System komponentų paletės.

Is Dialog komponentų paletės įkelkite komponentą OpenDialog. Tai nematomas komponentas, skirtas failų ir katalogų atidarymo langui iskviesti.

Sukurkite mygtuką ir į funkciją Button1Click įrasykite kodą:

void __fastcall TForm1::Button1Click(TObject *Sender)

4. Į formą įdėkite komponentą Label ir papildykite sukurtą kodą eilute:

Label1->Caption = MediaPlayer1->FileName;

5. Formos savybėje Caption įrasykite "Universalus grotuvas". Sukompiliavę projektą isbandykite, kaip grotuvas atidaro wav, mid, mp3, wma, rmi, avi ir kitus failus.

Norėdami parengti grotuvą, kad jis atpazintų audio diskus, atverkite naują projektą, į formą įkelkite MediaPlyer komponentą ir Objektų Inspektoriaus lange savybėje DeviceType nustatykite reiksmę dtCDAudio. Savybės AutoOpen reiksmė turi būti true. Pabandykite sukompiliuoti ir paleisti grotuvą. Pries isjungdami programą būtinai paspauskite grotuvo sustabdymo mygtuką. Tam į apdorojimo funkciją FormClose įrasykite:

MediaPlayer1->Stop();

MediaPlayer1->Close();

Vartotojo patogumui galima sukurti komponentą Label, kuriame bus informacija, kiek yra takelių diske. Į apdorojimo funkciją FormCreate reikia įrasyti:

Label1->Caption = "Diske yra takelių" + IntToStr(MediaPlayer1->Tracks);

Norėdami pakeisti grotuvo piktogramą, meniu punkte Project pasirinkite komandą Options... ir Application laukelyje pasirinkite Load Icon. Galite pasirinkti bet kurį failą, esantį kompiuteryje, kurio plėtinys yra ico.

4.2. Paprasčiausias grafinis redaktorius. Meniu sistemos kūrimas

Atverkite naują projektą ir formoje įdėkite Image komponentą is Additional komponentų grupės.

Formos savybės Color reiksmę nustatykite clWhite. Pavadinkite formą "Piesimo albumas".

Apdorojimo funkcijose FormMouseDown ir ImageMouseDown (paspaudus pelės klavisą) įrasykite:

Image1->Canvas->LineTo (X, Y); //piesti liniją

Canvas (lietuviskai "drobė") - tai Image komponento savybė, kuri sukuria pavirsių grafikos isvedimui. Tame pavirsiuje metodas LineTo brės tiesią liniją is duotos pozicijos į taską su koordinatėmis, kuriame bus paspaustas pelės klavisas.

Paleiskite vykdyti sukompiliuotą projektą, papieskite pele.

Ryskiai matomas tokio piesimo būdo trūkumas - negalima pasirinkti pradinio piestuko trajektorijos tasko. Si problema issprendziama panaudojus metodą MoveTo, kuris perkels piestuką į kitą vietą nepiesdamas linijos.

Dar viena problema: kaip vartotojas naudodamasis pele gali pranesti, ar piesti liniją toliau, ar persikelti į kitą vietą ir pradėti is naujo. Tuomet papildykime funkcijas naujomis eilutėmis:

if (Button == mbLeft) Image1->Canvas->LineTo(X, Y);

if (Button == mbRight) Image1->Canvas->MoveTo(X, Y);

Siuo atveju Button - pelės mygtukas. Pirmoji sąlyga leidzia paspaudus kairįjį pelės mygtuką piesti liniją, o antroji - perkelti piesimo taską į kitą vietą.

7. Kol kas vartotojas gali piesti tik vienos spalvos piestuku. Praplėsime programos galimybes. Is Standard komponentų paletės isrinksime komponentą MainMenu ir jį įdėsime į formą. Dukart pelyte spustelėjus sį komponentą, atsiveria langas, kuriame galima kurti meniu. Sukurkite meniu, panasų į pateiktą paveikslėliuose. Norint sukurti linijos storių meniu, reikia laikyti paspaustą CTRL klavisą ir spausti rodyklės į desinę klavisą.

 

8. Kad meniu sistema pradėtų veikti, reikia parasyti įvykių apdorojimo funkcijas. Pradėkime nuo pasirinkimo "Piesimo spalva". Nepamirskite is Dialog paletės įkelti ColorDialog komponento. Dukart spustelėję sį meniu punktą atveriame meniu komandos apdorojimo funkcijos ruosinį ir parasome kodą:

void __fastcall TForm1::Pieimospalva1Click(TObject *Sender)

Sukompiliuokite projektą ir pabandykite piesti įvairiomis spalvomis. Pen (plunksna) yra Canvas objekto savybė. Color yra objekto Pen savybė.

9. Komanda "Linijos storis" galima keisti linijos storį. Aktyvuokite "Linijos storis" pagalbinio meniu punktus ir įrasykite kodus, kuriais nurodome, kokio storio linijos bus piesiamos:

Image1->Canvas->Pen->Width = 20;

10. Papildykite meniu punktą "Piestukas" kaip parodyta paveikslėlyje.

Parasykite kodą, skirtą įvairiems linijų stiliams pasirinkti:

void __fastcall TForm1::Itisinlinija1Click(TObject *Sender)

void __fastcall TForm1::Punktyrinlinijatrumpibrkneliai1Click(

TObject *Sender)

void __fastcall TForm1::Punktyrinlinija1Click(TObject *Sender)

void __fastcall TForm1::Punktyrinlinijailgasirdutrumpibrkneliai1Click(

TObject *Sender)

11. Papildykite meniu punktą "Teptukas" kaip parodyta paveikslėlyje.

Parasykite kodą:

void __fastcall TForm1::Nurodytaspalvadaomasvisasudarokontroplotas1Click(

TObject *Sender)

void __fastcall TForm1::Horizontalusbrkniavimasnurodytaspalva1Click(

TObject *Sender)

void __fastcall TForm1::Vertikalusbrkniavimasnurodytaspava1Click(

TObject *Sender)

void __fastcall TForm1::Kairinisstriasbrkniavimasnurodytaspalva1Click(

TObject *Sender)

void __fastcall TForm1::Deininisstriasbrkniavimasnurodytaspalva1Click(

TObject *Sender)

void __fastcall TForm1::Brkniavimaslangeliaisnurodytaspalva1Click(

TObject *Sender)

void __fastcall TForm1::Brkniavimasstriaislangeliaisnurodytaspalva1Click(

TObject *Sender)

12. Savarankiskai sukonstruokite meniu punktų "Liniuotė" ir "Popieriaus spalva" apdorojimo funkcijas.

13. Norėdami atverti naują piesimo lapą "apgausime" kompiuterį ir atidarysime is anksto sukurtą baltą lapą, kuris vadinasi sablonas.bmp. Sį grafinį failą sukurkite Paint grafiniu redaktoriumi ir issaugokite tame pačiame kataloge, kur yra projektas. Aktyvuokite meniu punktą "Naujas" ir įrasykite kodą:

void __fastcall TForm1::Naujas1Click(TObject *Sender)

14. Norėdami issaugoti grafinį failą, į formą įdėkite Dialogs paletės komponentą SavePictureDialog ir aktyvavę atitinkamą meniu punktą parasykite kodą:

void __fastcall TForm1::Isaugoti1Click(TObject *Sender)

15. Norėdami atverti issaugotą grafinį failą įdėkite Dialogs paletės komponentą OpenPictureDialog ir aktyvavę atitinkamą meniu punktą parasykite kodą:

void __fastcall TForm1::Atverti1Click(TObject *Sender)

Pastaba: norėdami atverti jpg arba jpeg failus turite prisijungti direktyvą # include <jpeg.hpp>

16. Norėdami atspausdinti sukurtą failą, įdėkite Dialogs komponentą PrintDialog ir aktyvavę atitinkamą meniu punktą parasykite kodą:

void __fastcall TForm1::spausdintuv1Click(TObject *Sender)

17. Remdamiesi universalaus grotuvo programa sukurkite meniu punkto "Melodija" pasirinkimus.

4.3. Animacijos kūrimas

Sukursime programą su animacija. Suprogramuosime judantį automobilį. Pasinaudosime taimerio komponentu. Taimeris, lyginant su kitais C++ Builder komponentais, turi labai nedaug savybių, tačiau geba valdyti programos darbą erdvėje vienos milisekundės tikslumu. Taimerį atrasite paletėje System. Sis komponentas yra nematomas. Formoje gali būti tiek taimerių, kiek reikia. Pagrindinė taimerio savybė yra Interval, kurios reiksmė pagal nutylėjimą yra lygi 1000 milisekundzių (1 sekundei). Savybė Enabled įjungia arba isjungia taimerį (true arba false). Savybes galima pasirinkti konstruojant projektą, arba aprasyti programiskai.

Atverkite naują projektą. Į formą įkelkite taimerį ir jo savybės Enabled reiksmę padarykite false, o savybės Interval reiksmę - 10 milisekundzių.

Mūsų atveju dar bus reikalingas komponentas Image, į kurį įkelsime nedidelį automobiliuką. Automobiliukas įkeliamas per savybę Picture.

Komponento Image savybei AutoSize suteikite reiksmę true, o savybei Left suteikite 15 vienetų reiksmę tam, kad automobilis galėtų startuoti is kairiosios pusės. Formos matmenis pakeiskite taip, kad jos plotis būtų truputį mazesnis uz ekrano plotį, o aukstis būtų du kartus didesnis uz automobilio aukstį.

Į apdorojimo funkciją Image1Click įrasykite kodą:

void __fastcall TForm1::Image1Click(TObject *Sender)

OnTimer įvykio apdorojimo funkcijoje įrasykite kodą:

void __fastcall TForm1::Timer1Timer(TObject *Sender)

Siame kode Left yra komponento Image1 savybė. Sios savybės reiksmė didėja labai greitai, dėl to spragtelėjus kairiuoju pelės klavisu ant automobilio, jis labai greitai dingsta begalybėje. Norėdami, kad automobilis judėtų lėčiau, sumazinkite jo poslinkio prieaugį: pvz., vietoj 30 parasykite 10.

Priversime automobilį grįzti į pradinę padėtį, spragteldami bet kurioje formos vietoje. Į apdorojimo funkciją FormClick įrasykite eilutę:

Image1->Left = 15;

Automobilis bus sugrązintas į starto poziciją. Isbandykite, kaip veikia programa.

Norėdami sustabdyti automobilį formos viduryje, į formą įkelkite dar vieną Timer komponentą. Jo savybė Enabled turi būti false, o Interval reiksmė lygi 145 (sią reiksmę galėsite keisti savo nuoziūra).

Funkciją apdorojančią Image1Click papildykite dar viena eilute:

Timer2->Enabled = true;

Į funkciją apdorojančią Timer2Timer įvykį OnTimer įrasykite:

void __fastcall TForm1::Timer2Timer(TObject *Sender)

10. Papildykite sukurtą automobilio programą garsu, patobulinkite animaciją.


Document Info


Accesari: 2433
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )