Ceas cu ceas cu sunet pe c # - programare pe c, c # și java

În acest articol, vom discuta în detaliu cum să creați un program de alarma cu ceas în C # în Windows Forms.

Mai întâi, creați un formular. Se pare ca aceasta:

Aici la noi etichetați aici cu astfel de proprietăți

Ceas cu ceas cu sunet pe C # - vscode.ru

Pe acesta, vom arăta ora curentă.

Mai jos este MaskedTextBox. Diferența dintre MaskedTextBox și TextBox simplu este că vă permite să specificați o mască care ajută utilizatorul să introducă tipul corect de date.

Configurația MaskedTextBox este după cum urmează. În acest element, când este selectat, apare o mică săgeată în colțul din dreapta sus. Când se face clic, fereastra apare, după cum se arată mai jos. Faceți clic pe "Setați masca".

În MaskedTextBox vom introduce ora pentru alarmă. Prin toate standardele, timpul este întotdeauna afișat prin orele de colon: minute: secunde. Este clar că de fiecare dată când utilizatorul pentru a scrie două puncte între ore și minute este foarte incomod, asa ca am face mai ușor pentru el la fereastra de introducere a datelor care se deschide după ce faceți clic pe „Setarea masca“ linia de timp selectați. Acesta va traduce imediat datele introduse de utilizator în formatul DateTime și nu va deranja cu cele două ore și minute.

Faceți clic pe "OK". Acum, pentru a pune timp, utilizatorul trebuie să introducă doar patru cifre. Primele două sunt orele, ultimele două sunt minute.

De asemenea, în "Proprietăți" pentru MaskedTextBox'a am modificat dimensiunea textului:

Sub MaskedTextBox'om am ascuns Label2:

Avem nevoie de aceasta pentru a obține valorile din MaskedTextBox. și pe baza acesteia, unul dintre timerii noștri va primi informații când sună alarma.

Apoi, există două butoane - primul va porni ceasul deșteptător, iar cel de-al doilea va opri când se declanșează apelul.

Adăugați, de asemenea, două timere. Primul va arăta timpul, iar cel de-al doilea va fi responsabil pentru efectuarea la timp a ceasului cu alarmă.

Cu un design înțeles. Apoi, faceți clic pe butonul din dreapta al mouse-ului pe formular și selectați "Du-te la cod".

Mai întâi, conectăm biblioteca de lucru cu sunetul:

În primul rând, noi declarăm primul cronometru, deoarece acesta va fi în mintea noastră și va trebui să-i facă o aparență sănătoasă.

Apoi, declarăm o variabilă care va porni melodia la momentul potrivit. În acest caz, melodia se află pe discul F, iar fișierul însuși se numește 1.wav.

Este necesar să citiți: biblioteca System.Media poate funcționa numai cu formatul WAV PCM. În caz contrar, va exista o eroare în program. Există numeroase programe pe Internet care traduc fișierele muzicale în acest format, și chiar acest format poate fi găsit pe rețea, cel mai important fiind faptul că ar trebui digitizat folosind PCM.

De asemenea, declarăm o variabilă de tipul bool (are doar două stări - true și false). Ne va duce să schimbăm principiul butonului "Setare alarmă". Mai târziu, vom aloca acest buton oa doua "stare" - "Elimină ceasul deșteptător" atunci când este lichidat. Deci, când apăsați un buton pentru valori diferite ale variabilei b, acest buton va efectua diferite operații.

Aceste trei variabile am învățat chiar în baza codului de la orice funcție care va avea în continuare acces la ele, pentru că dacă, de exemplu, să declare o variabilă de bool b, în ​​orice anumită funcție, atunci alte funcții nu va fi capabil de a ajunge la această variabilă accesul, pur și simplu nu o vor găsi.

Apoi revenim la formular și faceți dublu clic pe el cu butonul stâng al mouse-ului pentru a vă deplasa în zona codului de încărcare al formularului. Codul scris acolo va fi executat atunci când formularul este încărcat, adică imediat după lansarea programului. Acolo scriem următoarele:

Butonul2.Enabled = șir fals închide butonul "Stop alarmă". Am făcut acest lucru pentru ca utilizatorul să nu o apese înainte. Mai târziu, vom face clic pe acesta când începe ceasul deșteptător, astfel încât să îl puteți opri.

