Jump to content

[Vb] Lecture dans un fichier


KMui

Recommended Posts

Bonjour,

Je suis debutant en vb et voila mon probleme :

J'ai un fichier texte de ce type :

13 150

10 75

LE premier nombre est le numero de produit et le deuxieme est la quantité.

L'espace entre les deux nombres est une tabulation. C'est cela qui me pose de probleme, j'arrive pas à la tester et passé au deuxieme chiffre.

Ainsi je voudrais recuperer le premier nombre dans la variable 'code' et le deuxieme dans la variable 'qte'.

Merci de votre aide !

Link to comment
Share on other sites

Sauf si c'est un exercice de style, il vaut mieux créer des fichiers textes séquentiels de longueur fixe, ex :

ce code qui n'est pas fonctionnel directement : la procédure lecture montre surtout la syntaxe...

Option Explicit

Public Type Enregistrement            'longeur totale : Y = 2 + X + 2
   St_NumeroProduit As String * 2
   St_Quantité As String * X           'X=nbre de caractères selon la qté la + grande
   St_CaracFin As String * 2           'CR & LF, les 2 caractères de fin d'enregistrement
End Type

Public Sub Lecture(code as integer,)
   Dim St_Fichier As String
   Dim E_Enregistrement As Enregistrement
   Dim L_NumEnreg As Long, L_NombEnreg As Long
   Dim NumeroProduit As Integer, Quantité As Integer

   St_Fichier = "C:\Répertoire\Fichier.txt"
   Open St_Fichier For Random As #1 Len = Len(E_Enregistrement)

   If Err = YY Then
       ' gestion éventuelle d'erreur en ouverture
   End If

   L_NombEnreg = LOF(1) \ Len(E_Enregistrement)    'nb d'enregistrements ds fichier
   For L_NumEnreg = 1 To L_NombEnreg Step 1
       Seek #1, L_NumEnreg            'positionnement sur l'enregistrement
       Get #1, , E_Enregistrement     'récupération de l'enregistr.

       code = Trim(E_Enregistrement.St_NumeroProduit)
       Qte = Trim(E_Enregistrement.St_Quantité)

       ' Traitement de tes valeurs code & Qte

   Next L_NumEnreg

   Close #1     'fermeture du fichier

Exit Sub

:yes:

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...