Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190
iCentar » Racunari i oprema » Programirannje i baze podataka » Access » Key preview
zxz 12.07.2012 19:22
Predmet:Key preview

Interesantno pitanje na elte.
Potrebna pomoć.
Citat:
Kako da izgleda kod koji aktivira neku radnju (msgbox) kada su pritisnute odjednom dve i viÅ¡e tipki na tastaturi (recimo K i A daje jedan rezultat, K,A i D daje drugi rezultat, a posebno K, posebno A i posebno D daju svaki za sebe različite rezultate)
Hvala

Imate li ideju kako ovo rijesiti?

zxz 13.07.2012 10:42
Predmet:Re: Key preview

Timer interval=800
Key preview=Yes
PreuzmiIzvorni kôd (Visual Basic):
  1. Option Compare Database
  2. Option Explicit
  3. Dim Vrijeme
  4. Dim Znak As Integer
  5.  
  6.  
  7. Private Sub Form_KeyPress(KeyAscii As Integer)
  8. If Vrijeme = 0 Then
  9. Vrijeme = Timer
  10. End If
  11.  
  12. Vrijeme = Timer - Vrijeme
  13. If Chr(KeyAscii) = "A" Or Chr(KeyAscii) = "D" Or Chr(KeyAscii) = "K" Then
  14.     If Vrijeme < 0.5 Then
  15.     Vrijeme = Timer
  16.     Znak = Znak + KeyAscii
  17.     Else
  18.     Znak = 0
  19.     Vrijeme = 0
  20.     End If
  21. Else
  22.     Znak = 0
  23.     Vrijeme = 0
  24. End If
  25. End Sub
  26.  
  27. Private Sub Form_Timer()
  28.  
  29. Select Case Znak
  30.  
  31. Case 97, 65
  32. MsgBox "pritisnuto A"
  33. Case 100, 68
  34. MsgBox "pritisnuto D"
  35. Case 107, 75
  36. MsgBox "pritisnuto K"
  37. Case 197, 133
  38. MsgBox "pritisnuto AD"
  39. Case 204, 140
  40. MsgBox "pritisnuto AK"
  41. Case 207, 143
  42. MsgBox "pritisnuto DK"
  43. Case 304, 208
  44. MsgBox "pritisnuto ADK"
  45. End Select
  46. Znak = 0
  47. Vrijeme = 0
  48. End Sub

pmiroslav 13.07.2012 11:49
Predmet:Re: Key preview

Ovo je vrlo interesantna stvar i malo sam sada to isprobavao i doÅ¡ao sam na ideju da pomoču ovog koda selektiram subforme na glavnoj formi. malo sam prepravio tvoj kod:
PreuzmiIzvorni kôd (vbnet):
  1. Private Sub Form_KeyPress(KeyAscii As Integer)
  2. If Vrijeme = 0 Then
  3. Vrijeme = Timer
  4. End If
  5.  
  6. Vrijeme = Timer - Vrijeme
  7. If Chr(KeyAscii) = "A" Then
  8.     If Vrijeme < 0.5 Then
  9.     Vrijeme = Timer
  10.     Znak = Znak + KeyAscii
  11.     Else
  12.     Znak = 0
  13.     Vrijeme = 0
  14.     End If
  15. Else
  16.     Znak = 0
  17.     Vrijeme = 0
  18. End If
  19. End Sub
  20.  
  21. Private Sub Form_Timer()
  22.  
  23. Select Case Znak
  24.  
  25. Case 97, 65
  26. Forms!frmEvidencija.Form!frmRealizacijaSub.SetFocus
  27. MsgBox "Selektirana je subforma A"
  28.  
  29. End Select
  30. Znak = 0
  31. Vrijeme = 0
  32. End Sub

i stavio to na prvu subformu. Kada pritisnem tipku 'A' fokus se prebaci na drugu subformu. Ali sa druge subforme ne radi. Razlog je valjda Å¡to su u prvoj subformi sva polja zaljučana, a u drugoj nisu pa mi se znak A upisuje u textBox.
A i mislio sa ovo izvesti sa strelicama ili sa tabom ali neznam koji im je Ascii kod
Prilozi:
PrimjerKey.rar (Velicina datoteke:113.12 KB)

zxz 13.07.2012 12:39
Predmet:Re: Key preview

Najbolje je sa funkcijski tasterima sa slovima nije dobro jer ih uvijek koristimo za nesto.
Ovo je kao zadatak za vjezbu samo dobro.

U prilogu ASC II kodovi
Prilozi:
ASC.zip (Velicina datoteke:262.90 KB)

pmiroslav 13.07.2012 12:47
Predmet:Re: Key preview

U spisku koji si prikvačio ne vidim nigdje funkcijske tastere, niti tab strelice i sl. kako sa time ide.

zxz 13.07.2012 12:57
Predmet:Re: Key preview

Napravi praznu formu i KeyPReview stavi na Yes.
Postavi ovaj kod i zaustavi tok na end sub.
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)

End Sub

U KeyCode procitaj kod svakog tastera.

pmiroslav 13.07.2012 13:39
Predmet:Re: Key preview

Ovo je super. Jedino Å¡to ne mogu naći slobodan taster. Koji god uzmem svaki mi neÅ¡to Å¡eće po tablici.
Mislio sam koristiti lijevu i desnu strelicu ASCII im je 37 i 39 ali strelice mi tjeraju kursot po poljima u formi. Da li se to može nekako isključiti pa da te tastere koristim za ovaj moj slučaj?

zxz 13.07.2012 13:57
Predmet:Re: Key preview

Meni
Tools--->Startup
Kliknes na advanced pa iskljucis Access key special

pmiroslav 16.07.2012 07:33
Predmet:Re: Key preview

Pogledao sam primjer 'PrimjerBarKod od miro32 i u njemu sam vidio primjer otvaranja i zatvaranja forme 'frmKolicina' sa TAB tipkom. Tako nešto bi i meni trebalo, ali nisam mogao odgonetnuti kako to radi. Vidim da ima dosta skrivenih kontrola ispod ListBox2.
Ako može molim objašnjenje kako to radi.

pmiroslav 16.07.2012 09:13
Predmet:Re: Key preview

Citiraj pmiroslav:
Pogledao sam primjer 'PrimjerBarKod od miro32 i u njemu sam vidio primjer otvaranja i zatvaranja forme 'frmKolicina' sa TAB tipkom. Tako nešto bi i meni trebalo, ali nisam mogao odgonetnuti kako to radi. Vidim da ima dosta skrivenih kontrola ispod ListBox2.
Ako može molim objašnjenje kako to radi.
PronaÅ¡ao sam u međuvremenu ovaj kod ali kod mene to ne radi:
PreuzmiIzvorni kôd (vbnet):
  1. Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  2. Select Case KeyCode
  3. Case vbKeyF8
  4. Call Command41_Click
  5. Case vbKeyTab
  6. Call Command111_Click
  7. Case vbKeyEnd
  8. Call Command123_Click
  9. End Select
  10. End Sub