Timer01.Interval == linie în 1000, anunțăm că timer nostru este responsabil pentru ora curentă vor fi actualizate în forma de la fiecare 1000 de milisecunde (cu alte cuvinte, în fiecare secundă). Avem nevoie de acest lucru, deoarece avem în Label ultimele două "simboluri" sunt alocate pentru câteva secunde.

Următoarea linie înseamnă că timerul va răspunde și declanșa când apare evenimentul "Tick". Evenimentul Tick va fi descris mai jos, va indica faptul că ora curentă trebuie afișată în etichetă. Cu alte cuvinte, un timer datorat timer01. Interval va executa un eveniment de actualizare a timpului în etichetă în fiecare secundă. folosind timer01.Tick.

În sfârșit, ne conducem cronometrul. Când formularul este încărcat, acesta va afișa imediat ora curentă.

Acum revenim din nou la formularul nostru și faceți dublu clic pe partea de jos a paginii.

Iată secțiunea codului cu numele timer1_Tick. Acesta este codul pe care îl vom scrie acum în interiorul corpului acestei funcții care va fi actualizat în fiecare secundă în formular.

Așa cum am menționat mai devreme, aici vom afișa în Label1 ora curentă. În interiorul corpului funcției timer1_Tick scrie:

Mai întâi înregistrăm orele, apoi minutele, apoi secundele. Partea din codul responsabil pentru ceas arată astfel: DateTime.Now.Hour.ToString ("00"). literal, se traduce ca „Vremya.Seychas.Chasy.Strokoy“, care este, obținem numărul actual de ore într-un rând (inițial aceste valori au tipul DateTime, astfel încât toate dintre ele trebuie să fie tradus într-un șir de caractere). Noi scriem acelasi timp de cateva minute (doar in loc de Hour - Minute) si secunde (Second). Între ei prescriim colon, astfel că timpul nostru nu se lipsește împreună într-un singur număr și este lizibil.

Dar ce dintre brațele cu zerouri? Se scrie acest lucru astfel încât timpul să fie afișat în formatul obișnuit: 00:00:00. Fără aceste zerouri, de exemplu, 9 ore, 5 minute și 14 secunde vor arăta astfel în program: 9.5.14. Aceasta reduce puțin ochii, așa că adăugăm zerouri la acele momente care sunt scrise cu o singură cifră (adică toate numerele sunt mai mici de zece). Deci timpul va arata ca 09.05.14, si este mult mai frumos. Cu alte cuvinte, dacă sunteți în prezent un timp de două cifre, de exemplu, 12 ore, în loc de primul zero este scris unul, dar în loc de o secundă - 2. În cazul în care, în același timp - 05:00, primul zero rămâne intact, dar în loc de a doua cifră 5 este scris. În același mod, ambele minute și secunde sunt completate.

Deci, timerul nostru, care arată timpul, funcționează. Mergem mai departe, sortarea butonului "Setare ceas deșteptător". Pentru a face acest lucru, faceți dublu clic pe el în formular.

Aici avem nevoie de schimbarea bully b. Vom face ca atunci când apăsați acest buton puteți avea un ceas cu alarmă și să-l scoateți din fabrică.

Uită-te în forma va fi astfel:

În funcție de situație, acest buton va efectua două acțiuni opuse. Acum vom scrie prima dată când avem nevoie de un ceas cu alarmă. Când se face clic pe buton, începe al doilea cronometru, care începe să numere orele, minutele și secundele până la ora care va fi specificată în maskedTextBox'e. accesul la maskedTextBox'u va fi închis până când apăsați butonul (era imposibil să se schimbe ora deja specificat până când alarma ceas rana), iar textul de pe buton se va schimba în „Ștergeți serviciul“.

Când apăsați acest buton, melodia se oprește, apoi butonul "Stop alarma" devine din nou inaccesibil (până când noua fabrică de ceas deșteptător și redarea melodiei noi), MaskedTextBox1 este returnat. care nu a fost, pentru că, așa cum ne amintim, la fabrica, este ascunsă și în loc de ea rămâne Label2. textul de pe butonul pentru plante / ceasul de alarmă se schimbă în "Setare alarmă", iar b devine fals (astfel încât când apăsați butonul "Setați alarma", codul dorit funcționează.

Asta-i tot, codul poate fi verificat prin linkul de mai jos: