IDE OK - compilation KO fichier texte vide [Résolu]

Signaler
Messages postés
298
Date d'inscription
lundi 14 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2013
-
Messages postés
298
Date d'inscription
lundi 14 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2013
-
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

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
233
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
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Salut
il faudrait peut etre plus de détails
que veux tu faire ?
Messages postés
298
Date d'inscription
lundi 14 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2013
1
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
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
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
Messages postés
298
Date d'inscription
lundi 14 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2013
1
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é
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
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 ?
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
233
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
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Bonsoir ucfoutu

c'est bizarre j'ai testé sans ajouter close #nfile
j'obtiens bien un fichier non vide
Messages postés
298
Date d'inscription
lundi 14 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2013
1
merci à tous, c'était bien la fermeture du fichier