AccessTr.neT

Tam Versiyon: Form Verilerinde Değişiklik Olup Olmadığını Kontrol Etmek
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3 4 5 6 7
Burada amaç kullanıcı bilgisayar başında mı yoksa bırakıp gitmiş mi yani herhangi bir hayat belirtisi arıyoruz 
mouse hareketi tıklama aktif control değişikliği value değişikliği her ne ise 
Bilgisayar başında mı değil mi. 
30 sn sonra tekrar baktığında bunlardan herhangi birinin değişmiş olması yeterli
Şöyle yapılabilir.60 saniye başladığında bir değişkene yada tabloya controladı formadı control değeri aktarılır.Donra if süre =30 then gibi koşul eklenir.Kafam karıştı iyice abey.Acayip acayip sorular Img-grin
Normalde problem şu eğer bir zat-ı muhterem bilgisyarar başındayken birşeye tıklamazsa ve maus ile sağa sola hareket ettirirse nesnelerle uğraşmadan bu durumda süre devamlı çalışırı o zaman nasıl olacak.Yani maus hareket etmesiylede süre durdurulmalı.Onuda bilmiyorum.Galiba başka yerde benzer bir dosya hatırlıyorum.Dediğimi anladınuz umarım yani maus eğer textboxa tıklanmazsa yada comboya ve adam mausu sadece oynatırsa süre durmaz buna çmzüm olmalı.

Çözebilirsem yazarım.
sanırım çözeceğim Img-grin
Senden kaçmaz
Üstadım alttaki kodla hallettim.Private Sub Ayrýntý_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) burda işin çözümümüş bende hep formMove ile uğraşıyordum.

Gereksiz kodları sildim.

Mantık şu eğer form üzerinde en ufak bir maus hareketinde süre 60 dan başlar hiç oynamazsa maus o zaman sıfıra kadar geri geri saım başlar.Eğer 30 a gelince orda ister  email kodları eklersiniz isterseniz mesaj kodları.

Bilmiyorum doğru oldumu.

txtSay bu textboxu silebilirsinizde onu sürei görün diye ekelmiştim.



Option Compare Database

Const sure As Long = 60 '1 dakika
Const saniye As Long = 1000 'saniye cinsi

Dim say As Byte

Private Sub Ayrýntý_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    say = 1
End Sub

Private Sub Form_Load()
    TimerInterval = saniye
End Sub

Private Sub Form_Timer()

    Static ExpiredTime
    Dim ExpiredMinutes
   
    On Error Resume Next
 
    If say = 1 Then
        ExpiredTime = 0
        say = 0
    Else
        ExpiredTime = ExpiredTime + Me.TimerInterval
    End If

    ExpiredMinutes = (ExpiredTime / saniye)
    Me.txtSay.Value = sure - ExpiredMinutes
   
    If sure - ExpiredMinutes = 30 Then
        Beep
'        MsgBox "uyuma calis...", vbInformation, "calisss"
        'msgbox yerine emailde yollandirilabilir
'        ExpiredTime = 0
    End If
   
    If sure - ExpiredMinutes <= 0 Then
          Beep
          MsgBox "uyuma calis...", vbInformation, "calisss"
          'Msgbox yerine dosya kapatma kodu eklenebilir.
          ExpiredTime = 0
    End If
 
End Sub
sn. @feraz son halini ekliyorum değişen neler var
kod çalışmasında sıkıntı olması endişesini bertaraf etmek için
sadece 10 sn de bir çalışacak veya ne kadar aralıklarla isterseniz (interva1 =10.000)

mouse 10 sn önceki yerde mi diye bakacak
aktif form veya aktif control veya aktif control value si değişmiş mi
eğer bunlardan biri değişmisse hala bilgisayar başında olduğunuzu düşünüp paniğe kapılmayacak
yok bunlar on saniye öncekinden farklı değilse mesaj verecek veya ne isterseniz onu yapacak
Sayfalar: 1 2 3 4 5 6 7