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

Signaler
Messages postés
49
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
22 avril 2008
-
Messages postés
49
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
22 avril 2008
-
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.
A voir également:

4 réponses

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

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
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
16
Salut, peut-être "...\*.*" à la place de ...\** ?

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

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")
Messages postés
49
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
22 avril 2008

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.