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 :D

les data sont sauvé sous forme de ligne qui n'exede pas 10 données differentes :D


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é.


@ +