Posielanie hodnoty premennej do serioveho portu – Visual Basic – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Posielanie hodnoty premennej do serioveho portu – Visual Basic – Fórum – Programujte.comPosielanie hodnoty premennej do serioveho portu – Visual Basic – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Milos
~ Anonymní uživatel
25 příspěvků
26. 2. 2014   #1
-
0
-

Ahojte, som tu prvý krát a som vo VB zaciatocnik. Potreboval by som poradit ohladom posielania hodnoty premennej do serioveho portu. V podstate mi stale posiela len "je nulovy" tzn. ze v premenna Striekacka=0?

Dakujem

Private Sub Command1_Click()
Select Case Striekacka
    Case 0
      MSComm1.Output = "je nulovy"
    Case 2
      MSComm1.Output = "2"
    Case 5
      MSComm1.Output = "5"
    Case 10
      MSComm1.Output = "10"
    Case 15
      MSComm1.Output = "15"
    Case 20
      MSComm1.Output = "20"
    Case 50
      MSComm1.Output = "50"
End Select
End Sub

Private Sub Option1_Click()
'Static Striekacka As Integer
Striekacka = 2
End Sub

Nahlásit jako SPAM
IP: 62.197.220.–
Reklama
Reklama
ing0
Stálý člen
27. 2. 2014   #2
-
0
-

#1 Milos
aj ja som zaciatocnik, ale vidim v tom kode chybu, premennu striekacka mate deklarovanu pri Option1_click, to znamena, ze hned po opusteni Option1_click uz ta premenna neexistuje, deklarujte ju mimo procedury aby bola dostupna v celom Forme a samozrejme ju odkomentujte

dim Striekacka As Integer

Private Sub Command1_Click()
Select Case Striekacka
    Case 0
      MSComm1.Output = "je nulovy"
    Case 2
      MSComm1.Output = "2"
    Case 5
      MSComm1.Output = "5"
    Case 10
      MSComm1.Output = "10"
    Case 15
      MSComm1.Output = "15"
    Case 20
      MSComm1.Output = "20"
    Case 50
      MSComm1.Output = "50"
End Select
End Sub

Private Sub Option1_Click()
Striekacka = 2
End Sub
Nahlásit jako SPAM
IP: 213.81.137.–
V programovani som uplna lama, ale som samouk tak sa nesmejte
Milos
~ Anonymní uživatel
25 příspěvků
4. 3. 2014   #3
-
0
-

#2 ing
 

mám to takto, ale stále to nefunguje. Ak premennej pridelím nejaku hodnotu viď. "príklad" tak to funguje. Som akosi bezradný.

Private Sub Command1_Click()
Dim Striekacka As Byte

"príklad" Striekacka = 2
If Striekacka = 0 Then MSComm1.Output = "je nulovy"
If Striekacka = 2 Then MSComm1.Output = "2"
If Striekacka = 5 Then MSComm1.Output = "5"
If Striekacka = 10 Then MSComm1.Output = "10"
If Striekacka = 15 Then MSComm1.Output = "15"
If Striekacka = 20 Then MSComm1.Output = "20"
If Striekacka = 50 Then MSComm1.Output = "50"
End Sub

Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.Settings = "2400,n,8,1"
MSComm1.PortOpen = True
End Sub

Private Sub Option1_Click()
Striekacka = 2
End Sub

Private Sub Option2_Click()
Striekacka = 5
End Sub

Private Sub Option3_Click()
Striekacka = 10
End Sub

Private Sub Option4_Click()
Striekacka = 15
End Sub

Private Sub Option5_Click()
Striekacka = 20
End Sub

Private Sub Option6_Click()
Striekacka = 50
End Sub

Private Sub tmrTimer_Timer()
txtDisplay.Text = txtDisplay.Text + Chr(13) + MSComm1.Input
End Sub

Nahlásit jako SPAM
IP: 62.197.243.–
Milos
~ Anonymní uživatel
25 příspěvků
4. 3. 2014   #4
-
0
-

#3 Milos
skusal som ju deklarovat aj v Form_Load() ale nejde to stale

Nahlásit jako SPAM
IP: 62.197.243.–
z
~ Anonymní uživatel
268 příspěvků
4. 3. 2014   #5
-
0
-

A proč ji deklaruješ znova? Pokud ti to takto jde zkompilovat, tak už tam asi tu proměnnou Striekacka máš a je viditelná ve všech těch procedurách. Kromě Command1_Click, ve které ji deklaruješ znova jako lokální, takže se pracuje s ní a ne tou, kterou z dalších procedur nastavuješ. Takže odtamtud ji vyhoď.

Nahlásit jako SPAM
IP: 88.101.8.–
ing0
Stálý člen
5. 3. 2014   #6
-
0
-

#4 Milos
ako pisal "z", premenna stale nieje delkarovana pre cely form ale iba pre command1_click, uvediem priklad

Private Sub Command1_Click()
textbox1.text = striekacka  'premenna striekacka bude prazdna, pretoze ked opustis form_load premenna striekacka zanikne
End Sub

Private Sub Form_Load()
Dim Striekacka As Byte
striekacka = 2
End Sub

namiesto toho pouzi toto

Dim Striekacka As Byte  'premenna striekacka je deklarovana pre cely form, tak ked opustis form_load tak v striekacke ostane hodnota ktoru si tam priradil

Private Sub Command1_Click()
textbox1.text = striekacka  
End Sub

Private Sub Form_Load()
striekacka = 2
End Sub
Nahlásit jako SPAM
IP: 213.81.137.–
V programovani som uplna lama, ale som samouk tak sa nesmejte
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 13 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý