yoslo
Messages postés9Date d'inscriptiondimanche 25 avril 2004StatutMembreDernière intervention28 juillet 2005
-
27 juil. 2005 à 14:25
PCPT
Messages postés13280Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
28 juil. 2005 à 16:39
Bonjour à tous :)
Voilà j'aurais besoin de vos lumières sur :
J'aurais besoin d'un prog pouvant scruter à interval régulié un repertoire et imprimer son contenu ( à savoir des images ).
"je cherche bien à imprimer ces images et non imprimer la liste des images contenu dans le repertoire d'où ma difficulté ;)"
Je n'ai rien trouvé encore et je ne vois pas trop comment faire.
PCPT
Messages postés13280Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201848 28 juil. 2005 à 15:05
je viens de le faire.
par contre, l'impression ne s'est lancée qu'à la fermeture de l'appli, sachant que je n'ai qu'une seule imprimante (donc par défaut) et qu'elle est partagée sur un autre poste en réseau.
et je n'ai fait le test d'impression à proprement dit, que pour une seule image.
voici le code, il te faut une form, un Command1, et une Picture1
Dim MyPath As String, MyName As String
Dim MyJpg() As String
Dim i As Integer, j As Integer
Dim rep As String
Private Sub Form_Load()
MyPath = App.Path & "\test" 'ton chemin
i = 0
End Sub
Private Sub Command1_Click()
MyName = Dir(MyPath & "*.jpg") ' Extrait la picture.
Do While MyName <> "" ' Commence la boucle.
ReDim Preserve MyJpg(i)
MyJpg(i) = MyName
i = i + 1
Debug.Print "-> " & MyName
MyName = Dir ' Extrait l'entrée suivante.
Loop
If i = 0 Then MsgBox "aucune photo jpg", 32, "sortie": Exit Sub
rep = MsgBox(i & " photo(s)" & vbCrLf & "tout imprimer?", vbYesNo, "pas un test !!! impression réelle miniature")
If rep = vbNo Then Exit Sub
Printer.ScaleMode = 6
Picture1.AutoSize = True
For j = 0 To i - 1
Picture1.Picture = LoadPicture(MyPath & MyJpg(j))
DoEvents
Printer.PaintPicture Picture1.Picture, 0, 0, 50, 50
DoEvents
Next j
End Sub
PCPT
Messages postés13280Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201848 27 juil. 2005 à 17:42
avec le Dir, tu as la listes des fichiers
ExPath qqc pour l'extension, que tu filtres donc sur les .jpg, bmp, etc...
tu enregistres les chemins dans un tableau, et for 0 to Ubound(tableau), une picture récupère le chemin (LoadPicture) une par une. c'est donc le contenue de ta picture que tu imprimeras au fur et à mesure...
PCPT
Messages postés13280Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201848 28 juil. 2005 à 16:01
ok, tant mieux si çà fonctionne (presque complètement) chez toi.
t'as essayé avec plusieurs images? en listing, moi çà fonctionne, mais je t'avoue que mon imprimante doit être plus vieille que nous 2 réunis, donc j'ai voulu la ménager....
1) à ce niveau, ton tableau MyJpg() contient le nom des images, et tu as toujours le reste du chemin complet dans MyPath. je suis persuadé que tu veux garder un peu de mérite quant à la réalisation de ton projet. tu trouveras moultes sources concernant la copie, déplacement, suppression, etc...
(un indice, beaucoup de commandes Dos fonctionnent. remove directory?...)
2) Printer.PaintPicture Picture1.Picture, 0, 0, 50, 50
= imprime le contenu de l'image, à partir de 0,0 (coin haut gauche) 50,50 (taille pour bas droit)
je ne doute pas que tu aurais pu trouver seul : .......0, 0 , Picture1.Width, Picture1.Height
(il est possible que ces 2 dernières valeurs soient à multiplier par Screen.Twip ...X & Y, équivalent à 15)
3) remercie moi en faisant référence à ton serviteur, dans ta source ;)
et pense à valider ma précédente réponse, pour que les lecteurs sâches qu'à ce problème, il y avait une solution
ps : pour l'impression retardée, il faut sans doute d'abord configurer l'imprimante, c'est à dire être certain qu'il y en ait une, laquelle, etc.... et probablement que l'impression ne se lance qu'après fermeture pour une question de priorité. je te laisse chercher un peu
yoslo
Messages postés9Date d'inscriptiondimanche 25 avril 2004StatutMembreDernière intervention28 juillet 2005 28 juil. 2005 à 16:12
voilà donc pour la taille je m'en suis sorti ;)
Par contre si plusieurs images dans le dossier 1 seule s'imprime.
je devrais m'en sortir pour le reste ( ca sera une trés bonne base )
le but etant de transformer un simple scanner en photocopieur.
et une fois l'image scanné et imprimée la déplacer vers un dossier d'archive d'ou il poura etre consulté et réimprimé
PCPT
Messages postés13280Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201848 28 juil. 2005 à 16:39
imprimante : sans doute chercher au niveau de la file d'impression. j'ai jamais eu a me préoccuper de çà, j'en sais pas plus.
pour l'idée, ouai, c'est pas mal ;)
(pour info, çà existe, mais en open source, je sais pas)
par contre, le fait de déplacer les images après impression, je te conseille de le mettre en optionnel, genre paramètres/options du programme. perso, çà me gènerait qu'à chaque impression, mes images aillent ailleurs.....
(et il te faudra gérer l'erreur possible du "déplacement dans le même dossier", ainsi que vérifier en temps réel à chaque image, que le dossier de transfert existe toujours ;))