OVH Cloud OVH Cloud

Cr?ation d'un fichier .txt en lingo

4 réponses
Avatar
elnabo
Hello, je d?sire cr?er un fichier .txt depuis mon application Director, j'ai ce
code:

on mouseup me
thefilename = "mon fichier" + ".txt"
end

La cr?ation fonctionne mais le fichier appara?t ds mon r?p?rtoire sans
l'extension .txt, qqun saurait pourquoi?

4 réponses

Avatar
elnabo
Bonjour... alors personne n'a une petite id?e, j'ai essayer de chercher sur le web mais sans succ?s... snif
Bonne journ?e:(
Avatar
Ned
le 23/05/2005 13:13:
Bonjour... alors personne n'a une petite id?e, j'ai essayer de chercher sur le web mais sans succ?s... snif
Bonne journ?e:(



il faudrait que tu sois un peu plus précis : dans le bout de code que tu
as envoyé, tu affectes un nom de fichier à une variable et c'est tout :
un peu court pour t'aider à déterminer d'où vient le pb....


---
Ned
---
Avatar
elnabo
Hello, bon alors j'ai essay? de chercher qqchose de plus plausible, j'en suis
arriv? ? ?a:

onmouse up
objFileIO = new xtra("fileIO")
r?fObjFileio.createFile("mon chemin")
thefilename = "mon nom de fichier"

apparement il y a un couac apr?s 'r?fObjFileio.', j'ai un message qui me dis:
Operator expected...
Avatar
Bubar
> onmouse up
objFileIO = new xtra("fileIO")


Tu crèes une instance de l'xtra fileio que tu appelles objFileIo

refObjFileio.createFile("mon chemin")


tu utilises une variable refObjFileio qui n'a jamais été déclarée
auparavant. Tu obtiens donc une erreur

thefilename = "mon nom de fichier"


Cette ligne ne sert apparament à rien

Pour écrire un texte dans un fichier, il faut faire dans l'ordre
--création d'une instance de fileIO
of=xtra("fileio").new()
--création du fichier vide
of.createfile("chemin absolu+nom du fichier")
--ouverture du fichier en écriture
of.openfile("chemin absolu+nom du fichier",0)
--le 0 final indique d'ouvrir le fichier en lecture/ecriture
--de mémoire, je ne me rappelle jamais la valeur à mettre
--je crois que 1 indique d'ouvrir en lecture, 2 en écriture
--dans le doute, tu peux mettre 0. Attention, si tu veux lire un fichier sur
un cdrom
--tu obtiendras généralement une erreur (impossible d'ouvrir en écriture sur
un cdrom)

--ecriture d'une variable texte dans le fichier
of.writestring(la_var_texte)
--fermeture du fichier
of.closefile()
--destruction de l'instance fileIO
of=VOID

Attention, il y a un truc à prendre en compte. La fonction createfile() crèe
un fichier vide SI ce fichier n'existe pas déjà. Sinon elle ne fait rien.
Donc si un fichier existe déjà et qu'il contient quelque chose, ce quelque
chose ne sera pas supprimé. La fonction writestring() va écrire par dessus
le précédent contenu. Si celui-ci était plus important que le nouveau texte,
le surplus va rester, ce qui peut ammener des choses bizarres
Ex
le fichier contenait AZERTYUIOP
tu écris QSDF
le fichier contient maintenant
QSDFTYUIOP

Pour éviter le problème, tu peux utiliser l'xtra filextra4 pour tester
l'existence et détruire le fichier avant de le recréer
ofx=xtra("filextra4").new()
if ofx.fx_fileexists("chemin absolu+nom du fichier") then
ofx.fx_filedelete("chemin absolu+nom du fichier")
end if
ofx=VOID

--
Bubar
Freelance Multimédia - internet
Création de logiciels multimédia et sites web
http://www.wapitistudio.com