Visual Basic 6 Basit Led Uygulaması (OLMADI..)

Başlatan veliusta, 22 Eylül 2012, 12:11:53

veliusta

Buton için Down ve Up kodları varmıdır.

Space ile Buton1 veya Buton2 ye gelip bastığımda yanmıyor.Bunu Nasıl yapabilirim...
Böyle Bir Kod varsa Buton1_Mouse kodlarınıda kaldırma şansın olur.
ve Klaveyedende resim gizlemek yerine butonu tıklattırabilirim.




http://www.mediafire.com/download.php?k6h9b53s99f9za9

serdararikan

butonun keypress özelliğine yazman lazım kodu.yoksa klavyeden girişleri algılayamazsın

veliusta

#2
keypress denedim kod kabul etmiyor. o farklı yazılıyor olamlı bilmiyorum. keypress yazınca parantez çıkıyor yanında oraya birşeyler yazıcaz sanırım.
tam olarak nasıl yazılacağını yazarmısınız?

muhittin_kaplan

veliusta,
botunu çift tıkladığında "click" olayı nın kod blogu gelir.
Kod pencerisinin sol üstünde "Button1" sağ tarafında "Click" yazan kutuucklar olur.
Sağ taraftaki click yazan yere tıkladığımızda butonla alakalı olaylar (events) görüntülenir. sen buradan keypress,keyup, yada key down u seçmelisin.
seçtikten sonra ekrana seçiminle alakalı kod blogu gelir.
o senden istediği basılan tuşu verir.

veliusta

#4
Öyle olursa sadece butonun üstündeyken kabul ediyor bu yüzden forma yazmışım.kodlara bakarsanız görürsünüz.

mesaj birleştirme:: 22 Eylül 2012, 16:43:02

Private Sub Buton1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image2.Visible = True
Image1.Visible = False
End Sub
Private Sub Buton1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image2.Visible = False
Image1.Visible = True
End Sub
Private Sub Buton2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image4.Visible = True
Image3.Visible = False
End Sub
Private Sub Buton2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image4.Visible = False
Image3.Visible = True
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKey1 Then Image2.Visible = True
If KeyCode = vbKey1 Then Image1.Visible = False
If KeyCode = vbKey2 Then Image4.Visible = True
If KeyCode = vbKey2 Then Image3.Visible = False
End Sub
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKey1 Then Image2.Visible = False
If KeyCode = vbKey1 Then Image1.Visible = True
If KeyCode = vbKey2 Then Image4.Visible = False
If KeyCode = vbKey2 Then Image3.Visible = True
End Sub
Private Sub Buton1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeySpace Then Image2.Visible = True
If KeyCode = vbKeySpace Then Image1.Visible = False
End Sub
Private Sub Buton1_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeySpace Then Image2.Visible = False
If KeyCode = vbKeySpace Then Image1.Visible = True
End Sub
Private Sub Buton2_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeySpace Then Image4.Visible = True
If KeyCode = vbKeySpace Then Image3.Visible = False
End Sub
Private Sub Buton2_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeySpace Then Image4.Visible = False
If KeyCode = vbKeySpace Then Image3.Visible = True
End Sub


Kodlar böyle olduğunda istediğim gibi oluyor fakat spaceyi basılı tuttup yön tuşları veya tab ile diğer butana geçtiğimde lamba yanık kalıyor.bunu nasıl düzeltebiliriz.

Aslında benim istediğim bu değil. Bu yazılan kodlar saçma geliyor. Belki daha iyi bir mantıkla yapılabilir diye yazdım.

Saçma Olan Şu: mause ile spaceyi yazmamız. Bunun yerine Buton1_ClickUp  ClickDown  gibi bir komut yapsalarmış iyi olurmuş. biz zaten mouse ile spaceye basağız boşuna uzun yol...

veliusta

bilen yokmu ? üç gündür arıyorum bulamadım.. :'( yapacağım programda 8 buton var. bu sorunu çözemessem buton yerine  resim olarak yapmak zorunda kalacağım. :(  8 Buton için 24 Resim ekleyeceğim  :(

Projenin son hali : http://www.mediafire.com/download.php?nhs1c5gn6cil810

muhittin_kaplan

veli tam olarak yapmak istediğini yazar mısın ?

veliusta

hocam yapmak istediğim. usb ile haberleşme devresi için uğraşıyorum.

bu programı onun için hazırlıyorum.
ama  programda  butona basılı tutup diğer butona geçtiğimizde diğer led yanık kalıyor..

programı açtığımızda butonların köşelerinde çizgiler oluyor. tab a bastığımzda çizgiler diğer butona geçiyor spaceye basıyoruz hani. o çizgileri yok etmek istiyorum.

ya da buton basılı iken diğer lede geçtiğimizde bir önceki led yanık kalıyor. sönsün istiyorum(işte bu programdaki  hatayı düzeltmek istiyorum)..

muhittin_kaplan

Butonun Seçili Olması dır o Buton etrafındaki çizgi Onu Default özelliğini Düzeltmen  için
Command1.Default = True
özelliğini değiştirmen gerekir.

Ayrıca Butona BAsılı Tutuğun Sürece Yansın Çektiğimde Led Sönsün İstiyorsan.
Butonun Altına Bir Bayrak Atarsın

Sözde Kodu

command1_click.......
static Bayrak as Boolean
if bayrak=true then
Led=On
Bayrak=False
Else
Led=Of
Bayrak=True
endif
end command1_click.......

