CHEMIN et CONCATENATION [Instruction incorrecte à l'extérieur d'une procédure]

nrobin
Messages postés
49
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
22 avril 2008
- 2 oct. 2005 à 10:54
nrobin
Messages postés
49
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
22 avril 2008
- 2 oct. 2005 à 11:37
Bonjour,

je suis en train de créer un petit programme permettant de nettoyer automatiquement certains dossier sur mon PC. (documents récents, historique, temporaires, cookies.....)

Pour cela, j'utilise une Textbox pour écrire le nom d'utilisateur de la session et des Checkbox pour choisir les dossiers que l'on souhaite vider.

Voila les déclarations que j'ai faites:

<HR>
doc_set = "C:\Documents and Settings"
doc_recent = "\Recent\*"
historique = "\Historique\*"
temp_locaux = "\Temp\*"
temp_distant = "\Temporary Internet Files\*"
cookies = "\Cookies\*"

Et voici le programme principal:

<HR>
Private Sub Command3_Click()


If (Check1 = Checked) Then
supp = doc_set & Text1.Caption & doc_recent
Shell ("del supp")
'Kill supp
ElseIf (Check2 = Checked) Then
supp = doc_set & Text1.Caption & historique
Shell ("del supp")
ElseIf (Check3 = Checked) Then
supp = doc_set & Text1.Caption & temp_locaux
Shell ("del supp")
ElseIf (Check4 = Checked) Then
supp = doc_set & Text1.Caption & temp_distant
Shell ("del supp")
ElseIf (Check5 = Checked) Then
supp = doc_set & Text1.Caption & cookies
Shell ("del supp")
End If


End Sub

Pour info, Text1 contiendra le nom de l'utilisateur de la session.

4 réponses

nrobin
Messages postés
49
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
22 avril 2008

2 oct. 2005 à 11:03
Au fait, j'ai fait un oubli: je ne vous ai pas dit où ce situait mon problème.

En fait, lorsque je veux tester mon programme, le message d'erreur suivant apparaît:

Instruction incorrecte à l'extérieur d'une procédure

Un problème du même genre m'était déjà arrivé auparavant dans un autre programme. Je crois que le soucis s'explique par la présence d'espace ou de carctères spéciaux dans les CHEMINS.

Mais, là, je n'ai pas d'autre moyens que d'utiliser ces chemins. Comment puis-je m'y prendre, svp?

Merci d'avance.

Nico
0
cs_CanisLupus
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Membre
Dernière intervention
13 mars 2006
18
2 oct. 2005 à 11:18
Salut, peut-être "...\*.*" à la place de ...\** ?

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
nrobin
Messages postés
49
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
22 avril 2008

2 oct. 2005 à 11:25
J'ai apporté quelques modifications, dans la déclaration:

Option Explicit
doc_set = Dir$("C:\Documents and Settings")
doc_recent = Dir$("\Recent\*.*")
historique = Dir$("\Historique\*.*")
temp_locaux = Dir$("\Temp\*.*")
temp_distant = Dir$("\Temporary Internet Files\*.*")
cookies = Dir$("\Cookies\*.*")

Ca ne fonctionne toujours pas. L'erreur est ciblée sur:
doc_set = Dir$("C:\Documents and Settings")
0
nrobin
Messages postés
49
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
22 avril 2008

2 oct. 2005 à 11:37
Ce problème est réglé. Il suffisait de réfléchir un peu. pfffff

Ca fait 2 mois que je n'avais pas fait de programmation en VB sachant que je ne suis qu'un amateur; j'ai oublier de charger mes variables à l'ouverture de la form.

Voila ce qu'il fallait faire:

Private Sub Form_Load()
doc_set = Dir$("C:\Documents and Settings")
doc_recent = Dir$("\Recent\*.*")
historique = Dir$("\Historique\*.*")
temp_locaux = Dir$("\Temp\*.*")
temp_distant = Dir$("\Temporary Internet Files\*.*")
cookies = Dir$("\Cookies\*.*")
End Sub

Par contre, j'ai un autre problème pour récupérer le contenu d'une TEXTBOX à présent mais on va essayer de déboguer çà.

encore merci pour les infos.
0