Moze li neko napisati primer coda digitrona u vb. Recimo samo 2 broja i jedna racunska operacija???
Digitron, ako moze pomoc
Zaključano
Zakačeno
stavi na formu tri TextBox-a i jedan CommandButton, i prekopiraj ovo:
Code:
Private Sub Command1_Click()
Text3.Text = CStr(Val(Text1.Text) + Val(Text2.Text))
End Sub
Private Sub Command1_Click()
Text3.Text = CStr(Val(Text1.Text) + Val(Text2.Text))
End Sub
Hvala, jel zna neko jos nesto???
Ja bih hteo nesto ovako...
Ja bih hteo nesto ovako...
Code:
Dim zbir As Integer
Dim pritisnutjetasterplus As Boolean
Private Sub Command1_Click()
If pritisnutjetasterplus = True Then
Text1.Text = ""
pritisnutjetasterplus = False
End If
Text1.Text = Text1.Text & Command1.Caption
End Sub
Private Sub Command2_Click()
If pritisnutjetasterplus = True Then
Text1.Text = ""
pritisnutjetasterplus = False
End If
Text1.Text = Text1.Text & Command2.Caption
End Sub
Private Sub Command3_Click()
zbir = zbir + Val(Text1.Text)
Text1.Text = zbir
pritisnutjetasterplus = True
End Sub
Private Sub Form_Load()
Command1.Caption = "1"
Command2.Caption = "2"
Command3.Caption = "+"
End Sub
Dim zbir As Integer
Dim pritisnutjetasterplus As Boolean
Private Sub Command1_Click()
If pritisnutjetasterplus = True Then
Text1.Text = ""
pritisnutjetasterplus = False
End If
Text1.Text = Text1.Text & Command1.Caption
End Sub
Private Sub Command2_Click()
If pritisnutjetasterplus = True Then
Text1.Text = ""
pritisnutjetasterplus = False
End If
Text1.Text = Text1.Text & Command2.Caption
End Sub
Private Sub Command3_Click()
zbir = zbir + Val(Text1.Text)
Text1.Text = zbir
pritisnutjetasterplus = True
End Sub
Private Sub Form_Load()
Command1.Caption = "1"
Command2.Caption = "2"
Command3.Caption = "+"
End Sub
Potpis
rgdrajko
izmenjeno 1 put, poslednji put GazdaSale 02.05.2007. u 18:54
Izmene poruke
- GazdaSale02.05.2007. u 18:54zapis iz teksta poruke
Hvala, uspeo sam, ali treba mi jos malo pomoci.
Kakav bi bio kod za =
I za ostale racunske radnje - / x
Kakav bi bio kod za =
I za ostale racunske radnje - / x
Pa pokusaj nesto i sam da uradis oko tog digitrona. Dobio si osnovni kod za ono sto si trazio.
Potpis
rgdrajko
Ok, hvala.
Pokusacu!
Pokusacu!
Evo kompletan kod za digitron.
Potpis
rgdrajko
Sta mi ne valja u dugmetu MINUS???
Code:
Deklaracija:
Dim razlika As Integer
Dim pritisnutjetasterminus As Boolean
Kod za dugme:
Private Sub Command3_Click()
razlika = razlika - Val(Text1.Text)
Text1.Text = razlika
pritisnutjetasterminus = True
End Sub
Deklaracija:
Dim razlika As Integer
Dim pritisnutjetasterminus As Boolean
Kod za dugme:
Private Sub Command3_Click()
razlika = razlika - Val(Text1.Text)
Text1.Text = razlika
pritisnutjetasterminus = True
End Sub
Ok evo na brzinu sam uradio ceo digitron sa svim brojevima, plus, minus, jednako i tasterom CE za brisanje. Sam uradi za mnozenje i deljenje. Poslao sam ti kod za digitron(kalkulator) koji je uradio slavni Microsoft. Sta njemu fali, zasto ga ne iskoristis.Ti vidi koji ti je laksi za ispravku.
Code:
'Program: Digitron
'Sastavio: rgdRajko
'Datum: 14.05.2007
'Verzija: 1.0.1
'Deklaracija
Dim memorisano As Long
Dim zbir As Long
Dim pritisnutnekiodtasterasabrojevima As Boolean
Dim pritisnutjetasterplus As Boolean
Dim vecjepritisnutjetasterplus As Boolean
Dim pritisnutjetasterminus As Boolean
Dim vecjepritisnutjetasterminus As Boolean
Dim pritisnutjetasterjednako As Boolean
'Tasteri 0 do 9
Private Sub cmdBroj1_Click()
Call proverazatasteresabrojevima
txtDisplej.Text = Val(txtDisplej.Text & cmdBroj1.Caption)
End Sub
Private Sub cmdBroj2_Click()
txtDisplej.Text = Val(txtDisplej.Text & cmdBroj2.Caption)
pritisnutnekiodtasterasabrojevima = True
End Sub
Private Sub cmdBroj3_Click()
Call proverazatasteresabrojevima
txtDisplej.Text = Val(txtDisplej.Text & cmdBroj3.Caption)
End Sub
Private Sub cmdBroj4_Click()
Call proverazatasteresabrojevima
txtDisplej.Text = Val(txtDisplej.Text & cmdBroj4.Caption)
End Sub
Private Sub cmdBroj5_Click()
Call proverazatasteresabrojevima
txtDisplej.Text = Val(txtDisplej.Text & cmdBroj5.Caption)
End Sub
Private Sub cmdBroj6_Click()
Call proverazatasteresabrojevima
txtDisplej.Text = Val(txtDisplej.Text & cmdBroj6.Caption)
End Sub
Private Sub cmdBroj7_Click()
Call proverazatasteresabrojevima
txtDisplej.Text = Val(txtDisplej.Text & cmdBroj7.Caption)
End Sub
Private Sub cmdBroj8_Click()
Call proverazatasteresabrojevima
txtDisplej.Text = Val(txtDisplej.Text & cmdBroj8.Caption)
End Sub
Private Sub cmdBroj9_Click()
Call proverazatasteresabrojevima
txtDisplej.Text = Val(txtDisplej.Text & cmdBroj9.Caption)
End Sub
Private Sub cmdBroj0_Click()
Call proverazatasteresabrojevima
txtDisplej.Text = Val(txtDisplej.Text & cmdBroj0.Caption)
End Sub
'Dugme "+"
Private Sub cmdPlus_Click()
If pritisnutnekiodtasterasabrojevima = True Then
If pritisnutjetasterplus = True Then
zbir = memorisano + Val(txtDisplej.Text)
memorisano = zbir
vecjepritisnutjetasterplus = True
txtDisplej.Text = zbir
End If
If pritisnutjetasterminus = True Then
zbir = memorisano - Val(txtDisplej.Text)
memorisano = zbir
txtDisplej.Text = zbir
End If
End If
pritisnutjetasterplus = True
pritisnutjetasterminus = False
vecjepritisnutjetasterminus = True
If vecjepritisnutjetasterplus = False Then
memorisano = Val(txtDisplej.Text)
vecjepritisnutjetasterplus = True
End If
pritisnutnekiodtasterasabrojevima = False
End Sub
'Dugme "-"
Private Sub cmdMinus_Click()
If pritisnutnekiodtasterasabrojevima = True Then
If pritisnutjetasterminus = True Then
zbir = memorisano - Val(txtDisplej.Text)
memorisano = zbir
vecjepritisnutjetasterminus = True
txtDisplej.Text = zbir
End If
If pritisnutjetasterplus = True Then
zbir = memorisano + Val(txtDisplej.Text)
memorisano = zbir
vecjepritisnutjetasterplus = True
txtDisplej.Text = zbir
End If
End If
pritisnutjetasterminus = True
pritisnutjetasterplus = False
vecjepritisnutjetasterplus = True
If vecjepritisnutjetasterminus = False Then
memorisano = Val(txtDisplej.Text)
vecjepritisnutjetasterminus = True
End If
pritisnutnekiodtasterasabrojevima = False
End Sub
'Dugme "="
Private Sub cmdJednako_Click()
If pritisnutjetasterjednako = False Then
If pritisnutnekiodtasterasabrojevima = True Then
If pritisnutjetasterplus = True Then
zbir = memorisano + Val(txtDisplej.Text)
memorisano = zbir
txtDisplej.Text = zbir
End If
If pritisnutjetasterminus = True Then
zbir = memorisano - Val(txtDisplej.Text)
memorisano = zbir
txtDisplej.Text = zbir
End If
End If
End If
pritisnutjetasterjednako = True
pritisnutjetasterplus = False
vecjepritisnutjetasterplus = False
pritisnutjetasterminus = False
vecjepritisnutjetasterminus = False
End Sub
'Dugme CE za brisanje svega
Private Sub cmdCe_Click()
vecjepritisnutjetasterplus = False
pritisnutnekiodtasterasabrojevima = False
memorisano = 0
txtDisplej.Text = "0"
End Sub
Private Sub Form_Load()
txtDisplej.Text = "0"
cmdBroj1.Caption = "1"
cmdBroj2.Caption = "2"
cmdBroj3.Caption = "3"
cmdBroj4.Caption = "4"
cmdBroj5.Caption = "5"
cmdBroj6.Caption = "6"
cmdBroj7.Caption = "7"
cmdBroj8.Caption = "8"
cmdBroj9.Caption = "9"
cmdBroj0.Caption = "0"
cmdPlus.Caption = "+"
cmdMinus.Caption = "-"
cmdJednako.Caption = "="
cmdCE.Caption = "CE"
End Sub
Public Sub proverazatasteresabrojevima()
If vecjepritisnutjetasterplus = True Then
vecjepritisnutjetasterplus = False
txtDisplej.Text = ""
End If
If vecjepritisnutjetasterminus = True Then
vecjepritisnutjetasterminus = False
txtDisplej.Text = ""
End If
pritisnutnekiodtasterasabrojevima = True
pritisnutjetasterjednako = False
End Sub
'Program: Digitron
'Sastavio: rgdRajko
'Datum: 14.05.2007
'Verzija: 1.0.1
'Deklaracija
Dim memorisano As Long
Dim zbir As Long
Dim pritisnutnekiodtasterasabrojevima As Boolean
Dim pritisnutjetasterplus As Boolean
Dim vecjepritisnutjetasterplus As Boolean
Dim pritisnutjetasterminus As Boolean
Dim vecjepritisnutjetasterminus As Boolean
Dim pritisnutjetasterjednako As Boolean
'Tasteri 0 do 9
Private Sub cmdBroj1_Click()
Call proverazatasteresabrojevima
txtDisplej.Text = Val(txtDisplej.Text & cmdBroj1.Caption)
End Sub
Private Sub cmdBroj2_Click()
txtDisplej.Text = Val(txtDisplej.Text & cmdBroj2.Caption)
pritisnutnekiodtasterasabrojevima = True
End Sub
Private Sub cmdBroj3_Click()
Call proverazatasteresabrojevima
txtDisplej.Text = Val(txtDisplej.Text & cmdBroj3.Caption)
End Sub
Private Sub cmdBroj4_Click()
Call proverazatasteresabrojevima
txtDisplej.Text = Val(txtDisplej.Text & cmdBroj4.Caption)
End Sub
Private Sub cmdBroj5_Click()
Call proverazatasteresabrojevima
txtDisplej.Text = Val(txtDisplej.Text & cmdBroj5.Caption)
End Sub
Private Sub cmdBroj6_Click()
Call proverazatasteresabrojevima
txtDisplej.Text = Val(txtDisplej.Text & cmdBroj6.Caption)
End Sub
Private Sub cmdBroj7_Click()
Call proverazatasteresabrojevima
txtDisplej.Text = Val(txtDisplej.Text & cmdBroj7.Caption)
End Sub
Private Sub cmdBroj8_Click()
Call proverazatasteresabrojevima
txtDisplej.Text = Val(txtDisplej.Text & cmdBroj8.Caption)
End Sub
Private Sub cmdBroj9_Click()
Call proverazatasteresabrojevima
txtDisplej.Text = Val(txtDisplej.Text & cmdBroj9.Caption)
End Sub
Private Sub cmdBroj0_Click()
Call proverazatasteresabrojevima
txtDisplej.Text = Val(txtDisplej.Text & cmdBroj0.Caption)
End Sub
'Dugme "+"
Private Sub cmdPlus_Click()
If pritisnutnekiodtasterasabrojevima = True Then
If pritisnutjetasterplus = True Then
zbir = memorisano + Val(txtDisplej.Text)
memorisano = zbir
vecjepritisnutjetasterplus = True
txtDisplej.Text = zbir
End If
If pritisnutjetasterminus = True Then
zbir = memorisano - Val(txtDisplej.Text)
memorisano = zbir
txtDisplej.Text = zbir
End If
End If
pritisnutjetasterplus = True
pritisnutjetasterminus = False
vecjepritisnutjetasterminus = True
If vecjepritisnutjetasterplus = False Then
memorisano = Val(txtDisplej.Text)
vecjepritisnutjetasterplus = True
End If
pritisnutnekiodtasterasabrojevima = False
End Sub
'Dugme "-"
Private Sub cmdMinus_Click()
If pritisnutnekiodtasterasabrojevima = True Then
If pritisnutjetasterminus = True Then
zbir = memorisano - Val(txtDisplej.Text)
memorisano = zbir
vecjepritisnutjetasterminus = True
txtDisplej.Text = zbir
End If
If pritisnutjetasterplus = True Then
zbir = memorisano + Val(txtDisplej.Text)
memorisano = zbir
vecjepritisnutjetasterplus = True
txtDisplej.Text = zbir
End If
End If
pritisnutjetasterminus = True
pritisnutjetasterplus = False
vecjepritisnutjetasterplus = True
If vecjepritisnutjetasterminus = False Then
memorisano = Val(txtDisplej.Text)
vecjepritisnutjetasterminus = True
End If
pritisnutnekiodtasterasabrojevima = False
End Sub
'Dugme "="
Private Sub cmdJednako_Click()
If pritisnutjetasterjednako = False Then
If pritisnutnekiodtasterasabrojevima = True Then
If pritisnutjetasterplus = True Then
zbir = memorisano + Val(txtDisplej.Text)
memorisano = zbir
txtDisplej.Text = zbir
End If
If pritisnutjetasterminus = True Then
zbir = memorisano - Val(txtDisplej.Text)
memorisano = zbir
txtDisplej.Text = zbir
End If
End If
End If
pritisnutjetasterjednako = True
pritisnutjetasterplus = False
vecjepritisnutjetasterplus = False
pritisnutjetasterminus = False
vecjepritisnutjetasterminus = False
End Sub
'Dugme CE za brisanje svega
Private Sub cmdCe_Click()
vecjepritisnutjetasterplus = False
pritisnutnekiodtasterasabrojevima = False
memorisano = 0
txtDisplej.Text = "0"
End Sub
Private Sub Form_Load()
txtDisplej.Text = "0"
cmdBroj1.Caption = "1"
cmdBroj2.Caption = "2"
cmdBroj3.Caption = "3"
cmdBroj4.Caption = "4"
cmdBroj5.Caption = "5"
cmdBroj6.Caption = "6"
cmdBroj7.Caption = "7"
cmdBroj8.Caption = "8"
cmdBroj9.Caption = "9"
cmdBroj0.Caption = "0"
cmdPlus.Caption = "+"
cmdMinus.Caption = "-"
cmdJednako.Caption = "="
cmdCE.Caption = "CE"
End Sub
Public Sub proverazatasteresabrojevima()
If vecjepritisnutjetasterplus = True Then
vecjepritisnutjetasterplus = False
txtDisplej.Text = ""
End If
If vecjepritisnutjetasterminus = True Then
vecjepritisnutjetasterminus = False
txtDisplej.Text = ""
End If
pritisnutnekiodtasterasabrojevima = True
pritisnutjetasterjednako = False
End Sub
Potpis
rgdrajko
Dim pritisnutnekiodtasterasabrojevima As Boolean??? 33 karaktera u imenu promenljive? Nadam se da ti ovo nije praksa. Citljivije bi bilo da si koristio CamelCase verziju ali opet je mnogo dugacko!
Do 40 znakova je dozvoljeno ime promenljive. Bolje je kada se zna sta promenljiva radi za kasnije kada se ispravlja .
Svako ima neko svoje iskustvo. Za ovih 25 godina sam uvideo da je tako bolje.
Svako ima neko svoje iskustvo. Za ovih 25 godina sam uvideo da je tako bolje.
Potpis
rgdrajko
Nisam želeo da se uključujem u ovu temu, jer sam od početka smatrao da postoji Microsoft-ov "Calc" kôd i da se iz njega mogu videti svi principi koji su za ovaj program potrebni. Ne bih ni sada da se nije pojavio ovaj glomazni kôd sa mamutskim promenljivama. Moje mišljenje je da ovo nije način na koji bi trebalo da se vrši edukacija i da treba poštovati opšte poznate i priznate načine programiranja koliko god to nekom bilo lakše ili ne.
@rgdrajko - Zaista nemam nameru da potcenim nečije znanje i iskustvo, ali naprosto ovako nešto ne treba "negovati".
@rgdrajko - Zaista nemam nameru da potcenim nečije znanje i iskustvo, ali naprosto ovako nešto ne treba "negovati".
@rgdrajko: ne znam odakle ti podatak o "dozvoljenoj" duzini imena promenljive, niko ti ne brani ni da svojoj promenljivoj das ime od 100+ karaktera ako tvoj kompajler to podrzava, ali kao sto dennycd2 rece ovo nije nacin kojim bi trebalo da se prenosi znanje, pogotovu pocetnicima.
evo ja sam na brzinu napisao jedan kalkulator (prikacen uz poruku)...
evo ja sam na brzinu napisao jedan kalkulator (prikacen uz poruku)...
I ja sam nešto slično napravio, pa da ne bude baš uzalud.
NumberPressed (u konretnom slucaju) bolje od
NumberButtonPressed mnogo bolje od
PritisnutNekiOdTasteraSaBrojevima bolje od
pritisnutnekiodtasterasabrojevima
Razlog nije duzina promenljive, vec duzina celog reda. U ovom slucaju se to ne primecuje toliko, ali akoimas negde izraz koji ukljucuje 5-6 promenljivih.. nepregledno je.
E sad, slazem se da svako radi onako kako mu odgovara. Medjutim, vreme (duze od 15god.) je pokazalo da vecini ne odgovaraju tako duga imena promenljivih a kako se kod retko pise samo za svoje oci, preporucljivo je koristiti onaj nacin koji vecini odgovara. Naravno, nije obavezno.
NumberButtonPressed mnogo bolje od
PritisnutNekiOdTasteraSaBrojevima bolje od
pritisnutnekiodtasterasabrojevima
Razlog nije duzina promenljive, vec duzina celog reda. U ovom slucaju se to ne primecuje toliko, ali akoimas negde izraz koji ukljucuje 5-6 promenljivih.. nepregledno je.
E sad, slazem se da svako radi onako kako mu odgovara. Medjutim, vreme (duze od 15god.) je pokazalo da vecini ne odgovaraju tako duga imena promenljivih a kako se kod retko pise samo za svoje oci, preporucljivo je koristiti onaj nacin koji vecini odgovara. Naravno, nije obavezno.
Postovani, pogledao sam vas kodove. Kada ja sa skoro 30 godina u programiranju u bejziku ne mogu na brz i lak nacin da razumem logiku vasih Digitrona odnosno kalkulatora, kako ce tek pocetnik to razumeti. Vasa primedba u vezi dugih imena varijabli je na svom mestu. Ovde sam namerno napisao tako duga imena da gospodin koji je zapoceo ovu temu razume o cemu se radi, pri cemu izbegavam da koristim engleska imena, po onom "govori srpski da te ceo svet razume".
Neka gospodin koji je zapoceo ovu temu presudi koji je od 4 gore ponudjenih digitrona najlaksi za razumevanje.
Neka gospodin koji je zapoceo ovu temu presudi koji je od 4 gore ponudjenih digitrona najlaksi za razumevanje.
Potpis
rgdrajko
Sto se tice konvencija i standarda za imenovanje u VB-u mislim da tu ne treba trositi reci i raspravljati se oko toga, evo sta Microsoft kaze http://msdn2.microsoft.com/en-us/library/aa240822(VS.60).aspx a inace to je nesto sto se stalno menja, tako da se vec za .NET standardi znatno razlikuju (napusta se madjarska notacija - izmedju ostalog).
Sto se mene tice, ako neko radi samo za sebe nije bitno koji standard koristi - bitno da ima neka pravila koja postuje (zbog sebe), a ako se radi u timu, ili ako neko drugi treba da cita tvoj kod (npr. ovde na elitesecurity) onda bi bilo kulturno da se poznaju i postuju osnovni standardi, a ne da neko sebi daje za pravo da donosi konacan sud. Sto se mene tice zovi ti promenljivu "vecjepritisnutjetasterminus" ako hoces (cini mi se da ima puno "je" u nazivu) ali mene, a i vecinu drugih koji to treba da citaju to iritira zato sto smo navikli na standarde.
Sto se tice digitrona, ne vidim zasto bi se pisao program za to, ali OK je u edukativne svrhe.
Sto se mene tice, ako neko radi samo za sebe nije bitno koji standard koristi - bitno da ima neka pravila koja postuje (zbog sebe), a ako se radi u timu, ili ako neko drugi treba da cita tvoj kod (npr. ovde na elitesecurity) onda bi bilo kulturno da se poznaju i postuju osnovni standardi, a ne da neko sebi daje za pravo da donosi konacan sud. Sto se mene tice zovi ti promenljivu "vecjepritisnutjetasterminus" ako hoces (cini mi se da ima puno "je" u nazivu) ali mene, a i vecinu drugih koji to treba da citaju to iritira zato sto smo navikli na standarde.
Sto se tice digitrona, ne vidim zasto bi se pisao program za to, ali OK je u edukativne svrhe.