AccessTr.neT
Visual Basic Yardım Lütfen ! - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Visual Basic .NET (https://accesstr.net/forum-visual-basic-net.html)
+--- Forum: Visual Basic .NET Soruları ve Cevapları (https://accesstr.net/forum-visual-basic-net-sorulari-ve-cevaplari.html)
+--- Konu Başlığı: Visual Basic Yardım Lütfen ! (/konu-visual-basic-yardim-lutfen.html)



Visual Basic Yardım Lütfen ! - Emre Dumangöz - 21/11/2014

Bir sorunum var, belki yine cevabı verebilirsiniz

İlk olarak oto hp veya mp pot basma amacım.
[Resim: VyqQXV.png]



Yukarıda gördüğünüz projenin "Gelişmiş Pot" bölümüdür.

İlk olarak F6 basınca fare ile tıkladığım yerdeki renk resimde gördüğünüz siyah alana (Panel) gönderiliyor. Yani bir nevi seçilmiş renk tutuluyor. F6 basınca Timer7 çalışıyor.

Timer7 :
En üstte "Public Class Form1" in altında aşağıdaki kodları ilgilendiren kodlar :

Kod:
Kod:
Dim sTmp As String
   Dim lColor As Integer

   Private Structure POINTAPI
       Dim x As Integer
       Dim y As Integer
   End Structure

   Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Integer, ByVal x As Integer, ByVal y As Integer) As Integer
   'UPGRADE_WARNING: Structure POINTAPI may require marshalling attributes to be passed as an argument in this Declare statement. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="C429C3A5-5D47-4CD9-8F51-74A1616405DC"'
   Private Declare Function GetCursorPos Lib "user32" (ByRef lpPoint As POINTAPI) As Integer
   Private Declare Function GetWindowDC Lib "user32" (ByVal hWnd As Integer) As Integer
   Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Integer) As Short
   Private Const VK_LBUTTON As Integer = &H1
   Private Const VK_RBUTTON As Integer = &H2

Timer7 nin içindekileri :

Kod:
Kod:
Dim tPOS As POINTAPI
       Dim lDC As Integer

       Xtxt.Text = MousePosition.X
       Ytxt.Text = MousePosition.Y


       If GetAsyncKeyState(VK_LBUTTON) Then
           lDC = GetWindowDC(0)
           Call GetCursorPos(tPOS)
           lColor = GetPixel(lDC, tPOS.x, tPOS.y)
           CPpanel.BackColor = System.Drawing.ColorTranslator.FromOle(lColor)

           sTmp = VB.Right("000000" & Hex(lColor), 6)
           Redtxt.Text = VB.Right(sTmp, 2)
           Greentxt.Text = Mid(sTmp, 3, 2)
           Bluetxt.Text = VB.Left(sTmp, 2)
           Timer9.Start()
           Timer7.Stop()
       End If

Timer7 ye göre tıkladığım yerdeki rengi alıyor, sonra Timer9 başlatılıyor ve Timer7 duruyor (bir daha renk almasın diye, ta ki F6 basıncaya kadar).

Timer9 da ise sorgu yapılacak. Yani önceden seçilen renk değişirse (Yani pot azalırsa) tuşa bas. Hangi tuşa TextBox11 'e yazılan tuşa.

Yaızlan tuşu  örnek ( 1,2,3,4) bastırırken 5 kere bassın o renk azalancaya kadar.Azalınca yine tuşa bassın 5 kere.
[Resim: PEL7MN.png]

Timer9 :

Kod:
Kod:
If sTmp.Equals(CPpanel.BackColor) Then
           au.Send(TextBox11.Text)
       Else
           Timer9.Stop()
       End If

[Resim: JEoVqY.png]


Sorun şu : Pot basıyor fakat durmuyor.
Cevaplarınızı bekliyorum. Şimdiden teşekkürler.

Çok ugrastım artık yapamadım size danısım dedim projenin amacı şu videoda açıkca belli oluor




Cvp: Visual Basic Yardım Lütfen ! - Emre Dumangöz - 24/11/2014

Bu konuda yardım alamıyacagım sanırım Img-cray


Cvp: Visual Basic Yardım Lütfen ! - C*e*l*o*y*c*e - 24/11/2014

merhaba
örneginiz ekli olsa en azından çalıştırılıp ,bakılır,konuyu siz biliyorsunuz,ne yapılacak siz biliyorsunuz,sadece benim anladıgım çalışan bir Timer olayının durmadıgı şeklinde,bunun için hangi Timer çalışıyorsa O timerin şartları oluştuktan sonra Timer...Stop() yapmalısın.. Daha sağlıklı cevap alabilmen için Örneğini ekle bence .kolay gelsin