Problèeme a l'ecrasement du fichier txt [Résolu]

Signaler
Messages postés
40
Date d'inscription
dimanche 30 janvier 2005
Statut
Membre
Dernière intervention
17 août 2007
-
Messages postés
40
Date d'inscription
dimanche 30 janvier 2005
Statut
Membre
Dernière intervention
17 août 2007
-
Bonjour tout le monde,
voila j'explique mon problème :
après avoir extrait des informations contenues dans mon fichier texte je voudrait le supprimer. Pour cela j'effectue ce code :

Set FSys = CreateObject("Scripting.FileSystemObject")
Set Monfic = FSys.CreateTextFile("S:\developpement\nomsip'" & z & "'.txt")
Monfic.Close
Path = "S:\developpement\nomsip'" & z & "'.txt"
Shell "cmd /C nslookup " & b & " > " & Path, 0
Open "S:\developpement\nomsip'" & z & "'.txt" For Input Access Read As #2
Do While Not EOF(2) ' Tant que la lecture n'est pas a la fin du fichier
Line Input #2, ip ' Lit et place les lignes dans la variable ip
tailleipsite = Len(ip)
If tailleipsite >= 0 Then
Select Case cptlign
Case 3: NomSite = Mid(ip, 9, (tailleipsite + 1) - 9)
End Select
End If
cptlign = cptlign + 1
Loop
Close #2
Kill ("S:\developpement\nomsip'" & z & "'.txt")

j'ai essayer aussi la methode .DeleteFile mais aucunes des deux commandes ne fonctionnent.

Premierement : mon fichier de s'efface pas (a moins que j'execute mon programme pas à pas)
Deuxièmement : au bout d'un certain moment (car ce bout de code fait parti d'une boucle) un message d'erreur s'affiche sur le passage : Kill ("S:\developpement\nomsip'" & z & "'.txt") et m'indique que la permission et refusser et quand j'essaye de supprimer le fichier a la main celui ci de veut pas non plus .... Bizare...

donc voila je ne comprend pas trop ce qui m'arrivr alors si quelqu'un aurait deja eu ce problème ou connaitrait la solution je suis a votre ecoute :)

Merci.



piou ('<>')

7 réponses

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
27
le problème c'est qu'il faut laisser le temps au fichier de se créer.

une méthode bourrin consiste à faire une boucle d'attente après le
Shell, mais il ya d'autres méthodes plus élégantes, cherche sur le site
... ShellAndWait







'après le Shell

While Dir$(Path) = ""

DoEvents

Wend

While FileLen(Path) = 0

DoEvents

Wend

Open Path For Input As #2

- - - - - - - -

Kill Path


Daniel
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
27
supprime ces lignes:

<strike>

</strike><strike>Set FSys = CreateObject("Scripting.FileSystemObject")

Set Monfic = FSys.CreateTextFile("S:\developpement\nomsip'" & z & "'.txt")

Monfic.Close

</strike>


Daniel
Messages postés
40
Date d'inscription
dimanche 30 janvier 2005
Statut
Membre
Dernière intervention
17 août 2007

Merci pour avoir répondu aussi vite .
Si j'efface ces trois ligne mon fichier ne se crera plus et je ne pourrais plus l'utiliser, donc je ne pense pas qu'il faille les suprimer.
mais merci quand même .



piou ('<>')
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
27
ben si tu fichier va être créé par le Dos:



Shell "cmd /C nslookup " & b & " > " & Path, 0



au fait c'est quoi b ?


Daniel
Messages postés
40
Date d'inscription
dimanche 30 janvier 2005
Statut
Membre
Dernière intervention
17 août 2007

Ah que suis je bete ! biensur !!! Merci Merci
merci beaucoup je vais tester.
"b" est une variable relié a un autre fichier qui contient une adresse ip d'un site internet.



piou ('<>')
Messages postés
40
Date d'inscription
dimanche 30 janvier 2005
Statut
Membre
Dernière intervention
17 août 2007

Oui !
Apparament ca à l'air de marcher. mais maintenant j'ai un autre problème.
ca ne veut plus ouvrir le fichier texte. un message d'erreur m'indique je le fichier est introuvable mais quand j'appuis sur deboger et que je fais F8 il le reconnait...
bizzare encore je trouve pourquoi il le reconnais en pas a pas et pas quand j'execute mon prog?
(desolée de t'embeter encore)



piou ('<>')
Messages postés
40
Date d'inscription
dimanche 30 janvier 2005
Statut
Membre
Dernière intervention
17 août 2007

Merci beaucoup de m'avoir aporté ton aide.
Cette méthode fonctionne trés bien avec mon progr cependant comme tu me l'a conseillé je vais me renseigner sur le ShellAndWait .
passe une bonne apres midi



piou ('<>')