[ACİL]Vb koduna timer eklemek

arabat
25-12-2008, 17:43   |  #1  
OP Taze Üye
Teşekkür Sayısı: 0
13 mesaj
Kayıt Tarihi:Kayıt: Ara 2008

arkadaşlar elimde bi kod var...

benim bu koda bi timer eklemem lazım.timer in her saniye kodu yeniden işletmesi (yani her saniye program yeni açılmış gibi programı tekrar çalıştırması) lazım...

bu timer kodunu bilen birisi var mı?..Ağlıyor

kod;

Private Declare Function GetDC Lib "user32.dll" (ByVal HWND As Long) As Long
Private Declare Function GetPixel Lib "gdi32.dll" (ByVal hdc As Long, ByVal nXPos As Long, ByVal nYPos As Long) As Long
Function NoktaSiyahmi(gelenRenkDegeriLongTurunden)
End Function
IF LongToRGB( gelenRenkDegeriLongTurunden, "R") = 0 AND &_ LongToRGB( gelenRenkDegeriLongTurunden , "G") = 0 AND &_ LongToRGB( gelenRenkDegeriLongTurunden , "B") = 0 THEN NoktaSiyahmi = True Else NoktaSiyahmi = False End If End Function


Dim stdout Dim renk Dim Xdeger, Ydeger
Xdeger = 505 Ydeger = 458 renk = GetPixel(GetDC(stdout), Xdeger, Ydeger)
If NoktaSiyahmi(renk) = True Then SendKeys ("2")
Dim stdout Dim renk Dim Xdeger, Ydeger
Xdeger = 505 Ydeger = 458 renk = GetPixel(GetDC(stdout), Xdeger, Ydeger)
If NoktaSiyahmi(renk) = True Then SendKeys ("2") End Sub

yani nokta siyah olduğunda tuşa basacak basit bi program...

Kapalı Hesap (79876)
25-12-2008, 21:46   |  #2  
Kapalı Hesap
Teşekkür Sayısı: 0
1,252 mesaj
Kayıt Tarihi:Kayıt: Tem 2008

 

Şu acil yazmanın mantığını anlamıyorum oraya acil yazınca yardım eden daha hızlı mı yazıyor. Sanmam.

Vb den hiç anlamam ama:
Bu kod galiba bir buton işlevi ile çalışıyo. Formuna bir timer ekle interval değerini 1000 yap timer ın event kısmına gel ontimer değerini button1click gibi bişey yap(yoksa olayına yaz). timer enable yapmayı unutma.

Benden bukadar.

arabat
26-12-2008, 21:50   |  #3  
OP Taze Üye
Teşekkür Sayısı: 0
13 mesaj
Kayıt Tarihi:Kayıt: Ara 2008

bende yazdıklarımı okumadan cevap yazanları anlamıyorum.kodun ne olduğu hakkında bilgim var.

enable yabtım zamanını ayarladım.

peki kod ne?..

sorduğum şey,yapıştırmam gereken kod...

acilin anlamı,işlem bi kaç günde en fazla bi haftada tamamlanmalı,gördüğünüzde cevabı ertelemeyin diyerek öncelik istemektir.

ayrıca forum kurallarında cil yazmayınız şeklinde bi metin okumadım ben?okudunuz mu siz...

secman
27-12-2008, 12:20   |  #4  
Yıllanmış Üye
Teşekkür Sayısı: 0
247 mesaj
Kayıt Tarihi:Kayıt: Ara 2008

kod full yanlış LongToRGB neye tanımlı bu kod çalışmaz

arabat
27-12-2008, 12:57   |  #5  
OP Taze Üye
Teşekkür Sayısı: 0
13 mesaj
Kayıt Tarihi:Kayıt: Ara 2008

nası yanlış yaw?..

açar mısın biraz daha...

Kapalı Hesap (79876)
27-12-2008, 13:45   |  #6  
Kapalı Hesap
Teşekkür Sayısı: 0
1,252 mesaj
Kayıt Tarihi:Kayıt: Tem 2008
arabat
bende yazdıklarımı okumadan cevap yazanları anlamıyorum.kodun ne olduğu hakkında bilgim var.

enable yabtım zamanını ayarladım.

peki kod ne?..

sorduğum şey,yapıştırmam gereken kod...

acilin anlamı,işlem bi kaç günde en fazla bi haftada tamamlanmalı,gördüğünüzde cevabı ertelemeyin diyerek öncelik istemektir.

