damdam1
Messages postés33Date d'inscriptionvendredi 31 octobre 2003StatutMembreDernière intervention 2 février 2004
-
7 nov. 2003 à 09:25
damdam1
Messages postés33Date d'inscriptionvendredi 31 octobre 2003StatutMembreDernière intervention 2 février 2004
-
17 nov. 2003 à 11:40
bonjour a tous j'ai grand besoin d'aide je dois lire un fichier.pas dans leqeuel les enregistrement sont comme suit18802,76.000000,76.000000,1023.775085,890.522461,160.387726,170.145584,165.668015,165.400452,0.000000,0.000000,0.000000,0.000000,15.752380,15.531122,17.189699,48.473202,13.515612,15.635038,13.032000,42.182648,20.755943,22.037926,21.571247,64.257507,0.758930,0.704742,0.796876,0.754357,45.994678,48.795116,47.508289,47.432693,428.595276,428.543793,429.641876,428.926971,15.535685,15.287236,16.958506,47.781425,12.134617,14.267576,11.359599,37.761791,19.713102,20.910843,20.411551,60.901703,0.788085,0.731064,0.830825,0.784565,1.737940,1.997172,1.524937,1.753350,23.655716,25.997746,25.248322,24.967260,14.477929,14.096754,15.829987,44.404671,314.767151,288.890900,333.197723,312.285278,6.843556,5.920488,7.013465,6.583756,121.082344,108.202675,140.141769,123.142601,98.326935,87.867783,113.804459,1,0,0,0.000000,76.000000,76.000000,76.000000,0.000000,0.000000,0.000000,0.000000,3.000000,0.000000,100.000000,20.013157,5.000000,2.000000, xxx Je dois récupérer chaque valeur entre les virgules pour les ranger dans les champs d'une table je travaille sur une version 5.0 de VB ajouter des commentaires car plus ca va moins je comprend le VB!!!(fo dire que je n'est débuté qu'il y a un mois !!!) d'avance merci a tous ;)
damdam1
Messages postés33Date d'inscriptionvendredi 31 octobre 2003StatutMembreDernière intervention 2 février 2004 7 nov. 2003 à 10:19
non le fichiers rajoute une ligne a chaque nouvelle coulee(tout les 45mn environ)je dois donc lire tout le fichier pour remplir la base puis enregistre ensuite les nouveau enregistrement( d'ailleurs s=i tu avis une idée la deszsus aussi nbre de ligne, comparaison...) par contre toute les lignes sont du meme type meme nombre de parametre
;)
cs_ludo24
Messages postés37Date d'inscriptionlundi 20 octobre 2003StatutMembreDernière intervention12 juillet 2007 7 nov. 2003 à 10:32
ok si tu dis que chq ligne a le meme nb de parametres c'est qu'il s'agit d'un fichier Random.
Moi je vois 2 solutions.
la + simple:
tu recuperes chaque valeur de ta ligne séparé par des virgules:
ouvre ton fichier et recupere la ligne:
NfNew=FreeFile
Open "c:\fichier.pas" For Input As #NfNew
Line Input #NfNew, StringLine
Close #NfNew
utilise INSTR pour chercher les virgules dans StringLine
LEFT , RIGHT ou MID pour recuperer une partie de StringLine.
la + efficace:
tu recuperes chaque valeur de ta ligne séparé par des virgules et tu l'affectes à une variable:
ouvre ton fichier et recupere la ligne:
NfNew=FreeFile
Open "c:\fichier.pas" For Input As #NfNew
Input #NfNew, Val1,Val2,Val3...
Close #NfNew
J'ai jamais essayé cette méthode mais va voir ds l'aide à "Input #"
damdam1
Messages postés33Date d'inscriptionvendredi 31 octobre 2003StatutMembreDernière intervention 2 février 2004 7 nov. 2003 à 10:50
le fichier est en fait un rapport d'automate il contient donc toujours le meme nbre de parametre par ligne tu crois qu'avec input je pe les affect ter directement au champ de ma table
;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
damdam1
Messages postés33Date d'inscriptionvendredi 31 octobre 2003StatutMembreDernière intervention 2 février 2004 7 nov. 2003 à 10:53
une precision importante pour automatiser la tache je me sert de when window activate dans excell car je dois egalement representer mes resultat sous forme de tableau et graphique il parait que c'est pas le meme VB?
;)
damdam1
Messages postés33Date d'inscriptionvendredi 31 octobre 2003StatutMembreDernière intervention 2 février 2004 7 nov. 2003 à 11:18
peut tu preciser pour la lecture du fichier
NfNew=FreeFile
Open "c:\fichier.pas" For Input As #NfNew
Line Input #NfNew, StringLine
Close #NfNew
est ce que ca récupére tout le contenu?
comment compter lenbre de ligne et reprendre depuis ce point par ex.
comment comparer la ligne obtenu a celle stockés dans la variable
dans ton deuxieme exemple
ouvre ton fichier et recupere la ligne:
NfNew=FreeFile
Open "c:\fichier.pas" For Input As #NfNew
Input #NfNew, Val1,Val2,Val3...
Close #NfNew
J'ai jamais essayé cette méthode mais va voir ds l'aide à "Input #"
Val1,Val2.... contienne la variable ou non ?
et encore merci de ton aide !!!!!
;)
cs_ludo24
Messages postés37Date d'inscriptionlundi 20 octobre 2003StatutMembreDernière intervention12 juillet 2007 7 nov. 2003 à 12:22
qd tu ouvres un fichier de cette maniere
tu te retrouves sur la premiere ligne du fichier
et a chaque lois que tu fais un "Line Input" il se deplace d'une ligne:
NfNew=FreeFile
Open "c:\fichier.pas" For Input As #NfNew
Line Input #NfNew, Toto '=> Toto contient la 1ere ligne
Line Input #NfNew, Toto2 '=> Toto2 contient la 2eme ligne
Line Input #NfNew, Toto3 '=> Toto3 contient la 3eme ligne
Close #NfNew
Important: Tu peux aussi te servir de la boucle suivante pour lire toutes les lignes. EOF signifie "End Of File"
Do while not EOF(NfNew)
Line Input #NfNew, Toto
loop
Ceci te permet aussi d'atteindre la derniere ligne...
>"Val1,Val2.... contienne la variable ou non ?"
Si j'ai bien compris, Val1, Val2... contiennent tout simplement les data de ta ligne qui sont separees par des virgules, c'est a dire ds ton exemple:
val1=18802
val2=76.000000
val3=76.000000
...
damdam1
Messages postés33Date d'inscriptionvendredi 31 octobre 2003StatutMembreDernière intervention 2 février 2004 7 nov. 2003 à 13:30
OK je commence à comprendre !!
encore quelque questions :
- pour eviter les doublons vo mieux comparer le champ Val1 et son équivalent dans la table ou comparer le nbre de lignes ou les chaines de caracteres
- comment comparer 2 string ou 2 parties de string
- Damned j'ai une erreur d'execution 62 l'entrée depasse la fin du fichier c quoi ??
;)
cs_ludo24
Messages postés37Date d'inscriptionlundi 20 octobre 2003StatutMembreDernière intervention12 juillet 2007 7 nov. 2003 à 13:43
>- pour eviter les doublons vo mieux comparer le champ >Val1 et son équivalent dans la table ou comparer le nbre de >lignes ou les chaines de caracteres
c pas evident a dire sans avoir la totalité des infos. moi je ferais plutot par ligne mais fo etre certain ke ce soit fiable. Le mieux c de combiner les 2: ligne + valeur
>- comment comparer 2 string ou 2 parties de string
If string1 = string2 then???
>- Damned j'ai une erreur d'execution 62 l'entrée depasse la >fin du fichier c quoi ??
Sans doute as tu dépassé l'EOF du fichier que tu lisais
damdam1
Messages postés33Date d'inscriptionvendredi 31 octobre 2003StatutMembreDernière intervention 2 février 2004 17 nov. 2003 à 11:40
aucune des méthodes essayer jusqu'ici en vb5 ne marche les utilisateurs ne voulant pas passez a vb 6 je ne vois plus de solutions et je crois que je vais abandonner le projet