problème Visual Basic 6.0

problème Visual Basic 6.0 - VB/VBA/VBS - Programmation

Marsh Posté le 02-05-2002 à 17:25:41    

Bonjour,
 
Je travaille actuellement sur un projet en VB6.0 et j?ai un petit problème concernant les boites de dialogue « Enregistrer sous? » et « Imprimer » et j?espère que quelqu?un pourra m?aider à le résoudre.
 
Tout d?abord concernant la fonction enregistrer sous, je génère dans mon projet un fichier que l?on doit pouvoir enregistrer. Pour cela j?ai inséré un objet commondialog dans ma feuille, et dans mon code, à l?endroit où je veux enregistrer mon fichier j?ai ceci :
 
Open nomfic For Output As #1
 
CommonDialog1.FileName = nomficdata
CommonDialog1.InitDir = "C:\Documents and Settings\user\Bureau"
CommonDialog1.ShowSave
CommonDialog1.Filter = "Fichiers Data (*.dat)|*.dat"
 
nvnomfic = genfic.CommonDialog1.FileTitle
Close #1   ' Ferme le fichier.
 
If nomfic <> nvnomfic Then
Name nomfic As nvnomfic
End If
 
C?est la méthode que j?emploie pour ouvrir la boite et enregistrer le fichier à l?endroit désiré et avec un nouveau nom si on a changé la zone de texte concernant le nom de fichier. Je crois que cette méthode n?est pas très académique et en plus elle me génére des erreurs si j?annule l?enregistrement et que je relance l?ouverture de la fenetre  (« fichier déjà ouvert »).
 
Donc si quelqu?un a une meilleure méthode ou des conseils cela m?intéresse.
 
 
 
Mon deuxième problème vient de la fenetre « imprimer » que j?aimerais lancer.
 
Dans une de mes feuilles, j?ai créé un bouton imprimer et j?aimerai imprimer ma feuille entière qd on clique dessus. Pour cela , j?ai utilisé form.printform, mais je ne crois pas que l?on peut redimensionner l?image si elle dépasse du cadre.
 
La méthode showprinter ouvre la config d?impression mais elle ne gère pas l?impression qui s?en suit?
 
Quant aux objets Printer je ne sais pas si on peut l?utiliser pour l?impression d?une feuille.
 
J?espère que quelqu?un pourra m?aider dans la résolution de mes problèmes.
 
Merci d?avance,
 
DM

Reply

Marsh Posté le 02-05-2002 à 17:25:41   

Reply

Marsh Posté le 02-05-2002 à 18:19:56    

bon pour ton 1er probleme y a plein de trucs qui vont pas :) :
-avant d'ouvrir le fichier attend que la boite de dialogue te renvoie le nom du fichier :)
-le filtre faut le définir avant d'appeler la boite dialogue , apres c'est trop tard :)
-il faut géré la situation ou l'utilisateur annule la sauvegarde , il faut mettre CommonDialog1.CancelError= true qui permet de detecter si l'utilisateur appuie sur ANnuler
 
 
CommonDialog1.CancelError= true
CommonDialog1.InitDir = "C:\Documents and Settings\user\Bureau"
CommonDialog1.Filter = "Fichiers Data (*.dat)|*.dat"
 
on error goto annule:
CommonDialog1.ShowSave
on error goto 0 'annule la gestion des erreurs
 
nomfic=me.CommonDialog1.FileName
 
Open nomfic For Output As #1
....
ici fait ce que tu as a faire avec le fichier
....
Close #1   ' Ferme le fichier.
 
exit sub 'sortie normale
 
annule:
err.clr 'efface l'erreur
on error goto 0
 
exit sub

Reply

Marsh Posté le 02-05-2002 à 19:13:16    

utilises pas les controles commun mais les API assiciées pour pas avoir à distribuer 2 Mo d'OCX....

Reply

Marsh Posté le 03-05-2002 à 10:25:18    

Toute facon, les OCX, c'est mal (sauf en cas d'extreme nécéssité).

Reply

Marsh Posté le 03-05-2002 à 13:57:55    

KarLKoX a écrit a écrit :

Toute facon, les OCX, c'est mal (sauf en cas d'extreme nécéssité).  




 
ouaip mais coder une DataGrid c'est chaud aussi quand même  :sweat:

Reply

Marsh Posté le 03-05-2002 à 13:59:06    

Je parle po de ceux la, évidemment :D

Reply

Sujets relatifs:

Leave a Replay

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