Lucrul cu timpul si data Visual Basic
Întelegerea
modului în care Visual Basic gestioneaza timpul
Visula Basic lucreaza cu timpul într-un mod diferit
fata de cel cu care sunteti obisnuiti: foloseste
Tipul de data Data care utilizeza ziua ca unitate primara pentru
timp. Astfel o ora este vazuta ca 1/24
din zi, o scunda este 1/86400 dintro zi. O saptamâna va fi reprezentata print numarul 7 deorece o
saptamâna contine 7 zile. Tipul de date Data
afiseaza data conform modului în care este
formatata pe calculatorul dumneavoastra: format cu 12 ore sau cu 24
ore.
În calendarul Iulian prima zi este considerata
ziua de 1.01.0000. Visual Basic considera ca prima zi este data de 31.12.1899. Astfel a doua zi este
2.01.1900 iar 12.06.1968 este ziua 11111t193l 25001, a 25001 zi începând din 31.12.1899.
Numarul 25001 va reprezenta ora 12 a zile
12.06.1968. Datele anterioare celei de 31.12.1899 sunt
reprezntate cu ajutorul numerelor negative.
Astfel 4.07.1776 vafi reprezentat ca -45103.
Atribuirea de valori unei variabile de tip Date se face cuprinzând intre
doua caractere # un sir de caractere ce poate fi interpretat ce
data calendaristica.
Exemplu:
Dim Data_Nastere as Date
Data_Nastere=#09.02.1985#
Sau
Data_Nastere=#February 9, 1985#
Tipul de date Data poate fi convertit în orice alt tip de
data. De exemplu 2 p.m. 15.05.1998 va fi 35390,58333 ca tip Double. Partea
zecimala de reprezinta ziua iar practea fractionara momentul din
zi: ora, minut, secunda.
Utilizarea controlului Timer
În Visula Basic, Controlul Timer va permite sa
utmariti scurgerea timpului. Imaginati-va controlul Timer
ca un ceas ce declanseaza un eveniment la un interval de tip
specificat de dumneavoastra. Evenimentul pe care îl declanseaza
controlul Timer se numeste eveniment Timer iar procedura aferenta
acestui eveniment , unde puteti scrie cod, este
NumeTimer_Timer() (NumeTimer este valoarea proprietatii name a
controlului Timer). Controlul timer este invizibil în timpul executie
programului.
Puteti stabili o intervalul la care se produce evenimentul Timer atribuind
o valoare proprietatii Interval. Unitatea de masura a
proprietatii inteval este milisecunda, deci daca doriti ca
evenimentul Timer sa se produca din jumatate în jumatate de
secunda veti atribui valoarea 500 proprietatii Interval.
Valoarea maxima pe care o poate primi proprietatea Interval este 65535
ceea ce înseamna un interval putin mai mare de 65,5 secunde. Cel mai
mic interval este de 55 ms deoarece ceasul calculatorului bate de 18 ori pe
secunda.
Utilizarea functiilor Time , Date, Now, Format
Desi puteti programa un control Tmer pentru a
declansa un anumit eveniment, controlul Timet nu stie ce moment din
zi este în tipul operatiilor sale. Pentru
a sti timpul trebuie sa putem accesa ceasul
intern al calculatorului. Aest lucru se poate realiza cu ajtorul
functiilor Time pentru a obtine timpul sistemului, functi Date
pentru a obtine data sistemului sau functia Now
daca doriti sa le obtineti pe amândoua.
Pentru a vedea cum functioneaza aceste fuctii
va voi prezenta un scurt program.
Introduceti pe o forma trei controale caseta de text si
numiti-le astfel: txtTimp, txtData, txtAmandoua. Apoi în fereastra de cod
introduceti urmatoarele instructiuni:
Private Sub Form_Load()
txtTimp.Text = CStr(Time)
txtData.Text = CStr(Date)
txtAmandoua.Text = CStr(Now)
End Sub
Functia format este una dintre
cele mai puternice functii din Visual Basic ce permite stabilirea modului
de reprezentare a sirurilor de caractere. Functia este
în primul rând folosita pentru a afisa timpul si data. Sintaxa
functiei este urmatoarea:
sirCaractere = Format(Expresie[, Format_String[,
_
PrimaZiaSapt[, PrimaSaptaAnului ]]])
* sir caractere est valoarea întoarsa. .
* Expresie este orice expresie care reurneza un sirde caractere, o
data sau un numar
* Format_String est un sablon de sir care spune functiei cum
doriti sa apara sirul rezultat
* Prima zi a saptamâni este o constanta optionala care
stabileste prima zi din saptamâna. În mod implicit prima este Sunday (Duminica), dar puteti stabili ca ea
sa fie Monday (Luni) cu ajutorul acestui parametru.
* În mod asemanator puteti stabili prima
saptamâna a anului cu ajutorul
parametrului PrimaSaptaAnului.
Cheia întelegerii lucrului cu functia Format() este sa întelegeti parametrul
Format_String. Acest parametru spune valorii expresiei cum sa apara ca sir.
Voi prezenta în continuare valorile pe
care parametrul Format_String le poate lua.
Format_String |
Exemplu |
Rezultat |
"Long Date" |
Format(36000, "Long Date") |
Friday, July 24, 1998 |
"Medium Date" |
Format(36000, "Medium Date") |
24-Joule-98 |
"Short Date" |
Format(36000, "Short Date") | |
"Long Time" |
Format(0.874, "Long Time") |
8:58:34 p.m. |
"Medium Time" |
Format(0.874, "Medium Time") |
08:58 p.m. |
"Short Time" |
Format(0.874, "Short Time") |
De asemenea puteti folosi functia format pentru a stabili modul de
afisare al valorilor numerice.
Format_String |
Exemplu |
Rezultat |
"Long Date" |
Format(36000, "Long Date") |
Friday, July 24, 1998 |
"Medium Date" |
Format(36000, "Medium Date") |
24-Joule-98 |
"Short Date" |
Format(36000, "Short Date") | |
"Long Time" |
Format(0.874, "Long Time") |
8:58:34 p.m. |
"Medium Time" |
Format(0.874, "Medium Time") |
08:58 p.m. |
"Short Time" |
Format(0.874, "Short Time") |
Pe lânga sabloanele standard oferite de valorile
predefinite ale parametrului Format_String va
puteti crea propriile sabloane în functie de
necesitati.
Calcularea diferentei
dintre doua date
O alta operatie
importanta în lucrul cu data si timpul este calcularea intervalului
de timp dintre doua momente. Acest lucru se realizeaza cu ajutorul
functiei DateDiff(). Care are urmatoarea
sintaxa
lRezultat = DateDiff(Interval, DataStart, DataSfârsit[, _
PrimaZiaSapt [, _ PrimaSaptaAnului]])
Interval este o variabila sir ce defineste intervalul de timp în
care va fi masurata diferenta. Valorile pe care le poate lua
variabila inteval.
Valoare |
Interval |
Utilizare |
Rezultat |
"yyyy" |
An |
DateDiff("yyyy", "7/4/76", "7/4/86") | |
"q" |
Trimestru |
DateDiff("q", "7/4/76", "7/4/86") | |
"m" |
Luna |
DateDiff("m", "7/4/76", "7/4/86") | |
"y" |
Zi din an |
DateDiff("y", "7/4/76", "7/4/86") | |
"d" |
Zi |
DateDiff("d", "7/4/76", "7/4/86") | |
"w" |
Zi din sapt. |
DateDiff("w", "7/4/76", "7/4/86") | |
"ww" |
Saptamâna |
DateDiff("ww", "7/4/76", "7/4/86") | |
"h" |
Ora |
DateDiff("h", "7/4/76", "7/4/86") | |
"n" |
Minut |
DateDiff("n", "7/4/76", "7/4/86") | |
"s" |
Secunda |
DateDiff("s", "7/4/76", "7/4/86") |
Functia IsDate(expresie) verifica daca o expresie sir de caractere sau de tip data reprezinta o data calendaristica valida.
|