FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Panoramic et ses curiosités
par Jean Claude Aujourd'hui à 21:48

» Synedit Parameters
par Jean Claude Aujourd'hui à 21:15

» Utilitaire de suppression de fichiers
par Jean Claude Aujourd'hui à 21:11

» Code à vérifier SVP (Oups ! résolu)
par Jean Claude Hier à 21:16

» Compilateur FBPano
par jean_debord Hier à 9:56

» Bienvenue à Virtualalan !
par UltraVox Hier à 9:18

» Concours de Morpions
par jjn4 Hier à 0:04

» ShortName$(F) [Cloturé]
par papydall Mer 21 Juin 2017 - 16:19

» Remplacer espace par tiret dans noms des dossiers / fichiers
par papydall Mer 21 Juin 2017 - 15:27

» Menu personalisé avec icones et menu contextuel
par Laurent (Minibug) Mer 21 Juin 2017 - 12:44

» La liste des choses à faire ...
par Jack Mar 20 Juin 2017 - 22:49

» Quoi de neuf à propos de Goric 3D ? (@Jack)
par UltraVox Mar 20 Juin 2017 - 21:06

» Nom court et anti fenetre dos
par silverman Mar 20 Juin 2017 - 18:31

» Ludothèque Panoramic
par jjn4 Mar 20 Juin 2017 - 18:09

» Proposition à la communauté
par Yannick Mar 20 Juin 2017 - 15:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2017
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
2627282930  
CalendrierCalendrier

Partagez | 
 

 Formatage (page A4)

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2, 3  Suivant
AuteurMessage
JL35



Nombre de messages : 5882
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Formatage (page A4)   Mer 20 Fév 2013 - 19:28

Une petite sub extraite d'un programme que j'ai écrit.
Elle permet de positionner sur une feuille (sous forme de picture) des éléments de texte ou d'image.
Les paramètres d'appel de la sub sont:
- le numéro de l'objet 'cible' (picture)
- les coordonnées et dimensions du placement (x, y, largeur, hauteur)
- la nature de l'objet à placer: texte ou image, et son emplacement (où aller le chercher)
- dans le cas des textes, la fonte, la taille, la couleur et les enrichissements éventuels (gras, italique, souligné, centré).
La couleur de texte est exprimée sous forme d'un entier de la forme:
R*65536 + G*256 + B
Contraintes: pour les images il faut disposer de IrfanView (son path est défini dans la sub), en effet les images données sont redimensionnées pour tenir dans les dimensions prescrites dans l'appel.

Voici:
Code:
==============================================================================
SUB Des_Elem(obj%,xe%,ye%,we%,he%,typ$,fn$,sz%,co%,en%)
' dessin sur le picture cible obj% de l'élément typ$ en xe%,ye% dimensions we%,he%
' Image:
'    typ$ = "if"+path fichier image(ex. "ifC:\Img\Monimage.jpg")
'    typ$ = "ic" image du clipboard,
'    typ$ = "io"+x image de l'objet x (ex. "io12" image du Picture 12)
' Texte:
'    typ$ = "tf"+path fichier texte,
'    typ$ = "tx"+texte texte lui-même (ex. "txAu clair de la lune")
'    texte éventuellement tronqué à droite pour tenir dans les limites indiquées.
'    fn$= Fonte, sz%= Taille, co%= Couleur, en%= Enrichissements (=1 gras,
'    =2 italique, =4 souligné, =8 centré, combinables (ex. 9 gras+centré).
DIM_LOCAL p_iv$, p_aa$, p_ii%, p_jj%, p_kk%, p_ce%, p_cx%, p_ob%
IF we%<=0 OR he%<=0 OR typ$="" THEN EXIT_SUB: ' erreur
p_iv$ = "C:\Progra~2\Irfanv~1\i_view32.exe ": ' IrfanView
IF LEFT$(typ$, 1) = "t"
    ' ************************ TEXTE *******************************************
    IF fn$ = "" OR sz% = 0 THEN EXIT_SUB: ' erreur
    PRINT_TARGET_IS obj%: FONT_NAME obj%,fn$: FONT_SIZE obj%,sz%
    FONT_COLOR obj%,BIN_AND(co%,16711680)/65536,BIN_AND(co%,65280)/256,BIN_AND(co%,255)
    FONT_BOLD_OFF obj%: FONT_ITALIC_OFF obj%: FONT_UNDERLINE_OFF obj%
    IF BIN_AND(en%,1) = 1 THEN FONT_BOLD obj%: ' gras
    IF BIN_AND(en%,2) = 2 THEN FONT_ITALIC obj%: ' italique
    IF BIN_AND(en%,4) = 4 THEN FONT_UNDERLINE obj%: ' souligné
    p_ce% = 0: IF BIN_AND(en%,8) = 8 THEN p_ce% = 1: ' centré
    p_aa$ = MID$(typ$, 3, LEN(typ$)-2): ' texte, ou nom du fichier texte
    p_ob% = 1000: WHILE OBJECT_EXISTS(p_ob%) = 1: p_ob%=p_ob%+1: END_WHILE
    DLIST p_ob%
    IF LEFT$(typ$, 2) = "tx"
        ' texte dans le paramètre
        p_kk% = INSTR(p_aa$, CHR$(13)+CHR$(10))
        WHILE p_kk% > 0
            ITEM_ADD p_ob%, LEFT$(p_aa$, p_kk%-1): p_aa$ = MID$(p_aa$, p_kk%+2, 500)
            p_kk% = INSTR(p_aa$, CHR$(13)+CHR$(10))
        END_WHILE
        ITEM_ADD p_ob%, p_aa$
    ELSE
        ' texte dans le fichier donné
        IF FILE_EXISTS(p_aa$) = 0
            p_ii%=MESSAGE_ERROR_OK("Fichier texte: "+p_aa$+CHR$(10)+"non trouvé !")
            EXIT_SUB
        END_IF
        FILE_LOAD p_ob%, p_aa$
    END_IF
    p_jj% = ye%: p_cx% = 0
    FOR p_ii% = 1 TO COUNT(p_ob%)
        p_aa$ = ITEM_READ$(p_ob%, p_ii%)
        WHILE TEXT_WIDTH(p_aa$,obj%) > we%
            p_aa$ = LEFT$(p_aa$, LEN(p_aa$)-1): ' troncature en largeur
        END_WHILE
        p_kk% = TEXT_HEIGHT(p_aa$,obj%)
        IF p_ce% > 0 THEN p_cx% = (we%-TEXT_WIDTH(p_aa$, obj%))/2: ' centrage
        PRINT_LOCATE xe%+p_cx%, p_jj%: PRINT p_aa$
        p_jj% = p_jj%+p_kk%
        IF p_jj% > (ye%+he%-p_kk%) THEN EXIT_FOR
    NEXT p_ii%
    DELETE p_ob%
    FONT_BOLD_OFF obj%: FONT_ITALIC_OFF obj%: FONT_UNDERLINE_OFF obj%
    FONT_COLOR obj%,0,0,0
