Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

command buton i klik na njega

[es] :: Visual Basic 6 :: command buton i klik na njega

[ Pregleda: 3104 | Odgovora: 18 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Asmir86
Asmir Mujagic
BiH

Član broj: 30129
Poruke: 23
*.lu1.dlp101.bih.net.ba.



Profil

icon command buton i klik na njega30.05.2007. u 19:39 - pre 205 meseci
Pozdrav svima na forumu!

Imam jedno pitanje!

Kako da sa cmdbuton-om vrsim neku operaciju dok je ono pritisnuto, a kad ga "pustim" ta operacija prestaje sa radom?

Asmir
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
89.216.220.*

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: command buton i klik na njega30.05.2007. u 20:27 - pre 205 meseci
Pa jedino što mi pada napamet je da ubaciš neku petlju u MouseDown event i prekineš je na MouseUp. Ovako nešto
Code:
Option Explicit
Dim a As Long
Dim Running As Boolean

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Running = True
Do While Running = True
DoEvents
a = a + 1
Loop
End Sub

Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Running = False
MsgBox a
End Sub

-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: command buton i klik na njega30.05.2007. u 20:32 - pre 205 meseci
Ili Timer koji bi radio po istom principu. Mada, zavisi od toga sta treba da se izvrsava...
 
Odgovor na temu

Sija

Član broj: 19607
Poruke: 83
*.PPPoE-3194.sa.bih.net.ba.



+8 Profil

icon Re: command buton i klik na njega30.05.2007. u 21:20 - pre 205 meseci
Ili dodaj microsoft forms 2.0 pa pokusaj sa ToggleButton. Ja njega koristim za te stvari.
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
89.216.220.*

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: command buton i klik na njega30.05.2007. u 22:20 - pre 205 meseci
ToggleButton radi po istom principu kao i CommandButton, osim što može da se ostavi ulegnutim, ali opet to neće vršiti nikakvu operaciju automatski dok je pritisnuto, osim ukoliko mu ne zadaš neku petlju, ili Timer kao što Shadowed reče, koji će da ponavlja zadatu operaciju dok je dugme pritisnuto...
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

Asmir86
Asmir Mujagic
BiH

Član broj: 30129
Poruke: 23
*.lu1.dlp140.bih.net.ba.



Profil

icon Re: command buton i klik na njega30.05.2007. u 23:14 - pre 205 meseci
Ma probat cu nesto skrpit od toga
Asmir
 
Odgovor na temu

rgdrajko
Beograd

Član broj: 117734
Poruke: 710
80.93.249.*



+3 Profil

icon Re: command buton i klik na njega31.05.2007. u 00:30 - pre 205 meseci
Ili ovako.

Code:

Dim n As Long

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    'Izvrsavanje nekog koda dok je misompritisnut command1 npr:
    For n = 1 To 1000000000
        DoEvents
    Next n
End Sub

Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    'Izvrsavanje nekog koda se cim se pusti taster misa sa command1
    Print n
    'Stop
End Sub

Private Sub Form_Unload(Cancel As Integer)
    End
End Sub

rgdrajko
 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: command buton i klik na njega31.05.2007. u 07:46 - pre 205 meseci
Evo konacno rjesenje:

Code:

Option Explicit

Dim n As Long
Dim a

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    T1.Enabled = True
    T1.Interval = 100
End Sub

Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Print n
    T1.Enabled = False
    n = 0
    a = 0
    Label1.Caption = ""
End Sub

Private Sub T1_Timer()
    For n = 1 To 1000000000
        If T1.Enabled = False Then
            Exit Sub
        Else
            DoEvents
            Call Pisi
            Debug.Print n
        End If
    Next n
End Sub

Public Sub Pisi()
If n >= a Then
    Label1.Caption = Label1.Caption & "a"
    a = a + 200
End If
End Sub


rgdrajko jesi li ti probao svoj kod?



[Ovu poruku je menjao dava dana 31.05.2007. u 08:58 GMT+1]
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
89.216.213.*

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: command buton i klik na njega31.05.2007. u 14:10 - pre 205 meseci
@rgdrajko
Zašto koristiti For...Next petlju tamo gde joj nije mesto ? For... Next se koristi onda kada postoji određeni broj ponavljanja, a traženo je da se operacija ponavlja neograničeno sve dok je pritisnut button. Pored toga, nisi obezbedio izlaz iz petlje što znači da će se operacija izvršiti milijardu puta bez obzira da li držiš button ili si ga pustio. Dakle, tvoje rešenje neće raditi ono što je traženo

@dava
Čemu korišćenje For... Next u Timer-u koji će ionako da se ponavlja u određenom intervalu. Totalno bespotrebno. Ako već hoće da koristi Timer, dovoljno je
Code:
Option Explicit

Dim n As Long

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    n = 0
    T1.Interval = 100
    T1.Enabled = True
End Sub

Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    T1.Enabled = False
    Print n
End Sub

Private Sub T1_Timer()
    n = n + 1
End Sub

-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

rgdrajko
Beograd

Član broj: 117734
Poruke: 710
*.vdial.verat.net.



+3 Profil

icon Re: command buton i klik na njega31.05.2007. u 15:34 - pre 205 meseci
Nisam proveravao kod, pisao sam iz glave.
Evo resenja bez koriscenja timera.

Code:

Dim n As Long
Dim otpustenojedugme As Boolean

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Static brojac
    'Izvrsavanje nekog koda dok je misompritisnut command1 npr:
    Do
        Label1.Caption = brojac
        If otpustenojedugme = True Then
            otpustenojedugme = False
            Exit Do
        End If
        brojac = brojac + 1
        DoEvents
   Loop
End Sub

Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    'Izvrsavanje nekog koda se cim se pusti taster misa sa command1
    otpustenojedugme = True
End Sub

Private Sub Form_Load()
    Label1.Caption = "0"
    Command1.Caption = "Pritisni"
End Sub

Private Sub Form_Unload(Cancel As Integer)
    End
End Sub

rgdrajko
 
Odgovor na temu

Asmir86
Asmir Mujagic
BiH

Član broj: 30129
Poruke: 23
*.lu1.dlp253.bih.net.ba.



Profil

icon Re: command buton i klik na njega31.05.2007. u 20:15 - pre 205 meseci


Probat cu ovaj kod bez timera, pa cemo da vidimo kakav je rezultat
Asmir
 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: command buton i klik na njega01.06.2007. u 07:52 - pre 205 meseci
@Marko_L nije bespotrebno. Na taj nacin sam rjesio da mogu da podesavam ucestalost neke radnje koja ce se izvrsavati. Uzmi moj kod i pokreni ga, a zatim promijeni onu vrijednost 200 u 2000 pa ga opet pokreni. ;)

SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
89.216.213.*

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: command buton i klik na njega01.06.2007. u 13:05 - pre 205 meseci
Pa upravo zato je preloženo rešenje sa Timerom, da bi se podešavala učestalost izvršavanja operacije prostom promenom intervala. Ako nije potrebno tako nešto, onda je dovoljno iskoristiti Do... Loop petlju. Tvoje rešenje naravno radi, ali mi se čini da je bespotrebno zakomplikovano. U svakom slučaju, autor teme je dobio više rešenja i sa podesivom učestalošću izvršavanja i bez, pa nek iskoristi ono koje mu najviše odgovara. Ionako niko ne može da mu kaže šta će mu najbolje pasovati kada nije napisao šta zapravo hoće da napravi.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

Asmir86
Asmir Mujagic
BiH

Član broj: 30129
Poruke: 23
*.lu1.dlp210.bih.net.ba.



Profil

icon Re: command buton i klik na njega01.06.2007. u 18:28 - pre 205 meseci

Da dobio sam rjesenja i vise nego sam mislio da cu da dobijem. Hvala u svakom slucaju.
Program bi radio recimo ovako:

povecavanje brojeva dok je cmdbuton pritisnut

A je od 0-k recimo

Text1.text = A

gdje se 'k' povecava sve dok je cmdbuton pritisnut, a kad se "pusti" povecavanje brojeva prestaje.

Pa cu da vidim ove sve odgovore koji bi mo dobro odgovarao.

Hvala svima!
Asmir
 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: command buton i klik na njega02.06.2007. u 09:08 - pre 205 meseci
