Gambas France BETA


Pas de compte ? Incription

[RESOLU]ecriture fichier

Ce sujet est résolu.

1
AuteurMessages
LanoueC#1 Posté le 13/9/2010 à 07:48:00
bonjour
a votre avis ou est l'erreur?.

1
PUBLIC FUNCTION save(sligne AS STRING)DIM fichier AS FileDim i AS STRING'ecriture dans le fichier test.txtchemin = user.Home & "/.dossier"fichier = Open chemin & "/test.txt" For InputIf Not Exist(chemin & "/test.txt") Then Message.Info("chemin de fichier invalide") i = "avant EOF" 'pour debuggerWhile Not Eof(fichier) i = "apres EOF, avant LINE INPUT" Line Input #fichier, sligne i = "juste avant print" Print sligne i = "apres print"WendClose fichierEnd


dans le debugger i reste a la valeur " avant EOF" ==> donc ne passe pas dans la boucle while wend!!
sligne a la valeur souhaitée : "222222222222222222222"
GarulfoUnix#2 Posté le 13/9/2010 à 10:41:00
By the wayPlusieurs chose, déjà tu utilises une fonction dont tu ne spécifies pas le type de valeur de retour.
Deuxième point, tu n'écris pas dans le fichier mais tu le lis.

Donc l'erreur vient de l'algo pour commencer :) .
LanoueC#3 Posté le 13/9/2010 à 12:18:00
Merci france1159

oupppppppppssssssss :oops:

GB3
ben oui , oulala!
il fallait mettre write! et là c'est bon : Write #fichier, sligne

mais a quoi sert input alors? a lire? c pas read? à écrire un fichier texte dans une variable string alors!!
dans cet exemple on parle de lire un fichier avec input : http://gambaslinux.eg2.fr/articles.php?lng=fr&pg=364

OUI j'ai mis fonction mais j'aurai pu mettre procédure: c'est ce que je vais faire d'ailleurs puisque je n'ai pas besoin de retour

Si je veux re écrire dans mon fichier sur la ligne suivante? : append?

spheris#4 Posté le 14/9/2010 à 06:41:00
Lanouec,
Attention !
Ce exemple fonctionne exclusivement sur GB2 et n'a pas été testé sur GB3.
La plupart des exemples d'ailleurs.... :tongue:
;)
GarulfoUnix#5 Posté le 14/9/2010 à 18:48:00
By the way
Merci france1159

mais a quoi sert input alors? a lire? c pas read?


http://www.gambasdoc.org/help/cat/stream?fr

Tu comprendras mieux :) .
gambix#6 Posté le 15/9/2010 à 07:44:00
Faire simple !lecture directe ou non la est la question :)

Lanouec : regarde ça :

&/ sert a concatainer des chemin !... il ajoute un "/" si il n'y est pas... utilise le :)




Les goodies gb3 :)


dim hfile as file


hfile = Open User.Home &/ "MonFichier.txt"


While not eof(hfile)

LineInput #hFile, sValue
Print sValue

wend




Sinon un

dim s as string

For each s in split(file.load(User.Home),"\n")
print s
next


suffit pour des fichier pas trop gros ... -5000 lignes... après c'est un pb de perf
Moins de texte dans une signature c'est agrandir son espace.
1