15. oktober 2004 - 22:53Der er
14 kommentarer og 1 løsning
Sluk ved keypress
Hej eksperter Jeg har lavet et program. Jeg kunne godt tænke mig at vide hvordan jeg fx får programmet til at lukke ned når jeg trykker "peter" på tastaturet. Jeg mener det er inde i: Private Sub Keypress_Click Men hvad skal der så stå???
Dim logget As String Private Sub Form_KeyPress(KeyAscii As Integer) streng_der_skal_findes = "peter" logget = logget & Chr(KeyAscii) logget = Right(logget, Len(streng_der_skal_findes)) If streng_der_skal_findes = logget Then MsgBox ("FUNDET") End If End Sub
Det er muligt, du har ret i det. Men VB-formen skal have focus og en eller anden kontrol har det jo så også. Undertiden vil programmører noget ret uovervejet. Nu må vi se når det igen bliver dag og spørgeren vender tilbage.
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Sub Form_Load() With Timer1 '<- Husk Timer1 på din Form1 .Interval = 1 .Enabled = True End With End Sub
Private Sub Timer1_Timer() Dim strKey As String Dim strName As String Static strSave As String Static strLarstKey As String
'------------------------------------------------------ ' Her skriver du det navn som skal udfør din exit kode. '------------------------------------------------------ strName = "Peter" '------------------------------------------------------
strKey = GetPressedKey If strKey <> strLarstKey Then strLarstKey = strKey strSave = (Right$(strSave, Len(strName) - 1) & strLarstKey) If strSave = strName Then '------------------------------------------------------ ' Her udfør den din exit kode. '------------------------------------------------------ MsgBox "Farvel " & strName & " kom snart igen.", vbInformation Unload Me '------------------------------------------------------ End If End If
End Sub
Public Function GetPressedKey() As String Dim i As Long For i = 32 To 128 If GetAsyncKeyState(i) <> 0 Then If GetAsyncKeyState(16) <> 0 Then ' <- 16 er SHIFT GetPressedKey = Chr$(i) ' <- STORE BUGSTAVER Else GetPressedKey = LCase$(Chr$(i)) ' <- små bugstaver End If Exit For End If Next End Function '--------------------------------------- Form1 ---------------------------------------
jeg bryder mig ikke om at spørgere hjemtager egne point. Det er naturligvis i orden, hvis ingen gennemtænkte, brugbare svar er givet. Men når 'eksperter' anstrenger sig for at søge at forstå uklare spørgsmål og komme med forslag, så bør spørgeren også præcisere sit spørgsmål og hvorfor svarene ikke kan anvendes. Derfor har jeg kigget på andre spørgsmål som maxfli har svaret på, og der er flere andre med samme udfald. Da Maxfli ikke er den eneste der bærer sig sådan ad, vil jeg blot lufte min misbilligelse. Jeg mangler overhovedet ikke point og er faktisk ligeglad, men jeg synes at de som svarer, fortjener den respekt at spørgeren begrunder sin afvisning af svar.
Jeg er enig med Jørn... Synes det er dårlig stil fra maxfli, og jeg synes at en forklaring er på rette plads... Ellers skal vi jo til at snakke med nogle co-admins...
maxfli er deaktiveret da han ignorerede min henvendelse. Hav en fortsat god weekend.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.