Probleme avec une procedure ( resolu)

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
bernard13
Messages : 1221
Inscription : mer. 05/janv./2005 21:30

Probleme avec une procedure ( resolu)

Message par bernard13 »

bonjour

je rencontre un petit probleme dans ma procedure
j'enregistre le fichier au format texte , mon probleme c'est quand je le charge je le vois pas à travers l'openfilerequester, c'est un probleme de pattern je suppose mais je sais pas comment on fait , le fichier est crée mais porte aucune extension, qui peux m'aider svp
ce que je veux faire c'est quand il est entregistrer de pouvoir le charger ensuite avec Openfileresqueter( j'ai crée la procedure et elle marche tres bien ).

Code : Tout sélectionner

Procedure creation_document() 
text.s=SaveFileRequester( "sauvegarde d'un fichier texte","","Fichier text|*.txt",0) 
If text<> "" 
nombre_ligne=CountGadgetItems(#editor) 
If CreateFile(0,text) 
For n=0 To nombre_ligne-1 
text.s=GetGadgetItemText(#editor,n,0) 
WriteStringN(#editor,text) 
Next 
CloseFile(0) 
EndIf 
EndIf 
EndProcedure 

Dernière modification par bernard13 le ven. 09/mars/2007 17:18, modifié 1 fois.
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Message par Guimauve »

Le problème c'est que le SaveFileRequester() n'ajoute pas automatiquement l'extension lorsque l'on entre le nom du fichier.

Fait un test en entrant le nom du fichier suivit de l'extension pour voir si ça marche.

Exemple : Mon fichier.txt

Si oui le problème peut se résoudre comme suit :

Code : Tout sélectionner

Procedure.s CheckFileExtension(FileName.s, Extension.s)
   
   ; On considère que le chemin initiale est bon
   GoodPath.s = FileName
   
   ; on découpe l'info du nom de fichier
   Path.s = GetPathPart(FileName)
   Name.s = GetFilePart(FileName)
   Ext.s = GetExtensionPart(FileName)
   
   ; S'il y a des problèmes on reconstruit le chemin
   If Ext = ""
      GoodPath = Path + Name + "." + Extension
   EndIf 
   
   If Ext <> Extension
      GoodPath = Path + StringField(Name,1,".") + "." + Extension
   EndIf 
   
   ProcedureReturn GoodPath
EndProcedure


Procedure creation_document()
   
   FileName.s = SaveFileRequester( "sauvegarde d'un fichier texte","","Fichier text|*.txt",0)
   
   If FileName<> ""
 
      FileName = CheckFileExtension(FileName, ".txt")
      
      If CreateFile(0, FileName)
         
         nombre_ligne = CountGadgetItems(#editor)
         
         For n = 0 To nombre_ligne-1
            
            text.s=GetGadgetItemText(#editor,n,0)
            WriteStringN(#editor,text)
            
         Next
         
         CloseFile(0)
      EndIf
      
   EndIf
   
EndProcedure 
A+
Guimauve
bernard13
Messages : 1221
Inscription : mer. 05/janv./2005 21:30

Message par bernard13 »

je te remercie ça marche
Répondre