Provjerio sam kod rgdrajko-a i vidjeo da neradi posao pa sam ga prepravio. Istina je da je moglo jednostavnije.
Pozdrav.


SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

rgdrajko
Beograd

Član broj: 117734
Poruke: 710
80.93.249.*



+3 Profil

icon Re: command buton i klik na njega02.06.2007. u 11:40 - pre 205 meseci
Citat:
dava: Provjerio sam kod rgdrajko-a i vidjeo da neradi posao pa sam ga prepravio. Istina je da je moglo jednostavnije.
Pozdrav.


Uopste mi nisi jasan. Od svih primera si uzeo bas moj i kazes da ne radi posao pa si ga ti prepravio. Kako si mogao da ga prepravis ako ne radi posao? Program pefektno radi onako kako sam ja razumeo tvoj problem. Znam da je mnogo jednostavnije inace ga ne bih ni pravio. Uostalom postavi taj tvoj kod da vidimo kakve si ti to ogromne izmene izvrsio.
rgdrajko
 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: command buton i klik na njega02.06.2007. u 13:33 - pre 205 meseci
Kad sam pogledao ovaj topic, procitao problem Asmir86, vidjeo da ima par ponudjenih rjesenja. Tvoj post je bio poslednji, otvorio VB, copy - paste tvog koda, kad ono beskonacna petlja. To savrseno radi samo ako si bas tako zamislio, kako kazes. Onda sam napravio par izmjena (imas kod par primjera prije) i rjesio problem Asmir86.
Marko_L je ukazao na ne optimisticnost koda tj. da je moglo sa manje koda sto je u redu, postujem.

Ne znam samo zasto si se ti uvrijedio? Inace provjeri kod radi li, prije nego sto ga okacis na forum.
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

rgdrajko
Beograd

Član broj: 117734
Poruke: 710
80.93.249.*



+3 Profil

icon Re: command buton i klik na njega02.06.2007. u 16:12 - pre 205 meseci
Citat:
dava: Kad sam pogledao ovaj topic, procitao problem Asmir86, vidjeo da ima par ponudjenih rjesenja. Tvoj post je bio poslednji, otvorio VB, copy - paste tvog koda, kad ono beskonacna petlja. To savrseno radi samo ako si bas tako zamislio, kako kazes. Onda sam napravio par izmjena (imas kod par primjera prije) i rjesio problem Asmir86..


O cemu ti pricas? Kakva beskonacna petlja? Tajmer koristi jedino kada moras.
Hoces reci da ovaj kod ima beskonacnu petlju i da ne radi ovo:

Citat:
Asmir86
Program bi radio recimo ovako:

povecavanje brojeva dok je cmdbuton pritisnut

A je od 0-k recimo

Text1.text = A

gdje se 'k' povecava sve dok je cmdbuton pritisnut, a kad se "pusti" povecavanje brojeva prestaje.



Evo pored istog koda ispod dajem ti i program u zip fajlu da pogledas.

Code:

Dim n As Long
Dim otpustenojedugme As Boolean

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Static brojac
    'Izvrsavanje nekog koda dok je misompritisnut command1 npr:
    Do
        Label1.Caption = brojac
        If otpustenojedugme = True Then
            otpustenojedugme = False
            Exit Do
        End If
        brojac = brojac + 1
        DoEvents
   Loop
End Sub

Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    'Izvrsavanje nekog koda se cim se pusti taster misa sa command1
    otpustenojedugme = True
End Sub

Private Sub Form_Load()
    Label1.Caption = "0"
    Command1.Caption = "Pritisni"
End Sub

Private Sub Form_Unload(Cancel As Integer)
    End
End Sub

rgdrajko
Prikačeni fajlovi
 
Odgovor na temu

Asmir86
Asmir Mujagic
BiH

Član broj: 30129
Poruke: 23
*.lu1.dlp207.bih.net.ba.



Profil

icon Re: command buton i klik na njega02.06.2007. u 20:07 - pre 205 meseci

Bas ti hvala rgdrajko! Tako sam nesto i mslio napraviti.

OK i hvala jos jednom svima na pomoci
Asmir
 
Odgovor na temu

[es] :: Visual Basic 6 :: command buton i klik na njega

[ Pregleda: 3104 | Odgovora: 18 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.