ELSE
    ' ***************************** IMAGE **************************************
    p_aa$ = LEFT$(typ$, 2)
    IF p_aa$ = "io" OR p_aa$ = "ic"
        IF p_aa$ = "io": ' image dans un objet, copie de l'objet dans le clipboard
            CLIPBOARD_COPY VAL(MID$(typ$, 3, LEN(typ$)-2))
        END_IF
        p_aa$ = " /clippaste"
    ELSE
        ' "ifxxx", image dans un fichier xxx
        p_aa$ = MID$(typ$,3,LEN(typ$)-2): ' chemin du fichier image
        IF FILE_EXISTS(p_aa$) = 0
            p_ii%=MESSAGE_ERROR_OK("Fichier image: "+p_aa$+CHR$(10)+"non trouvé !")
            EXIT_SUB
        END_IF
    END_IF
    2D_TARGET_IS obj%
    p_aa$ = p_aa$ + " /resize=("+STR$(we%)+",0) /aspectratio /clipcopy /killmesoftly"
    EXECUTE_WAIT p_iv$ + p_aa$
    p_ii% = 500: WHILE OBJECT_EXISTS(p_ii%) = 1: p_ii% = p_ii%+1: END_WHILE
    IMAGE p_ii%: CLIPBOARD_PASTE p_ii%: 2D_IMAGE_PASTE p_ii%, xe%, ye%
    DELETE p_ii%
END_IF
END_SUB
' ------------------------------------------------------------------------------
Un petit exemple d'appel (l'image est quelconque, à adapter):
Code:
DIM t$, rc$
WIDTH 0,660: HEIGHT 0,800: COLOR 0,124,255,255
PICTURE 1: TOP 1,20: LEFT 1,20: WIDTH 1,600: HEIGHT 1,720
' Titre: police Script, taille 48, bleu, bold
Des_Elem(1,150,20,320,20,"txMon image:","Script",48,255,1)
' Image (dimensions d'origine 640x480, réduite en 320x240)
t$ = "ifC:\Graph\Jpg\Goldgate.jpg"
Des_Elem(1,150,100,320,240,t$,"",0,0,0)
' Légende de l'image: police Consolas, taille 12, rouge, italique, centré
Des_Elem(1,150,340,320,20,"txGoldgate.jpg","Consolas",12,16711680,10)
rc$ = CHR$(13)+CHR$(10)
t$ = "txTexte"+rc$+"à droite"+rc$+"de l'image"
Des_Elem(1,480,200,100,50,t$,"Arial",10,0,0)
END
qui donne ceci:

