Line Input #fichier_client_index, enreg_clients T_client_index(i, 1) = Mid(enreg_clients, 1, 3) T_client_index(i, 2) = Mid(enreg_clients, 4)
Private Sub LISTERTOUS_Click() initialiser Open "H:\Cours\OMGL\OMGL 1\tpfichiers\client" For Random As fichier_client TEXTEFICHIER = "" nbrC = 0 i = 1 While Not EOF(fichier_client) ' 2/ Lecture des données du fichier client et transfére dans le champ TEXTEFICHIER. Get fichier_client, , enreg_client ' Format du numero pour avoir un truc bien aligné i = Format(i, "@@@") 'Ajout au fur à mesure de la nouvelle chaine TEXTEFICHIER = TEXTEFICHIER & i & "|" & enreg_client.Numcli & "|" & enreg_client.Nom & "|" & enreg_client.Prenom & "|" & enreg_client.Cp & Chr(13) & Chr(10) ' Incrémentation du nombre de clients nbrC = nbrC + 1 'ecriture dans le tableau '(i,1) -> colonne 1 T_client_index(i, 1) = enreg_client.Nom '(i,2) -> colonne 2 T_client_index(i, 2) = i 'Boucle while donc incrementation du i i = i + 1 Wend 'Affichage du nombre de client NBRCLIENT = nbrC Close fichier_client 'Ecriture du tableau sous forme d'un fichier séquentiel Open "H:\Cours\OMGL\OMGL 1\tpfichiers\client_index" For Output As fichier_client_index For i = 1 To UBound(T_client_index) 'A chaque tour de boucle on passe a la ligne ( au client ) suivant 'on met la ligne ( mais 2 colonnes ) dans la même chaine client = T_client_index(i, 2) & T_client_index(i, 1) 'Pour ecrire la chaine client dans un fichier "client_index" 'supprimer et créée automatiquement a chaque clic sur le bouton Print #fichier_client_index, client Next Close fichier_client_index End Sub Private Sub TRIER_Click() 'efface le contenu du tableau T_client_index Erase T_client_index 'On relis fichier_client_index et on remplis le tableau Open "H:\Cours\OMGL\OMGL 1\tpfichiers\client_index" For Input As fichier_client_index For i = 1 To UBound(T_client_index) Line Input #fichier_client_index, enreg_clients ' Pour chaque nouvelle ligne au decoupe avec Mid 'Pour le nom de 4 à la fin T_client_index(i, 1) = Mid(enreg_clients, 4) 'Pour le numero de 1 à 3 T_client_index(i, 2) = Mid(enreg_clients, 1, 3) Next 'Boucle qui tri le tableau dans l'ordre alphabétique Dim rowword As Integer Dim row As Integer Dim word1, word2 As String row = UBound(T_client_index, 1) - 1 For i = 1 To UBound(T_client_index, 1) - 1 For iter = 0 To row 'Comparaison des valeurs If LCase(T_client_index(iter, 1) & T_client_index(iter, 2)) > LCase(T_client_index(iter + 1, 1) & T_client_index(iter + 1, 2)) Then 'On stock dans des variables temporaire pour intervertire 'Deja fait en Algo word1 = T_client_index(iter, 1) word2 = T_client_index(iter, 2) 'On remplace par les nouvelles T_client_index(iter, 1) = T_client_index(iter + 1, 1) T_client_index(iter, 2) = T_client_index(iter + 1, 2) 'On affecte la valeur la plus grande a la suite T_client_index(iter + 1, 1) = word1 T_client_index(iter + 1, 2) = word2 End If Next iter row = row - 1 Next i 'Affichage dans TEXTETRIER du tableau TEXTETRIER = "" For i = 1 To UBound(T_client_index) If T_client_index(i, 1) <> "" Then TEXTETRIER = TEXTETRIER & T_client_index(i, 1) & "|" & T_client_index(i, 2) & Chr(13) & Chr(10) nbrL = nbrL + 1 End If Next 'Nombre total de client NBRELEMENT = nbrL Close fichier_client_index End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPrint #fichier_client_index, client
Ensuite on écrit le tableau sous forme d'un fichier séquentiel
On relis le fichier crée en 2 et on rempli le tableau
Type Record ' Désigne un type défini par l'utilisateur.
ID As Integer
Name As String * 20
End Type
Dim MyRecord As Record, RecordNumber ' Déclare les variables.
' Ouvre le fichier en accès aléatoire.
Open "FICHTEST" For Random As #1 Len = Len(MyRecord)
For RecordNumber = 1 To 5 ' Effectue la boucle 5 fois.
MyRecord.ID = RecordNumber ' Définit l'identificateur.
MyRecord.Name = "Mon nom" & RecordNumber ' Crée une chaîne.
' Écrit l'enregistrement dans le fichier.
Put #1, RecordNumber, MyRecord
Next RecordNumber
Close #1 ' Ferme le fichier.
Get, instruction, exemple Cet exemple utilise l'instruction Get afin de lire les données d'un fichier et de les écrire dans une variable. Nous supposons que FICHTEST est un fichier contenant cinq enregistrements de type Record défini par l'utilisateur . Type Record ' Désigne un type défini par l'utilisateur. ID As Integer Name As String * 20 End Type Dim MyRecord As Record, Position ' Déclare les variables. ' Ouvre l'exemple de fichier en accès aléatoire. Open "FICHTEST" For Random As #1 Len = Len(MyRecord) ' Lit l'exemple de fichier à l'aide de l'instruction Get. Position = 3 ' Définit le numéro d'enregistrement. Get #1, Position, MyRecord ' Lit le troisième enregistrement. Close #1 ' Ferme le fichier.
toto = "1234567BLABLA" nume = Val(toto) reste = Mid(toto, Len(CStr(nume)) + 1) MsgBox reste & vbCrLf & nume