Ouvrir une form si un fichier d'une disquette est detecté

Résolu
cs_billmax Messages postés 16 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 14 mai 2007 - 7 août 2005 à 23:56
cs_billmax Messages postés 16 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 14 mai 2007 - 8 août 2005 à 21:03
Bonjour,
je souhaite que lorsque l'utilisateur clique sur un bouton, le programme verifie si le fichier ok.txt est bien sur la disquette.

+ Si ok.txt est sur la diquette, je souhaite que la form A qui contient mon bouton se ferme (le programme se ferme si le fichier est detecté)
+ Si ok.txt n'est pas sur la disquette, je veux que forma A ne se ferme pas et si possible qu'une boite de dialogue affiche le message "ok pas trouvé".

J'ai VB6 (je peux installé VisualStudio 2005beta si vb6 est trop vieux).
Merci d'avance car je (re)debute (ca fais 2ans que je n' avais pas réinstallé mon vb )
(pour info : je suis abscent du 13au20/08/2005 )

billmax

J'avais trouvé se code sur vbfrance, si ca peux aider

Private Sub Command1_Click()


MsgBox detect_disquette


End Sub


Function detect_disquette() As Boolean


On Error GoTo erreur


If Dir("a:\.") <> "" Then detect_disquette = True


Exit Function


erreur:


detect_disquette = False


End Function

4 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
8 août 2005 à 15:39
salut,
pour le fait que tu n'aies pas de bouton, c'est normal, regarde, j'ai mis l'instruction au Form_Load (même pas de bouton pour le test)


pour l'erreur 52, j'ai fait le test avec "C:", je regarde de suite


en effet, il faut gérer l'erreur ainsi :
(une Form, un CommandButton, et le fichier nommé "ok.txt")



Private Sub Command1_Click()
On Error GoTo NODISK
'si on trouve le fichier, on quitte. sinon, message. et si erreur, message
If Dir("A:\ok.txt") <> "" Then Unload Me Else MsgBox "ok.txt non-trouvé!", 32, "Error"
Exit Sub 'pas de problème, on quitte la procédure


NODISK:
MsgBox "PAS DE DISQUETTE DANS A:", 32, "Error"
End Sub


voilà ;)
PCPT
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
8 août 2005 à 02:05
salut,
voici ta demande (au Form Load) : si le fichier existe, la Form se ferme. sinon, message d'erreur

Private Sub Form_Load()
If Dir("A:\test.txt") <> "" Then Unload Me Else MsgBox "UnFound", 32, "Error"
End Sub

PCPT
0
cs_billmax Messages postés 16 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 14 mai 2007
8 août 2005 à 14:24
Merci pcpt, mais j ai encore un problème.

Si il n'y a pas de disquette, j ai une erreur 52 et lorsque je compile mon projet en exe, je ne vois pas apparaitre mon bouton, c'est le programme de detection de la disquette qui est directement lancé.
J'aimerai voir affiché une boite de dialogues du type "merci d'introduir la disquette".
Si le fichier n'est pas trouvé, et que je clique sur mon bouton, j ai une boite dialogue vide et j ai beau mettre la disquette avec le fichier, j obtient toujours cette boite de dialogue vide.

J'espere que mon projet est realisable (je le pense ;-) mais comme je debut et que mon boukin est vieuux, il faut que je fasse un tour à la FNAC!)
billjcm


<HR>
Private Sub Command1_Click()


MsgBox detect_disquette


End Sub



<HR>

Private Sub Form_Load()
If Dir("A:\test.txt") <> "" Then Unload Me Else MsgBox "UnFound", 32, "Error"
End Sub

<HR>
0
cs_billmax Messages postés 16 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 14 mai 2007
8 août 2005 à 21:03
UN TRES TRES GRAND MERCI !
Chapeau
Tout fonctionne comme je le voulais !
J'en serai plus le mois prochain sur la prorammation vb
(je rentre en bts 1année Infomatique de gestion)

Merci pour la rapité
Cordialement
billmax
8/08/2005
0
Rejoignez-nous