Le programme complet est le formatage d'une page A4 complète (genre affichette) avec du texte et des images mélangés.
L'impression du résultat se fait par l'intermédiaire d'IrfanView.
Mon écran (24", 1920x1200) me permet de présenter la page grandeur nature, je n'ai pas eu le courage de l'adapter pour ici... Mad )

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7824
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: RE   Mer 20 Fév 2013 - 20:52

Bravo !

Je pense qu'une fois l'image créée, il doit être possible de combiner
avec la dll de klaus pour l' impression. Non ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 5882
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Formatage (page A4)   Mer 20 Fév 2013 - 22:36

C'est fort probable, mais comme de toute façon il faut faire appel à IrfanView, j'ai trouvé plus simple (dans mon programme) de lui faire sous-traiter l'impression plutôt que de faire appel à une dll externe:
Je copie le picture dans le clipboard (Clipboard_Copy), et je lance l'Execute_Wait Irfanview avec l'option /clippaste, comme ça on a directement l'image à l'écran, prête à être imprimée, sans passer par un fichier intermédiaire.
Code:
CLIPBOARD_COPY 1: ' Picture 1 -> presse-papier
EXECUTE_WAIT "C:\Progra~2\Irfanv~1\i_view32.exe /clippaste"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 9969
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Formatage (page A4)   Mer 20 Fév 2013 - 22:55

Euh... Les fonctions d'impression de ma DLL ayant trait à la gestion des images, font le redimensionnement de façon interne, tout comme WTP.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 5882
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Formatage (page A4)   Mer 20 Fév 2013 - 23:02

Je ne prétends pas le contraire, bien entendu, mais je ne vois pas le rapport, j'évite simplement de faire appel à une dll externe quand c'est possible (c'est le cas ici).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 9969
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Formatage (page A4)   Mer 20 Fév 2013 - 23:43

Certes. Dll ou outil tiers - où est la différence ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 5882
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Formatage (page A4)   Jeu 21 Fév 2013 - 0:13

C'est un choix personnel, l'"outil tiers" (IrfanView) est installé chez moi depuis toujours, alors je l'utilise pour ses nombreuses possibilités.
Mais évidemment, chacun fait à son idée, et c'est bien comme ça.

De toute façon, je ne vois toujours pas le rapport de la dll d'impression avec la sub ci-dessus, ce n'est pas du tout du redimensionnement d'image à l'impression, mais de la mise en page avec un mélange de textes et d'images ... ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 9969
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Formatage (page A4)   Jeu 21 Fév 2013 - 0:42

Je sais bien. C'est justement pour ça: tu peux précisément placer le texte et/ou les images où tu veux, en choisissant chaque fois les attributs, etc. Ces routines sont faites pour qu'on puisse réaliser un "composeur" de pages.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7824
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 21 Fév 2013 - 0:43

ygeronimi a encore gaffé... Laughing

...et voilà que ça se dispute Embarassed

Je n'ai pas eu le temps d'approfondir sur ton code JL35 mais promis,
je le fais dès que j'arrive au bout de mon jeu... Wink

( bon, il va me falloir charger IrfanView mais ça c'est un détail Laughing )
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5838
Age : 44
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Formatage (page A4)   Jeu 21 Fév 2013 - 0:44

Ben ils ne se disputent pas. Ils échangent sur des points de vus différents, enfin plutôt sur 2 méthodes différentes.
Echanger entre 2 points de vue différents ne signifie pas forcément se disputer Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 9969
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Formatage (page A4)   Jeu 21 Fév 2013 - 0:45

Attention ! Je ne veux surtout froisser personne, et comme le dit si bien JL35, chacun est libre de choisir l'outil qu'il préfère. Je voulais juste apporter une petite information sur les capacités de mes routines, c'est tout.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7824
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 21 Fév 2013 - 0:53

Perso , j'ai beau y mettre toute la bonne volonté du monde...
...je pige toujours rien à l'impression. Embarassed

Je crois qu'il va me falloir un "pas à pas" pour "super nul"... Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 5882
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Formatage (page A4)   Jeu 21 Fév 2013 - 0:58

ca va sans dire, mais ça va encore mieux en le disant, bien entendu je suis d'accord avec Jicehel et avec Klaus, c'est un échange de points de vue et rien d'autre ! quand même, on est entre gens civilisés !

Et pour ygeronimi (et Klaus aussi), c'est vrai que le paramétrage de la dll d'impression n'est pas hyper simple ! dommage qu'il n'y ait pas des fonctions d'impression incluses dans Panoramic.


Dernière édition par JL35 le Jeu 21 Fév 2013 - 1:01, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5384
Age : 66
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Formatage (page A4)   Jeu 21 Fév 2013 - 1:01

Un super nul qui fait des jeux n’est pas aussi super (super nul s’entend !) que ça !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
JL35



Nombre de messages : 5882
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Formatage (page A4)   Jeu 21 Fév 2013 - 1:04

Et pour ygeronimi un petit tutoriel vite fait:

1) mettre une feuille A4 dans l'imprimante
2) cliquer sur 'Imprimer'

et voila !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 9969
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Formatage (page A4)   Jeu 21 Fév 2013 - 1:07

Je vais voir ce que je peux faire pour concocter un tuto sur l'impression avec KGF.dll...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 5882
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Formatage (page A4)   Jeu 21 Fév 2013 - 1:12

En effet, ça serait pas mal du tout, parce que c'est quand même assez complexe à utiliser.
Ou alors il faudrait une espèce d'interface en panoramic, mais c'est pas sûr que ce soit plus simple.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5838
Age : 44
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Formatage (page A4)   Jeu 21 Fév 2013 - 2:24

JL35, je vais t'engager pour faire mes proc. Tu as l'art d'être concis dans tes procédures Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 5882
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Formatage (page A4)   Jeu 21 Fév 2013 - 15:17

Euh, très flatté Jicehel, mais je ne suis pas très disponible en ce moment Very Happy ça dépend combien tu payes ?

La concision c'est une vieille habitude des anciennes machines où la mémoire vive était vraiment riquiqui: mon premier pc sérieux (ça ne s'appelait pas encore pc d'ailleurs) n'en avait que 4k ! ... que j'ai dès que j'ai pu étendu à 64k à coups de fer à souder, c'était le bon vieux temps !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Formatage (page A4)   Jeu 21 Fév 2013 - 16:49

Citation :
j'ai dès que j'ai pu étendu à 64k à coups de fer à souder, c'était le bon vieux temps !
Sur le mien j'en avait 12k à l'époque. Malheureusement le fer à soudé qu'on m'a prêté, à cramé pendant une soudure. Résultat, je me suis retrouvé dans le noir, et mes TTL, j'en ai bien remplacé une vingtaine, sinon plus, jusqu'à ce qu'on me redemande l'oscillo. qu'un autre m'avait prété. Là c'était la mort de mon ordi.
Tiens je vais faire une prière pour celui-ci.
Pater Nosters.(raccourci) fin! (je site Ygenorimi: j'ai la mémoire qui flanche...)
Revenir en haut Aller en bas
Jicehel

avatar

Nombre de messages : 5838
Age : 44
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Formatage (page A4)   Jeu 21 Fév 2013 - 16:49

A priori, tu as connu comme moi le temps du 8080... Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 5882
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Formatage (page A4)   Jeu 21 Fév 2013 - 17:33

Je rectifie quand même, je n'étais pas passé à 64k mais à 16k (sur un TRS-80, superbe machine... pour l'époque !), ce qui était déjà un bond fantastique.
(J'ai confondu avec le boulot où on était passés à 64k (mots de 4 octets cette fois-ci).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5384
Age : 66
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Formatage (page A4)   Jeu 21 Fév 2013 - 20:15

Moi, j’ai connu le Z80, ancêtre du 8080 qui était considéré à l’époque comme un SUPER Z80.
Mon ordi de l’époque disposait de 1 Ko (le fameux zx81).
Je l’ai dopé par une extension de 16 Ko (qui était plus lourde que le zx81 lui-même).
Je la mettais sur un livre pour qu’elle ne contre balance pas l’ordi !

En branchant l’extension de 16 Ko, le 1 Ko d’origine se trouvait hors usage.
Un magazine de l’époque indiquait comment faire pour récupérer ce précieux 1 Ko.
Alors fer à souder et tout le bazar….
Ah la belle époque !




Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
JL35



Nombre de messages : 5882
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Formatage (page A4)   Jeu 21 Fév 2013 - 20:16

J'ai eu aussi... mais sans extension, veinard !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
bignono

avatar

Nombre de messages : 1079
Age : 60
Localisation : Val de Marne
Date d'inscription : 13/11/2011

MessageSujet: Re: Formatage (page A4)   Jeu 21 Fév 2013 - 20:23

Ça c'était ma bête, et de fabrication Française! Cocorico! Very Happy
[img][/img]
16k, et après j'ai acheté une cartouche que l'on enfonçait sur le coté gauche prise rs232 et on avait accès à un basic 3x de 32ko si mes souvenirs sont exacts!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Formatage (page A4)   

Revenir en haut Aller en bas
 
Formatage (page A4)
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 3Aller à la page : 1, 2, 3  Suivant
 Sujets similaires
-
» [Résolu] Formatage sous W7
» [Annulée] Demande de page d'aceuil
» [Annulée] Demande une page HTML
» [résolu] Lien dans image survolée vers page html
» lien vers page php

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Vos sources, vos utilitaires à partager-
Sauter vers: