cs_jacques13
Messages postés252Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention29 juin 2013
-
15 mars 2007 à 18:45
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 2014
-
19 mars 2007 à 20:56
Bonjour,
J'aimerais présenter des résultats imprimés sur une feuille dans un cadre.
Je souhaiterais ne pas dessiner ce cadre avec des Printer.Line... mais plutôt insérer les données dans un cadre tracé par des caractères spéciaux du genre:
+------------+¦ 456 ¦ 345 ¦
+------------+
au moyen d'instructions chr$().
Ce qui était très facile dans la programmation DOS avec l'instruction "lprint" me semble plus difficile en VB6 du fait que généralement (c'est du moins le cas avec la police Courier New) les codes ascii qui permettent ce genre d'impression sont supérieurs à 255.
Quelqu'un verrait-il une solution?
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 16 mars 2007 à 21:58
Juste un mot ami, et ce sera alors le dernier, dans ces conditions :
Pardonne-moi, mais je n'ai eu et n'ai aucune difficulté, AUCUNE, à apréhender la totalité des paramètres de ta "méthode".
Elle est maintenant la tienne seule.
Bonne chance.
cs_jacques13
Messages postés252Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention29 juin 2013 16 mars 2007 à 22:16
Cher ami, je ne doute pas un instant que tu n'aies eu aucune difficulté à appréhender les paramètres de ma méthode (qui est enfantine au regard de tes qualités de programmeur!) mais bien plutôt du résultat que je souhaitais obtenir.
Encore merci pour le temps passé, sans rancune j'espère et bien amicalement.
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 16 mars 2007 à 22:23
"Alors, laisse-moi te poser le problème dans une forme plus académique: existe-t-il une manière d'obtenir au moyen de la commande Chr$() ou ChrW() des caractères d'une police donnée dont la valeur ascii est supérieure à 255.
La formulation est-elle correcte?"
J'ai et tu t'es également répondu plus haut à une telle question : quid de ton imprimante elle-même ?
Il y a d'une part la valeur du caractère et d'autre part son interprétation.... et ce sont des choses différentes.
cs_jacques13
Messages postés252Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention29 juin 2013 16 mars 2007 à 22:33
N'est-il pas permis de penser qu'il existe une réponse indépendante de la nature de l'imprimante?
Quand tu imprimes un texte Word, tu t'attends à obtenir à peu près le même résultat sur n'importe quelle imprimante du marché, non?
La réponse que j'aurais aimé recevoir à ma question basique c'est:
* non, il n'est pas possible d'adresser des caractères dont la valeur ascii>255, point final.
ou
* oui c'est possible et voici la méthode:......
Vous n’avez pas trouvé la réponse que vous recherchez ?
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 16 mars 2007 à 22:45
Mais...
Ce n'est pas vrai !
Il est impossible de répondre non à ta question "basique", puisqu'elle dépendra de l'interprêteur. Donc oui si l'interprêteur l'accepte, non dans le cas contraire !
C'est maintenant un véritable dialogue de sourds, ma foi et c'est fatiguant.
Une suggestion : fais-toi un interprêteur et n'en parlons plus.
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 19 mars 2007 à 08:12
Bonjour,
Bon...
Ce sera alors à toi de jouer !
Il va te falloir bûcher et utiliser la fonction GetStockObject de la librairie gdi32 de l'API de Windows ainsi les fonctions (toujours de la même librairie) SelectObject (pour "lier" à un contexte de dispositif) et TextOut Lib (pour imprimer).
Avec GetStockObject, il te faudra utiliser la constante OEM_FIXED_FONT (dont la valeur est 10) pour la passer à son unique paramètre.
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 19 mars 2007 à 08:34
Ah...(j'ai oublié d'en parler..)
Attention : IMPORTANT : le contexte de dispositif de réception (affichage ou impression) devra être défini en échelle de Pixels uniquement.
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 19 mars 2007 à 08:37
Ah oui également (mal réveillé, moi...)
Si ton imprimante, de son côté, n'accepte pas de reproduire comme il le faut :
1) dans pictureBox (pas de problème, en principe)
puis
2) Printer.PaintPicture (comme je te l'ai dit plus haut), bien sur...
cs_jacques13
Messages postés252Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention29 juin 2013 19 mars 2007 à 18:59
Bonjour JMFMarques,
Je pensais que tu avais baissé les bras, mais je constate que tu n'abandonnes pas si facilement.
Et je te remercie d'autant plus d'avoir persévéré que je viens de tester l'exemple tchèque (?) que tu me proposes et qu'il fonctionne parfaitement. Je constate qu'il fournit le même jeu de caractères qu'avec la police native de DOS.
Il ne me reste plus qu'à l'adapter à mon cas particulier.
Sans toi, je n'aurais jamais songer à utiliser une fonction aussi exotique que GetStockObject!
Encore merci pour ton aide et ta persévérance.