ayrıca forum kurallarında cil yazmayınız şeklinde bi metin okumadım ben?okudunuz mu siz...

Vb den hiç anlamadığımı söyledim size eleştiri yapmanın mantığı ne ? Mesajı okudum ama kodları anlayamadım  o yüzden yüzeysel birr cevap verdim.

Hata bende bilmediğin konuda yardımcı olmaya çalışmamalıydım.

Forum kurallarında acil yazmak yasak diye bişey yazmıyo ama büyük harfle konu açmak yasak diye hatırlıyorum.

Son Düzenleme: Kapalı Hesap (101723) ~ 27 Aralık 2008 13:55
KuaforPlus
27-12-2008, 19:30   |  #7  
KuaforPlus avatarı
Yıllanmış Üye
Teşekkür Sayısı: 1
223 mesaj
Kayıt Tarihi:Kayıt: Nis 2007

Option Explicit
Private Declare Function GetDC Lib "user32.dll" (ByVal HWND As Long) As Long
Private Declare Function GetPixel Lib "gdi32.dll" (ByVal hdc As Long, ByVal nXPos As Long, ByVal nYPos As Long) As Long

Function NoktaSiyahmi(gelenRenkDegeriLongTurunden)
    If LongToRGB(gelenRenkDegeriLongTurunden, "R") = 0 And LongToRGB(gelenRenkDegeriLongTurunden, "G") = 0 And LongToRGB(gelenRenkDegeriLongTurunden, "B") = 0 Then
        NoktaSiyahmi = True
    Else
        NoktaSiyahmi = False
    End If
End Function

Private Sub Timer1_Timer()
Timer1.Interval = 1000
Dim stdout
Dim renk
Dim Xdeger, Ydeger
Xdeger = 505
Ydeger = 458
renk = GetPixel(GetDC(stdout), Xdeger, Ydeger)

If NoktaSiyahmi(renk) = True Then SendKeys ("2")
Dim stdout
Dim renk
Dim Xdeger, Ydeger
Xdeger = 505
Ydeger = 458
renk = GetPixel(GetDC(stdout), Xdeger, Ydeger)
If NoktaSiyahmi(renk) = True Then SendKeys ("2")
End Sub

yukarıdaki kodları form içine ekle, eklemeden önce formda hiç kod kalmasın.
sonra forma bir timer ekle.

kodlarının çoğu yanlıştı düzenledim. umarım işine yarar

arabat
27-12-2008, 19:54   |  #8  
OP Taze Üye
Teşekkür Sayısı: 0
13 mesaj
Kayıt Tarihi:Kayıt: Ara 2008

"Şu acil yazmanın mantığını anlamıyorum oraya acil yazınca yardım eden daha hızlı mı yazıyor. Sanmam."

sözü yüzünden yazdım onları Jewor.zaten başlıkta büyük harfle yazılmış değil...

ancak haklıydın.acil yazmamın anlamı yok...

girilmez;sağol...teşekkür ettim...

ama şey dicem...yani;

hata vermeden açtı program...ama çalışmadı sanırım...

nokta siyah olduğu halde tuşa falan basmadı...

sorun bende mi acaba...bir deneyebilir misin...

Son Düzenleme: arabat ~ 27 Aralık 2008 20:03
Kapalı Hesap (79876)
27-12-2008, 23:26   |  #9  
Kapalı Hesap
Teşekkür Sayısı: 0
1,252 mesaj
Kayıt Tarihi:Kayıt: Tem 2008

Bende baktığım da bişey anlamamıştım koddan demekki yanlışmış.
Sen gene çalıştırdın ben hiç çalıştıramdım hangi basic sürümünü kullanıyorsunuz siz ben vs2008 kullnıyorum longtorgb(); sendKeys(); fonk tanımıyor.

Basic ten biraz anlarım kusurabakma benden bu kadar.

arabat
27-12-2008, 23:33   |  #10  
OP Taze Üye
Teşekkür Sayısı: 0
13 mesaj
Kayıt Tarihi:Kayıt: Ara 2008

vb6 kullanıyorum...

ne yani;

kodu denemeden mi verdin...

Kapalı Hesap (79876)
28-12-2008, 11:13   |  #11  
Kapalı Hesap
Teşekkür Sayısı: 0
1,252 mesaj
Kayıt Tarihi:Kayıt: Tem 2008

Kodu ben vermedim :D Kodu veren Girilmez dğeilmiydi.

