Impression au fil de l'eau vers imprimante matricielle

Soyez le premier à donner votre avis sur cette source.

Vue 8 469 fois - Téléchargée 2 415 fois

Description

J'avais besoin d'imprimer sur une imprimante matricielle de l'ancienne generation malheureusement quand je lance l'impression la feuille sort apres une seule ligne et comme j'avais besoin d'imprimer qu'une ligne a la fois je me suis cassé la tête pour trouver un code pour ça mais malheureusement sans resultat alors que la tache demandée est vraiment tres bête
En fin j'ai trouvé des bouts de codes je l'ai rassemblé et ca a donné ce resultat
je suis sûr que les gens qui auront besoin d'imprimer au fil de l'eau vont me remercier pour ce code

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_goc
Messages postés
19
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
21 avril 2011
-
j'ai eu le meme pb, mais j'ai reussi a imposer une connexion en mode "serie", et du coup, c'etait plus simple grace a mscomm
pat46fr
Messages postés
3
Date d'inscription
dimanche 11 janvier 2009
Statut
Membre
Dernière intervention
8 novembre 2014
-
J'avais besoin de faire du ligne par ligne sur une commodore MPS1270 (je sais c'est vieux)mais je ne suis pas arrivé à récupérer le contenu du zip sous vb.net 2010 express.
Alors en réfléchissant simplement et en constatant que sous DOS même sans pilote spécifique l'imprimante répond, suffit juste de passer sous vb net la commande DOS adéquate soit:
Shell("cmd.exe /C echo Mise sécurite pompe 1 >PRN:", 1)
ou pour une réseau:
Shell("cmd.exe /C echo Mise sécurité pompe 1 >\\Pat\IBMPrinter", 1)

Et on peut même passer une variable du style:
Dim retval
Dim reponse = InputBox("Quoi")
If reponse <> "" Then
reponse += Chr(13) + Chr(13)
retval = Shell("cmd.exe /C echo " & reponse & " >\\Pat\IBMPrinter", 1)
End If

Ça me semble plus simple qu'une pleine page de code, non?

Pat
cs_goc
Messages postés
19
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
21 avril 2011
-
l’inconvénient du passage par "cmd", c'est qu'on ne contrôle rien du tout, en particulier pas la bonne exécution du programme, sauf à faire une usine à gaz, et qu'a la première erreur, c'est tout le programme qui plante
alors que la gestion de mscomm est fiable et efficace
pat46fr
Messages postés
3
Date d'inscription
dimanche 11 janvier 2009
Statut
Membre
Dernière intervention
8 novembre 2014
-
Salut, je suis d'accord avec toi, mais ça fait une semaine que j'essaye de faire imprimer une seule ligne sur ma vieille imprimante et rien à faire. De tous les codes que j'ai trouvé (comme le tien), j'arrive pas à les faire fonctionner sous Vb.net2010. C'est vrai que je ne suis pas un pro de la programmation (et de loin) et que je découvre VB.net avec ce projet (qui est pour mon boulot) mais je trouve aberrant que sous DOS avec un simple :
echo "allo" > prn:
sans aucun pilote, l'imprimante fonctionne nikel et qu'avec un langage super évolué je n'arrive pas à le faire. Et apparemment, à voir ce qu'il y a sur le net, je ne suis pas le seul.
Le projet c'est de la surveillance de station d'épuration, je me moque de faire des dessins ou du gras, ou toute autre chose, je veux juste que quand une pompe se met en route (ou autre événement)que ça m'imprime un truc du style :
Le 22/04/2011 11:35 : Mise en route P1
Tout le reste du programme, interface armoire /PC, base de données.... est en bonne voie mais là je bute sur ce truc à la con.
Au pire, je mettrais le suivi dans un fichier et je l'imprimerai quand j'en aurais besoin. Mais franchement ça fout les boules.

Pat
pat46fr
Messages postés
3
Date d'inscription
dimanche 11 janvier 2009
Statut
Membre
Dernière intervention
8 novembre 2014
-
Comme le passage par DOS n'est pas le top, une petite astuce pour ceux qui cherchent à faire du ligne par ligne sur du papier listing, suffit de stipuler une hauteur de page très petite dans la partie config de l'impression

Dim CustomSize1 As New PaperSize("Custom Paper Size", 700, 25)
docToPrint.DefaultPageSettings.PaperSize = CustomSize1

Astuce toute bête mais qui évite un paquet de lignes de code. Évidemment si on veux gérer le saut de page, il faut ajouter une routine qui compte les lignes par exemple. Mais perso je pense que quand on imprime sur du listing c'est plus pour avoir un "journal" des opérations donc le saut de page, pas important. C'est mon cas, et ça me convient très bien comme ça.
Pat

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.