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 .
@ +
Charger un fichier en data
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
ceci est pour un fichier de 1000 ligne maximum
ceci indique qu'il ne faut pas depasser 10 data par ligne
ici on peut regler le nombre de ligne a ecrire dans le fichier
voici le code :
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)
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)