Kliknite tukaj, da si ogledate profil, kot ga vidijo drugi

Ustvarimo program za štetje let

  V tej lekciji vam bom pokazal, kako ustvarimo program, ki vam bo izračunal vašo starost glede na dan, mesec in leto rojstva.
 
 
1
 
 
Najprej ustvarimo nov program in ga poimenujemo.

V mojem primeru se bo program imenoval Leta.
 
 
2
 
 
Potem na obrazec dodamo dve komponenti Label,  štiri komponente TextBox in eno komponento Button, kot je prikazano na sliki.
 
 
3
 
 
Sedaj TextBox-u pod tekstom Starost dodamo vrednost Read Only na True.
 
 
4
 
 
Sedaj pa dvokliknemo na gumb Izračunaj in vnesemo naslednjo kodo:

Dim a As String
        Dim b As String
        Dim c As String

        a = TextBox3.Text
        b = TextBox2.Text
        c = TextBox1.Text

        Dim DOB As New DateTime(a, b, c)


        Dim Years As Integer = DateDiff(DateInterval.Year, DOB, Now) - 1
        Dim Months As Integer = DateDiff(DateInterval.Month, DOB, Now) Mod 12
        Dim days As Integer = DateDiff(DateInterval.Day, DOB, Now) Mod 30 - 10
        TextBox4.Text = Years & " let, " & Months & " mesecev in " & days & " dni "
 
 
5
 
 
Program sedaj samo še preizkusite in preverite, da deluje.

Sicer pa se oglasite na forumu.
 
 
Komentiraj
 
 
 
 
 
6.6.2011, 12:52
Pa program upošteva tudi prestopna leta?
 
 
 
 
6.6.2011, 13:15
Da, ker to program pobere iz koledarja.
 
 
 
 
6.6.2011, 15:25
Pomojem bi bilo veliko bolj zanimivo, če bi sam napisal funkcije za računanje let, mesecev, dni ...
 
 
 
 
5.7.2011, 22:09
za eno leto zaostaja :D usaj pr men
 
 
 
 
5.7.2011, 22:14
totaniac:
za eno leto zaostaja :D usaj pr men

Mislim, da to pobira iz koledarja, ki ga imaš nastavljenega računalniku in imaš najbrž koledar narobe nastavljen.
 
 
 
 
7.7.2011, 11:13
Koledar je vredu nastavljen ampak program pa zaostaja
 
 
 
 
16.7.2011, 20:50
Mene pa zanima, s katerim programom se to dela.
 
 
 
 
16.7.2011, 21:23
Visual basic 2010 EE. Take stvari vedno pišejo v zgornjem desnem kotu. Preneseš si ga lahko tukaj: http://www.microsoft.com/visualstudio/en....
 
 
 
 
28.7.2011, 11:56
Zakaj pa meni označi ta stavek: Dim DOB As New DateTime(a, b, c)
In mi programa noče odpret.
 
 
 
 
28.7.2011, 12:02
flip2222221:
Zakaj pa meni označi ta stavek: Dim DOB As New DateTime(a, b, c)
In mi programa noče odpret.


Ups moja napaka oprostite
 
 
 
 
28.7.2011, 12:21
Ali ve kdo kak dodati še uro ker sem probo pa visual basic neve kaj pomeni "hours"

L.P. Jaz
 
 
 
 
12.2.2012, 20:55
Zdravo prvo bi tud jz povedou da program v prvi polovici leta zaostaja za eno leto v drugi pa je pravilno. za filipa pa je odgovor tukaj jaz sem dodal še ure minute in sekunde:

Dim a As String
Dim b As String
Dim c As String

a = TextBox3.Text
b = TextBox2.Text
c = TextBox1.Text

Dim DOB As New DateTime(a, b, c)


Dim Years As Integer = DateDiff(DateInterval.Year, DOB, Now) - 1
Dim Months As Integer = DateDiff(DateInterval.Month, DOB, Now) Mod 12
Dim days As Integer = DateDiff(DateInterval.Day, DOB, Now) Mod 30 - 10
Dim Hours As Integer = DateDiff(DateInterval.Hour, DOB, Now) Mod 24
Dim Minutes As Integer = DateDiff(DateInterval.Minute, DOB, Now) Mod 60
Dim Secundes As Integer = DateDiff(DateInterval.Second, DOB, Now) Mod 60
TextBox4.Text = Years & " let, " & Months & " mesecev in " & days & " dni " & Hours & " ur " & Minutes & " minut " & Secundes & " sekund "



prosim za odgovor zakaj zaostaja
 
 
 
 
12.2.2012, 21:58
To nisem ugotovil zakaj začne zaostajati, bom pa kmalu sestavil sistem, ki bo izračunal točen datum. Odgovor pričakuj do jutri
 
 
 
 
12.2.2012, 22:34
Vredu, sem že sestavil algoritem. Vsaj meni je pokazalo pravi čas (sem preizkusil več datumov). Tukaj je koda:

'Določanje spremenljivk
Dim dan As Integer
Dim mesec As Integer
Dim leto As Integer

'Izračunanje meseca
mesec = Now.Month - TextBox2.Text
If mesec < 0 Then
mesec -= 2 * mesec
End If

'Izračunanje leta
leto = Now.Year - TextBox3.Text
If mesec > Now.Month Then
leto -= 1
End If

'Izračunanje dneva
dan = Now.Day - TextBox1.Text
If dan < 0 Then
dan -= 2 * dan
End If

Label1.Text = "Stari ste " + leto.ToString + " let, " + mesec.ToString + " mesecev in " + dan.ToString + " dni"


To pomeni, da narediš 3 textbox-e. Prvi je za dneve, drugi je za mesece in tretji za leta (rojstni datum), potem pa potrebuješ še label1 in seveda gumb kamor vneseš kodo. Upam, da bo delovalo, sicer pa sporoči


spremenil: PowerZan (12.2.2012 ob 22.37.51)
 
 
 
 
30.5.2012, 17:50
janiz hvala!

Obiskujem komaj 8.razred in še ne razumem toliko angleščine in programa!

L.P. Zigec :D


spremenil: flip2222221 (30.5.2012 ob 17.51.22)
 
Prijava in registracija
 
 
 
Zmaga.com ponuja brezplačno in razumljivo učenje računalniških programov, vas na enkraten način spozna z različnimi svetovnimi jeziki, s podrobno obrazloženimi recepti prikaže čare kulinarike in vam prežene strahove pred domačimi opravili.
 
 
Poleg tega lahko prebirate poučne članke, ki so namenjene širjenju naše splošne razgledanosti ter preverite svoje znanje z priljubljenim in enostavnim sistemom za preverjanje znanja. Če med vsebinami, ki se dodajajo vsak dan, ne najdete želenega znanja, je za vaša vprašanja na voljo dobro obiskan forum, kjer lahko tudi aktivno sodelujete. V primeru, da bi radi svoje praktično znanje delili z ostalimi, pa to lahko storite preko preprostega vmesnika za dodajanje vsebin. Zmagajte z znanjem z Zmaga.com!