Conversion de fichier texte
Publié : jeu. 28/janv./2016 2:34
Bonsoir à tous,
Avant tout, ceci est mon premier post sur ce forum
Je suis un "pti jeune" dans le monde de PureBasic.
Avant d'exposer mon problème je tenais à dire que j'ai pas mal regardé l'aide du soft et traîné sur le forum mais je n'ai pas réussis à faire ce que je voulais...
Voici mon but :
Je voudrais récupérer un fichier texte qui contient des valeurs séparées par des tabulation et recréer un fichier en changeant l'ordre de ces valeurs. Ça, j'y arrive.
Mon problème :
Je voudrais que sur la première ligne (et uniquement la première ligne) ma variable type$ ait la valeur "hard" et sur toute les autres lignes, la valeur "auto".
Je découperais ensuite ce fichier de sortie en plusieurs fichiers texte de 200 lignes.
Je ne veux pas relire mon fichier de sortie et faire un remplacement mais plutôt lors de la création de mon fichier de sortie (ce qui, je pense, est plus "propre" non ?)
Voici la partie de mon code :
Je pense être vraiment pas loin... mais il y a un mais...
Merci beaucoup de vos lumières...
Avant tout, ceci est mon premier post sur ce forum

Avant d'exposer mon problème je tenais à dire que j'ai pas mal regardé l'aide du soft et traîné sur le forum mais je n'ai pas réussis à faire ce que je voulais...
Voici mon but :
Je voudrais récupérer un fichier texte qui contient des valeurs séparées par des tabulation et recréer un fichier en changeant l'ordre de ces valeurs. Ça, j'y arrive.
Mon problème :
Je voudrais que sur la première ligne (et uniquement la première ligne) ma variable type$ ait la valeur "hard" et sur toute les autres lignes, la valeur "auto".
Je découperais ensuite ce fichier de sortie en plusieurs fichiers texte de 200 lignes.
Je ne veux pas relire mon fichier de sortie et faire un remplacement mais plutôt lors de la création de mon fichier de sortie (ce qui, je pense, est plus "propre" non ?)
Voici la partie de mon code :
Code : Tout sélectionner
Procedure Traitement()
PtTableau.l
Pourcent.l
;*
;* On regarde si il y a des fichiers dans le watchfolder.
;*-------------------------------------------------------
Repeat
FlagExamRep=1
If WatchFolder2Tab(ReperIn$, ".plt") ; Pas de fichier dans le rep. source.
;*
;* Si oui ReperIn$ ---> ReperOut$.
;*--------------------------------
For PtTableau=0 To NbFichWatch-1
Chy$=TabRepSrc$(1, PtTableau)
; Chr(9) veut dire "Tabulation"
If OpenFile(#Fichier, ReperIn$+Chy$) ; Ouvre le fichier plt qu'il y a dans le dossier inbox
CreateFile(#FichierVideo, ReperOut$+Chy$+"_SGT.txt")
Repeat
If Eof(#Fichier)
CloseFile(#Fichier)
CloseFile(#FichierVideo)
Break
EndIf
Texte$ = ReadString(#Fichier )
ID$ = StringField(Texte$, 1, Chr(9)) ; On isole l'ID
Playtime$ = StringField(Texte$, 5, Chr(9)) ; On isole l'heure de play
Duration$ = StringField(Texte$, 7, Chr(9)) ; On isole la durée du media
If PtTableau=0 ;type$ = "auto" ; Si ligne 1 mettre "hard" et sur les autres "auto"
Else type$ = ("hard")
EndIf
If PtTableau>0
Else type$ = ("auto")
EndIf
title$ = StringField(Texte$, 8, Chr(9)) ; On isole le titre du media
som$ = StringField(Texte$, 6, Chr(9)) ; On isole le SOM
; Ci-dessous on fabrique le fichier de sortie en lui precisant ce qu'on souhaite avoir...
WriteStringN(#FichierVideo, GetGadgetText(#String_3) + ID$ + Chr(9) + Playtime$ + Chr(9) + Playtime$ + Chr(9) + Duration$ + Chr(9) + Chr(9) + Chr(9) + type$ + Chr(9) + title$+Chr(9)+ "0" + Chr(9) + som$)
ForEver
EndIf
Next
EndIf
EventID=WindowEvent()
If EventID=#PB_Event_Gadget
Select EventGadget()
Case #Button_3 ;Quitter
Break
EndSelect
EndIf
Delay(20)
ForEver
FabFichTest(ReperBIN$+#TestFile)
SetGadgetText(#Text_6, "Termine !")
ProcedureReturn #True
EndProcedure

Merci beaucoup de vos lumières...