Bu kodla Bastığında yanar tekrar bastığında söner.

rree

#9
Public Class Form1
    Dim DegButon1 As Boolean
    Dim DegButon2 As Boolean

    Private Sub Button1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseDown
        Label1.BackColor = Color.Red
        DegButon1 = True
    End Sub



    Private Sub Button1_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseUp
        Label1.BackColor = Color.Blue
        DegButon1 = False
    End Sub

    Private Sub Button2_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button2.MouseDown
        Label2.BackColor = Color.Red
        DegButon2 = True
    End Sub

    Private Sub Button2_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button2.MouseUp
        Label2.BackColor = Color.Blue
        DegButon2 = False
    End Sub
End Class

Vb.net basit bir buton örneği yazdım vb60 benzer şeyler  olması lazım.
MouseUp olayı ve MouseDown olay prosudurleri olması gerekir.
Butonun olaylar segmesinden MouseUP bul Sonra MouseDown 

veliusta

#10
Alıntı yapılan: muhittin_kaplan - 25 Eylül 2012, 11:58:29
Butonun Seçili Olması dır o Buton etrafındaki çizgi Onu Default özelliğini Düzeltmen  için
Command1.Default = True
özelliğini değiştirmen gerekir.

Ayrıca Butona BAsılı Tutuğun Sürece Yansın Çektiğimde Led Sönsün İstiyorsan.
Butonun Altına Bir Bayrak Atarsın

Sözde Kodu

command1_click.......
static Bayrak as Boolean
if bayrak=true then
Led=On
Bayrak=False
Else
Led=Of
Bayrak=True
endif
end command1_click.......

Bu kodla Bastığında yanar tekrar bastığında söner.


Buton1.Default = False yazdım olmadı. sadece bir butona yazabiliyoruz...diğerini kabul etmiyor.

Sözde Kodu

command1_click.......
static Bayrak as Boolean
if bayrak=true then
Led=On
Bayrak=False
Else
Led=Of
Bayrak=True
endif
end command1_click.......

Bu kodla Bastığında yanar tekrar bastığında söner.
[/quote]

bu kodu biliyorum ama toggle istemiyorum.
yinede yardımlarınız için teşkkür ederim.


mesaj birleştirme:: 26 Eylül 2012, 01:21:15

Alıntı yapılan: rree - 25 Eylül 2012, 19:29:00
Public Class Form1
    Dim DegButon1 As Boolean
    Dim DegButon2 As Boolean

    Private Sub Button1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseDown
        Label1.BackColor = Color.Red
        DegButon1 = True
    End Sub



    Private Sub Button1_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseUp
        Label1.BackColor = Color.Blue
        DegButon1 = False
    End Sub

    Private Sub Button2_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button2.MouseDown
        Label2.BackColor = Color.Red
        DegButon2 = True
    End Sub

    Private Sub Button2_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button2.MouseUp
        Label2.BackColor = Color.Blue
        DegButon2 = False
    End Sub
End Class

Vb.net basit bir buton örneği yazdım vb60 benzer şeyler  olması lazım.
MouseUp olayı ve MouseDown olay prosudurleri olması gerekir.
Butonun olaylar segmesinden MouseUP bul Sonra MouseDown

yapmışım ya bende aynısını. orası sorunsuz çalışıyor hocam.
Programa aç. Spaceye Basılı tut ve taba bas. LED Takılı kalıyor.
istersen mause ile basılı tutup tab a bas. aynı şey.
Programın exe halini indirin; anlarsınız ozaman ; http://s2.dosya.tc/server19/NJPHRm/Project1.exe.html

Hatanın özeti;
Programı açın butonun birine mause ile tıklayıp basılı tutun.mause u az aşağı indir basılı halde ve sol tuşa bas. led yanıyor??sonra normal tıklayarak. söndürün.
Spaceyei basılı tutun ye sağ tuşa basın yine led yanık kaldı :S

çözümü yoksa butonlar arası geçişi kitlemek istiyorum.

rree

Evet Bug
Geçici çözüm
Private Sub Form1_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp
        Button1_MouseUp(AcceptButton, AcceptButton)
    End Sub

Yukarıdaki olay ile butonu kapat

veliusta

hocam sizin verdiğiniz kod sanırım vb.net için vb6 da girilmiyor...

rree

 Verdiğim kodlar vb.net için Vb6 "Buton1MouseUp" Sub bir şekilde çağrılma yöntemi olması lazım.Vb.net dedğiniz klitlenme bu kod ile çözümlendi.

veliusta

#14
Private Sub Buton1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image2.Visible = False
Image1.Visible = True
End Sub

yazmışım ya?

mesaj birleştirme:: 28 Eylül 2012, 11:46:13

Private Sub Buton1_GotFocus()
Image3.Visible = True
Image4.Visible = False
End Sub
Private Sub Buton2_GotFocus()
Image1.Visible = True
Image2.Visible = False
End Sub

Sorunu buldum. Bunları yazınca düzeliyor. nedense çok saçma geliyor. alt tarafı butona basıldığında led yanacak.. bu kadar işlem çok fazla programda 8 led olacak. :S . ClickUp ClikDown komutlar yapsalarmış uğraşmazdım.


Visaul basic 6.0 da böyle form yapabilirmiyim? http://coder000.com/give-any-shape-to-your-form-in-vb-net/