PC Ekspert Forum

PC Ekspert Forum (https://forum.pcekspert.com/index.php)
-   Web dizajn, programiranje i ostalo (https://forum.pcekspert.com/forumdisplay.php?f=39)
-   -   Visual basic 6 i Moduli ! - Pomoć (https://forum.pcekspert.com/showthread.php?t=146589)

malixx 02.05.2009. 17:57

Visual basic 6 i Moduli ! - Pomoć
 
Zna li tko zašto mi ovo ne radi, imam jedan modul i formu :

'file - Module1
'znači ovo je ubačeno u modul imenom module1
'r1 je textbox za upis, a b1 je label u kojem se mora ispisat

Sub Postavime(ByRef b1 As String)
If r1 > "6" Then b1 = "0"
If r1 = "6" Then b1 = "0"
If r1 = "5" Then b1 = "1"
If r1 = "4" Then b1 = "2"
If r1 = "3" Then b1 = "3"
If r1 = "2" Then b1 = "4"
MsgBox "lol"
End Sub

''A ovo je u formi gumb Command1
Private Sub Command1_Click()

Call Postavime(b1)

End Sub

I kaj je najbolje msgbox mi očitava na klik, znači da dobro radi,
samo neće mi izračunati ovo, kaj još moram da mi
se ovo ispiše, niš se ne pojavljuje u labelu (b1). Zašto?

thopok 03.05.2009. 01:48

Immutable object?
Može li tko potvrdit?

markaV 03.05.2009. 02:20

hu...na basicu 6 nisam radio. Ali NET ima istu semu, pa se nadam da je ovo u pitanju...

If r1 > "6" Then b1 = "0"

Gdje ti se javi problem i sta kaze?

Prva stvar je ta sto si stavio da je textbox = nesto...a trebas textbox.TEXT!!!!!
(objekt ne mozes usporedjivati sa vrijedosti!!!!!!!)
**ISTO I SA LABELOM
znaci:
If r1.text > "6" Then b1.text = "0"

tvoj textbox r1 tj. njegovu vrijedost (i to ako dodas .text) usporedjujes matematickom konstrukcijom sa stringom a ne brojem-stavio si 6 u navodnike.

BTW: koristi sluzbene nazive kontrola

label=lbl
TextBox=tb
Button=btn
.....vjeruj mi, dobro ti dodje kad nesto citas na netu..

Dule 03.05.2009. 02:39

Prvo, kakav to argument predajes u funkciju? Ta varijabla b1 je potpuno besmislena i nepotrebna :P

Evo rjesenje:

'module
'r1 je textbox, b1 je label, form se zove form1
Public Sub postaviMe()
If Form1.r1.Text > "6" Then Form1.b1.Caption = "0"
If Form1.r1.Text = "6" Then Form1.b1.Caption = "0"
If Form1.r1.Text = "5" Then Form1.b1.Caption = "1"
If Form1.r1.Text = "4" Then Form1.b1.Caption = "2"
If Form1.r1.Text = "3" Then Form1.b1.Caption = "3"
If Form1.r1.Text = "2" Then Form1.b1.Caption = "4"
MsgBox "lol"
End Sub

'form
Private Sub Command1_Click()
Call postaviMe
End Sub

P.S. Iako se VB ne buni na usporedjivanje stringova, to nije dobra praksa. Koristi radje numericke tipove, npr:
If Val(Form1.r1.Text) = 5 Then Form1.b1.Caption = "1"

markaV 03.05.2009. 02:48

I ja sam se pitao sto proslijedjuje finkciji tim stringom:)..


I koja ti je ovo fora:
If Form1.r1.Text > "6" Then Form1.b1.Caption = "0"
If Form1.r1.Text = "6" Then Form1.b1.Caption = "0"
imas znak >=, pa ga mozes upotrijebiti

thopok 03.05.2009. 02:54

Nema tu kraja, čini se.

markaV 03.05.2009. 03:02

Sta mu ovo znaci???

"Ovako, imam jako dugi kod u formi, te mi piše da zauzima previše prostora pa ne radi"

:)


Sva vremena su GMT +2. Sada je 01:53.

Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 1999-2024 PC Ekspert - Sva prava pridržana ISSN 1334-2940
Ad Management by RedTyger