common dialogue controle

common dialogue controle - VB/VBA/VBS - Programmation

Marsh Posté le 18-12-2002 à 13:15:11    

salut à tous !
 
j'ai une petite kestion de vb à vous poser. j'ai crééer une boite de dialogue qui me permet d'ouvrir un fichier sur le disque : voici le code ...
 
'création de la boite de dialogue
    cdCommonDialogue.DialogTitle = "ouvrir un carnet d'adresse"
    cdCommonDialogue.Filter = "*.txt"
    cdCommonDialogue.ShowOpen
    namefile = cdCommonDialogue.FileName
 
la question que je me me pose, c'est comme je détecte que le user il tape "annuler" ou "ouvrir" dans  la fenetre ?
 
A+
 
 

Reply

Marsh Posté le 18-12-2002 à 13:15:11   

Reply

Marsh Posté le 18-12-2002 à 13:21:08    

bah ca dépend tu veux que le USER de ton programe tape dans une textbox ? si c ca bah c pas tres dur :
If Text.text = "annuler" Then "Ton action"
 
Si c pas ca bah tu reprécise ta question pc c'est un peu flou .. [:spiritu4l]


---------------
•º°) SkabsnowsurF Board Free Style (°º•
Reply

Marsh Posté le 18-12-2002 à 13:32:21    

ok je précise .
 
la common dialogueControle que j'utilise permet de récupérer une chaine de caractères, qui est le nom du fichier.  
ceci est effectué de  la manière suivante :
namefile = cdCommonDialogue.FileName
 
ce que je sais pas  c'est comment je sais si le user il a tapez ensuite le bouton "cancel" ou alors le bouton "ouvrir".
je pensait qu'en utilisant la valeur de cdCommonDialogue.CancelError ça marcherait mais les résultats  sont illogiques

Reply

Marsh Posté le 18-12-2002 à 14:03:43    

nawbacan a écrit :

ok je précise .
 
la common dialogueControle que j'utilise permet de récupérer une chaine de caractères, qui est le nom du fichier.  
ceci est effectué de  la manière suivante :
namefile = cdCommonDialogue.FileName
 
ce que je sais pas  c'est comment je sais si le user il a tapez ensuite le bouton "cancel" ou alors le bouton "ouvrir".
je pensait qu'en utilisant la valeur de cdCommonDialogue.CancelError ça marcherait mais les résultats  sont illogiques

de mémoire, si tu fais annuler, la propriété filename est une chaine vide je crois.


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
Reply

Marsh Posté le 18-12-2002 à 14:14:48    

Vieux source VB3, voir si pareil maintenant
 
    CMDialog.DialogTitle = "Sauvegarde du fichier"
    CMDialog.Flags = &H2& Or &H4&  ' OFN_OVERWRITEPROMPT + OFN_HIDEREADONLY
       
    CMDialog.CancelError = True  ' valide erreur si Cancel
       
    On Error Resume Next
    CMDialog.Action = 2    ' écriture de fichier
 
    If Err = 32755 Then   ' bouton Abandon!!
      On Error GoTo 0
      EcritFichierDAT = 0  ' y a pas eu erreur: changement d'avis
      Exit Function    'car Abandonné!
    End If
    On Error GoTo 0
 
    FichChoisi = CMDialog.Filename
 
Il semblerait que si CMDialog.CancelError est FALSE, on ne peut pas savoir si Cancel actionné (sauf peut-être en regardant si chaîne fichier vide ?). Cf doc, aide en ligne, j'â oubliâ.

Reply

Marsh Posté le 18-12-2002 à 16:26:12    

De memoire c a peu pres ca
 
ou c a false et tu sais si c cancel avec le filename vide  
ou c a true et tu dois trapper l erreur pour gerer le cancel
 
A+

Reply

Marsh Posté le 18-12-2002 à 16:29:24    

tu ne peux pas essaye avec ca  :
 

Code :
  1. if commondialog1.filename = "" then
  2. [ton action]
  3. else
  4. [une autre action]
  5. end if


Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed