Lecteur de fichiers aleatoires (random)


Description

Ce programme n'a rien d'extraordinaire (aucune astuce ni de nouveautés). Je le trouve simplement utile : lorsqu'on a créé plusieurs fichiers aléatoires, il est possible qu'on ait besoin de les lire pour vérifier leur contenu. Editer avec le bloc-note n'est pas très pratique alors j'ai fabriqué une interface qui permet de les lire.
Vous devez choisir le type de variables stockées dans le fichier et vous pouvez exporter le contenu dans un fichier texte.

Source / Exemple :


Option Explicit

Private i As Long
Private valeur As Variant
Private numType As Integer
Private reponse As String, nomfichier As String

Private varString As String
Private varInteger As Integer
Private varLong As Long
Private varSingle As Single
Private varDouble As Double
Private varBoolean  As Boolean
Private varDate As Date

Private Sub CmdExport_Click()

Open "export.txt" For Output As #1

    For i = 1 To TxtNombre.Text
         Print #1, (List1.List(i - 1))
    Next
    
Close #1

reponse = MsgBox("Données exportées vers Export.txt", vbInformation, "Exporter")

End Sub

Private Sub CmdQuitter_Click()
End
End Sub

Private Sub Dir1_Change()
File1 = Dir1
End Sub

Private Sub Drive1_Change()
Dir1 = Drive1
End Sub

Private Sub Afficher()

If numType = 0 Then
    numType = 1 'type par défaut => string
End If 'numType = 0

nomfichier = Dir1 & "\" & File1

List1.Clear

If nomfichier = "" Then
    reponse = MsgBox("Fichier non sélectionné !", vbExclamation, "Fichier non sélectionné")
    Exit Sub
End If 'nomfichier = ""

If IsNumeric(TxtNombre.Text) = False Then
    reponse = MsgBox("Nombre d'entrée non valide !", vbExclamation, "Nombre d'entrée")
    Exit Sub
End If 'IsNumeric(TxtNombre.Text) = False

Open nomfichier For Random As #1

On Error GoTo fbn

For i = 1 To TxtNombre.Text
    
    Call Choixtype 'donne la valeur selon le type
    List1.AddItem i & "    " & valeur
    
Next

CmdExport.Enabled = True 'autorise l'exportation
Close #1

Exit Sub

fbn:
reponse = MsgBox("Fichier non lisible ou type incorrect !", vbExclamation, "fichier non lisible")

Close #1

End Sub

Private Sub File1_Click()

nomfichier = File1

CmdExport.Enabled = False
Call Afficher

End Sub

Private Sub TxtNombre_Change()

Call Afficher

End Sub

Private Sub Type_Click(Index As Integer)

numType = Index

If nomfichier = "" Then
    reponse = MsgBox("Choisissez un fichier maintenant ", vbInformation, "Fichier")
Else
    Call Afficher
End If 'nomfichier = ""

End Sub

Private Sub Choixtype()

Select Case numType
    Case 1
        Get #1, i, varString
        valeur = varString
    Case 2
        Get #1, i, varInteger
        valeur = varInteger
    Case 3
        Get #1, i, varLong
        valeur = varLong
    Case 4
        Get #1, i, varSingle
        valeur = varSingle
    Case 5
        Get #1, i, varDouble
        valeur = varDouble
    Case 6
        Get #1, i, varBoolean
        valeur = varBoolean
    Case 7
        Get #1, i, varDate
        valeur = varDate
End Select

End Sub

Conclusion :


Si vous ne pouvez pas lire le zip, voici les contrôles à mettre dans la Form:

-drivelistBox (drive1)
-dirlistBox (dir1)
-filelistBox (file1)
-7 optionButton en groupe de contrôle : Type(index de 1 à 7)
avec comme caption : string,integer,long,single,double,boolean,date
-un bouton "Quitter" (CmdQuitter)
-un bouton "Exporter vers *.txt" (CmdExport)
-une listBox (list1)
-un texteBox (TxtNombre) pour le nb de lignes à lire dans le fichier

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.