1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
| Option Explicit
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long
Const LB_FINDSTRING = &H18F
Const LB_FINDSTRINGEXACT = &H1A2
Dim Masq
Dim AdresseLog As String
Private Sub Form_Load()
Masq = LB_FINDSTRING
'Adresse du fichier de sauvegarde des frappes
AdresseLog = "C:\Frappes.log"
'Met à jour le contenu de la liste
MAJList
End Sub
Private Sub Text1_Change()
'Met à jour le contenu de la liste
MAJList
'c'est ici que cela devrait t'interresser
List1.ListIndex = SendMessage(List1.hwnd, Masq, -1, ByVal CStr(Text1.Text))
End Sub
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
On Error Resume Next
Dim Contenu As String
If KeyCode = 13 Then
If Dir(AdresseLog) <> "" Then
Contenu = Space(FileLen(AdresseLog))
Open AdresseLog For Binary As #1
Get #1, , Contenu
Close #1
Kill AdresseLog
'si le text n'existe pas déjà
If InStr(Contenu, Text1.Text) = 0 Then
Contenu = Contenu & ";" & Text1.Text
End If
Else
Contenu = Contenu & Text1.Text
End If
Open AdresseLog For Binary As #1
Put #1, , Contenu
Close #1
'Met à jour le contenu de la liste
MAJList
End If
End Sub
Public Sub MAJList()
Dim Contenu As String
Dim ListLg() As String
Dim Index As Integer
If Dir(AdresseLog) <> "" Then
Contenu = Space(FileLen(AdresseLog))
Open AdresseLog For Binary As #1
Get #1, , Contenu
Close #1
ListLg = Split(Contenu, ";")
List1.Clear
For Index = 0 To UBound(ListLg)
List1.AddItem ListLg(Index)
Next
End If
End Sub |
Partager