IDE OK - compilation KO fichier texte vide

Résolu
cs_lacomm Messages postés 298 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 5 juillet 2013 - 21 févr. 2011 à 10:52
cs_lacomm Messages postés 298 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 5 juillet 2013 - 22 févr. 2011 à 08:06
Hello

J'ai développé un soft qui marche bien en IDE mais une fois compilé j'ai des petits soucis, le principal est que j'obtiens un fichier texte vide après compilation, alors qu'il était bien rempli en IDE.

Est-ce possible que le souci vienne des lignes qui concernent l'ouverture du fichier texte ?

fnoutput = FreeFile
sOutputFilePath = sOutputFilePath & "\sIndexEnt" & shortnamedico & ".txt"
Open sOutputFilePath For Output As #fnoutput
Print #fnoutput, iIndex; vbTab;


merci

9 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
21 févr. 2011 à 21:42
NON !
Explication : quand tu es dans l'IDE et testes depuis l'IDE : En quittant (stoppant) l'IDE, tu libères automatiquement le fichier, qui se ferme alors et se met à jour. Ce qui ne se produit pas lorsque tu es dans l'exécutable. Voilà tout !


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
3
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
21 févr. 2011 à 11:12
Salut
il faudrait peut etre plus de détails
que veux tu faire ?
0
cs_lacomm Messages postés 298 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 5 juillet 2013 1
21 févr. 2011 à 11:25
Le programme compte les mots d'un texte qui correspondent aux mots présents dans une base de données. D'abord il faut choisir un dossier dans lequel se trouvent les fichiers texte à analyser, ensuite choisir un dossier d'output, ensuite choisir une base de données (qui contient les mots à repérer)et quelques paramètres comme la méthode de calcul ou un champ précis dans la base de données.
Le fichier texte de résultats est bien créé, avec le nom de la base de données, les calculs sont bien effectués et corrects, mais par contre, rien dans le fichier de résultats. Ca fait des années que j'utilise ce prog en IDE, sans aucun problème à ce niveau-là.

Je peux mettre le code mais ca risque de faire beaucoup

 
If blFreqEnt Then
                For posIndex = 0 To nIndex
                    pbDico.Max nIndex: pbDico.Value posIndex: DoEvents
                    snVar nVar(posIndex): iIndex 0
                    txtCat.Text = snVar
                    For posmot = 1 To UBound(source)
                        motsource = source(posmot)
                        txtmotsource.Text = motsource
                        DoEvents
                        If ContMot(snVar, fnoutput, motsource) <> 0 Then
                                iIndex = iIndex + 1
                                txtsource.Text = txtsource.Text & motsource & " 1 " & " (" & snVar & ") "
                            End If
                    Next posmot
                    MsgBox iIndex
                    Print #fnoutput, iIndex; vbTab;
                Next posIndex
end if
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
21 févr. 2011 à 12:22
dans le fichier des résulats tu dois avoir
une liste de nombre iIndex
 Print #fnoutput, iIndex; vbTab;


j'ai écrit un code très simple
Private Sub WriteFile()
Dim iter As Integer
Dim nfile As Integer
nfile = FreeFile
nfile = FreeFile
Open "E:\ReadFile\BLABLA.TXT" For Output As #nfile
  For iter = 0 To 40
   Print #nfile, iter; vbTab
   Next iter
  End Sub


as tu verifié avec le debugger ça arrive à la
ligne
Print #fnoutput, iIndex; vbTab;

mets un point d'arret et verifie
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_lacomm Messages postés 298 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 5 juillet 2013 1
21 févr. 2011 à 14:52
j'ai testé avec ton code et c'est la même chose: en IDE, j'ai bien un fichier blabla.txt avec 1 à 40, tandis que compilé je n'ai rien.
J'ai testé le point d'arrêt et iIndex et bien calculé, d'ailleurs le message box le montre aussi en compilé
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
21 févr. 2011 à 18:04
donc ce n'est pas un problème avec ton code
tandis que compilé je n'ai rien.


c'est pas clair quand tu dis IDE tu veux dire tu lances le prog avec le vb6 le exe n'est pas
crée mais c'est bien compilé

tu lances l'exemple quand c'est terminé
le fichier est vide ?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
21 févr. 2011 à 19:09
bonjour,

tu oublies tout simplement de fermer ton fichier !
ajoute donc un
close #nfile

avant le end sub !
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
21 févr. 2011 à 21:22
Bonsoir ucfoutu

c'est bizarre j'ai testé sans ajouter close #nfile
j'obtiens bien un fichier non vide
0
cs_lacomm Messages postés 298 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 5 juillet 2013 1
22 févr. 2011 à 08:06
merci à tous, c'était bien la fermeture du fichier
0
Rejoignez-nous