KuaforPlus
28-12-2008, 11:15   |  #12  
KuaforPlus avatarı
Yıllanmış Üye
Teşekkür Sayısı: 1
223 mesaj
Kayıt Tarihi:Kayıt: Nis 2007

yukarıdaki kodlar bir projenin sadece bir parçası.

sizin sürekli olarak, başka bir timer daha olabilir. aşağıdaki function'a rengin kodunu da vermek zorundasınız.

Function NoktaSiyahmi(gelenRenkDegeriLongTurunden)   


bunu başarabilirseniz ancak basar.


Ayrıca şunu bilmelisiniz.  SendKeys komutu o an hangi pencere açık ise ona gönderme yapar. Diyelim ki siz not defterini açın ve ekranda ön planda dursun, doğru renk değerini Function NoktaSiyahmi(gelenRenkDegeriLongTurunden) a verirseniz program kodlarından note defterine yazdığını görürsünüz.

Kısaca SendKeys komutu Aktif Olan Hangi Pencere Olursa Olsun Ona Tuşlama Yapar.

secman
28-12-2008, 13:06   |  #13  
Yıllanmış Üye
Teşekkür Sayısı: 0
247 mesaj
Kayıt Tarihi:Kayıt: Ara 2008

Sanırım yapmak istediğin siyah renkte uyarı almak öncelikle neyi
nasıl yapacağın belirlemen gerek formdaki renkmi resimdeki renkmi masa üstündeki renkmi? visual basic bir ofice programı değildir
öyle sananlar çok büyük bir yanlışın içine düşerler uzun senelerden beri
vb6 da programlar yapmaktayım neyin ne olduğunu bilmeden ordan burdan yarım yamalak kodlarla hiçbir yere varamazsın sana kendim yaptığım çalışan kodu veriyorum bu kodla basit bir oyun yapman bile mümkün umarım direkt olarak bu kodu ödev diye vermezsin


Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Type tRGB
    R As Integer
    G As Integer
    b As Integer
End Type
Dim mrgb As tRGB
Private Sub Form_Activate()
Me.FillStyle = vbFSSolid
Me.Circle (500, 500), Val(200), (RGB(0, 0, 0))
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
mrgb = RGBYap(Me.Point(X, Y))
If mrgb.R & mrgb.G & mrgb.b = "000" Then
MsgBox "dur"
End If
End Sub
Private Function RGBYap(l As Long) As tRGB
    RGBYap.R = l Mod &H100
    RGBYap.G = (l / &H100) Mod &H100
    RGBYap.b = (l / &H100 / &H100) Mod &H100
End Function

arabat
28-12-2008, 20:00   |  #14  
OP Taze Üye
Teşekkür Sayısı: 0
13 mesaj
Kayıt Tarihi:Kayıt: Ara 2008

sağolun çok yardımseversiniz...

ama ndense her kafadan ayrı ses çıkıyo...

ben ank diyorum...biri "a" ekliyo;diğeri "ara"...

yapmayın şunu...

tamam ben şimdi kodu oraya yapıştırınca çalışacak mı...

yhoksa projeden buraya denemeden yapıştırdın mı...

secman
28-12-2008, 20:25   |  #15  
Yıllanmış Üye
Teşekkür Sayısı: 0
247 mesaj
Kayıt Tarihi:Kayıt: Ara 2008

aynen kopyala form1 kod yerine yapıştır başka bir şey yapmana gerek yok kendim kodladım yaptım

arabat
28-12-2008, 21:22   |  #16  
OP Taze Üye
Teşekkür Sayısı: 0
13 mesaj
Kayıt Tarihi:Kayıt: Ara 2008

sağolasın da...

bu programın benim istediğim program olduğuna emin misin...

secman
28-12-2008, 23:57   |  #17  
Yıllanmış Üye
Teşekkür Sayısı: 0
247 mesaj
Kayıt Tarihi:Kayıt: Ara 2008

ne yapmak istediğin ben tam anlamadım geliştirmesi sana kalmış sendkeys eklemedim vermiş olduğun benim düzelttiğim kodla bu işlemi yapıyorsun senin istediğin forma timer ekliyorsun


Private Sub Form_Load()
Timer1.Interval = 1000
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
MsgBox Time, vbInformation
End Sub

Son Düzenleme: secman ~ 29 Aralık 2008 00:04
arabat
29-12-2008, 16:27   |  #18  
OP Taze Üye
Teşekkür Sayısı: 0
13 mesaj
Kayıt Tarihi:Kayıt: Ara 2008

sağol da...

benim yapmak istediğimle alakası yok...

sağol yinede..