Page 1 sur 1
Charger un fichier en data
Publié : mar. 24/avr./2007 13:08
par Ganagyre
Bonjour à tous.
Voila comment charger un fichier *.txt et mettre les valeurs qu'il contient en data.
Le fichier à charger se compose d'un nombre de lignes variables, contenant toujour le meme nombre de valeurs sur chaque ligne ( 10 , 20 , 30 ou plus )et separés soit par :
la virgule
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
...
ou par le point virgule
1;2;3;4;5;6;7;8;9;10;11;12;13;14;15
1;2;3;4;5;6;7;8;9;10;11;12;13;14;15
...
Peut'on par la meme occasion regler par une variable le nombre de lignes à prendre en compte .
Exemple CHOIX = 150 , pour ne prendre que les 150 premieres ligne du fichier . ET CHOIX = 0 , pour prendre toutes les lignes ?
Voila bonne journée à tous .
@ +
Publié : mar. 24/avr./2007 15:34
par Backup
ce programme te propose de choisir un fichier txt
puis il te demande ou tu veux sauvegarder le resultat
il faudra lui donner un nom ,ex : "data.pb"
voila c'est fini
puis ensuite si tu charge dans l'editeur "data.pb"
tu aura le resultat comme par magie
les data sont sauvé sous forme de ligne qui n'exede pas 10 données differentes
Global Dim ligne.s(1000)
ceci est pour un fichier de 1000 ligne maximum
If car<=10
ceci indique qu'il ne faut pas depasser 10 data par ligne
For t=0 To ligne
ici on peut regler le nombre de ligne a ecrire dans le fichier
voici le code :
; by Dobro
Fichier$ = OpenFileRequester ( "open_file" , "*.txt" , "" , 0)
OpenFile (1, Fichier$)
While Eof (1)=0
t2$ = t2$+ ReadString (1 , #PB_Ascii )
long=long+1
Wend
CloseFile (1)
intro$= "DataSection"
fin$= " EndDataSection"
a$= "Data.s "
Global Dim ligne.s(1000)
CallDebugger
For p=0 To Len (t2$)
car=car+1
If car<=10
t$= Str ( Asc ( Mid (t2$,p,1)))
ligne.s(ligne)= ligne.s(ligne)+t$+ ","
Else
car=0
ligne.s(ligne)= Left (ligne.s(ligne), Len (ligne.s(ligne))-1)
ligne=ligne+1
EndIf
Next p
NomFichier$ = SaveFileRequester ( "sauve data.pb" , "*.pb" , "" , 0)
OpenFile (1, NomFichier$)
WriteStringN (1, "; by Dobro" )
WriteStringN (1,intro$)
For t=0 To ligne
WriteString (1,a$)
WriteStringN (1,ligne.s(t))
Next t
WriteStringN (1, "" )
WriteStringN (1,fin$)
CloseFile (1)
Publié : mar. 24/avr./2007 15:40
par Backup
voici le mem prg mais qui sauve les caracteres dans les data
Fichier$ = OpenFileRequester ( "open_file" , "*.txt" , "" , 0)
OpenFile (1, Fichier$)
While Eof (1)=0
t2$ = t2$+ ReadString (1 , #PB_Ascii )
long=long+1
Wend
CloseFile (1)
;=== Test ===
intro$= "DataSection"
fin$= " EndDataSection"
a$= "Data.s "
Global Dim ligne.s(1000)
CallDebugger
For p=0 To Len (t2$)
car=car+1
If car<=10
t$= Mid (t2$,p,1)
ligne.s(ligne)= ligne.s(ligne)+t$+ ","
Else
car=0
ligne.s(ligne)= Left (ligne.s(ligne), Len (ligne.s(ligne))-1)
ligne=ligne+1
EndIf
Next p
NomFichier$ = SaveFileRequester ( "sauve data.pb" , "*.pb" , "" , 0)
OpenFile (1, NomFichier$)
WriteStringN (1, "; by Dobro" )
WriteStringN (1,intro$)
For t=0 To ligne
WriteString (1,a$)
WriteStringN (1,ligne.s(t))
Next t
WriteStringN (1, "" )
WriteStringN (1,fin$)
CloseFile (1)
Publié : jeu. 26/avr./2007 12:48
par Ganagyre
Bonjour .
Avec un peu de retard de ma part, merci Dobro .
Je vais etudier tout cela, encore merci pour les 2 post et le temps que tu y a consacré.
@ +