Caractères spéciaux

Résolu
cs_jacques13 Messages postés 252 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 29 juin 2013 - 15 mars 2007 à 18:45
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 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?

31 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
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.
0
cs_jacques13 Messages postés 252 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 29 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.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
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.



Bonne nuit.
0
cs_jacques13 Messages postés 252 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 29 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:......
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
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.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
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.

Voilà.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
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.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
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...
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 mars 2007 à 09:34
Tiens,
J'ai cherché... et si ça peut t'aider :
http://www.bozena.net/forms/forms6.htm
0
cs_jacques13 Messages postés 252 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 29 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.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 mars 2007 à 20:56
Hé hé !
Les vieux croutons grincheux sont souvent comme çà....

Content pour toi.
0
Rejoignez-nous