FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Pochette de CD Emptypar Pedro Hier à 10:37

» Un autre pense-bête...
Pochette de CD Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Pochette de CD Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Pochette de CD Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Pochette de CD Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Pochette de CD Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Pochette de CD Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Pochette de CD Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Pochette de CD Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Pochette de CD Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Pochette de CD Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Pochette de CD Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Pochette de CD Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Pochette de CD Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Pochette de CD Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-38%
Le deal à ne pas rater :
Ecran PC gaming 23,8″ – ACER KG241Y P3bip à 99,99€
99.99 € 159.99 €
Voir le deal

 

 Pochette de CD

Aller en bas 
5 participants
AuteurMessage
JL35




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

Pochette de CD Empty
MessageSujet: Pochette de CD   Pochette de CD EmptyMer 17 Avr 2013 - 22:49

Un petit truc vite fait pour fabriquer une pochette de CD, à imprimer sur cartoline par exemple (chez moi du 160g) avant découpage, repliage et collage.
J'ai fait vite, j'aurais pu faire plus sophistiqué avec image de fond par exemple, mais je n'en avais pas besoin.
Il faut disposer de IrfanView pour l'impression, si on préfère on peut utiliser la dll de Klaus.
Il faudra peut-être ajuster la variable fact en tête pour obtenir la bonne dimension à l'impression: 24,6 x 14,3 mm
Code:

LABEL Initobj, Fixy, Exec, Texte, Imprime, Chpol, Valpol, Aide
DIM a$, rc$, fs$
DIM w%, h%, wp%, hp%, hl%, fact, xa%, xb%, wt%, h2%, h3%, cnt%, cot%, cof%, coc%
DIM l1%, l2%, l%, i%, j%, k%, tx$(20), lmx%, hmx%, xt%, yt%, xsv%, ysv%, xsr%, ysr%
DIM mtxv%, mtxr%, sxr%, sxv%, syr%, syv%, chr%, chv%, cvr%, cvv%, epr%, epv%
DIM szr%, szv%, gisv%, gisr%, tsv%, tsr%, ctv%, ctr%, cfv%, cfr%, ccv%, ccr%
DIM fli%, flv%, flr%, mem%, sx%, sy%, ch%, cv%, ofx%
DIM res%, hnd%, cnv%, wim%, him%, ppmm: ' impression (dll)
DLL_ON "C:\PANORAMIC\KLAUS\DLLs\KGF.dll": ' <=*=*=*=*=*=*=*= à ajuster =*=*=*=*=

fs$ = "C:\TEMP\Pochette.bmp"

w% = 123: h% = 123: ' dimensions de la pochette terminée, en mm
fact = 3.7: ' pour grandeur nature à l'écran (à ajuster)
wp% = w%*fact: hp% = h%*fact
xsv% = -1: xsr% = -1

hl% = 10*fact: ' languette
PICTURE 1:TOP 1,5: LEFT 1,10: WIDTH 1,wp%*2: HEIGHT 1,hp%+2*hl%
COLOR 1, 190,190,190: ON_CLICK 1, Fixy
WIDTH 0,WIDTH(1)+36: HEIGHT 0,HEIGHT(1)+500: BORDER_SMALL 0
COLOR 0,255,128,64: CAPTION 0, "  -  POCHETTE  DE  CD-ROM  OU  DVD  - "+STR$(height(0))
FONT_BOLD 0
2D_TARGET_IS 1: 2D_RECTANGLE 0,hl%,WIDTH(1),hp%+hl%
xa% = 5*fact: xb% = wp% - 5*fact
2D_LINE wp%,hl%,wp%,hp%+hl%
2D_LINE 0,hl%,xa%,0: 2D_POLY_TO xb%,0: 2D_POLY_TO wp%,hl%
2D_FLOOD xa%,hl%-5,255,255,255
2D_LINE xa%,0,wp%,hl%: 2D_LINE 0,hl%,xb%,0
2D_LINE 0,hl%+hp%,xa%,HEIGHT(1)-1: 2D_POLY_TO xb%,HEIGHT(1)-1
2D_POLY_TO wp%,hp%+hl%-1
2D_FLOOD xa%,hl%+hp%+5,255,255,255
2D_LINE xa%,HEIGHT(1),wp%,hp%+hl%: 2D_LINE 0,hp%+hl%,xb%,HEIGHT(1)
PRINT_TARGET_IS 1: FONT_NAME 1,"Arial": FONT_SIZE 1, 8
a$ = " replier et encoller "
wt% = TEXT_WIDTH(a$, 1)
PRINT_LOCATE (wp%-wt%)/2,hl%/3: PRINT a$
PRINT_LOCATE (wp%-wt%)/2,hl%+hp%+hl%/3: PRINT a$
h2% = HEIGHT(1)+20
l1% = 10: l2% = wp%+15
' ================================ VERSO =======================================
cnt% = 10: l% = l1%: GOSUB Initobj
mtxv% = cnt%+1: ' memo verso
sxv% = cnt%+3: syv% = cnt%+4: chv% = cnt%+5: cvv% = cnt%+6: ' position verso
epv% = cnt%+7: szv% = cnt%+8: ' edit police, spin taille verso
gisv% = cnt%+9: ' enrichissements verso
tsv% = cnt%+12
ctv% = cot%: ' container couleur texte verso
cfv% = cof%: ' container couleur fond verso
ccv% = coc%: ' container couleur cadre verso
flv% = fli%
' ================================ RECTO =======================================
cnt% = 100: l% = l2%: GOSUB Initobj
mtxr% = cnt%+1: ' memo recto
sxr% = cnt%+3: syr% = cnt%+4: chr% = cnt%+5: cvr% = cnt%+6: ' position recto
epr% = cnt%+7: szr% = cnt%+8: ' edit police, spin taille recto
gisr% = cnt%+9: ' enrichissements recto
tsr% = cnt%+12
ctr% = cot%: ' container couleur texte recto
cfr% = cof%: ' container couleur fond recto
ccr% = coc%: ' container couleur cadre recto
flr% = fli%
' ==============================================================================
h3% = h2% + HEIGHT(cnt%) + 10
BUTTON 200: TOP 200,h3%: LEFT 200,wp%-70: CAPTION 200, "Aperçu"
ON_CLICK 200, Exec
BUTTON 201: TOP 201,TOP(200): LEFT 201,l2%: CAPTION 201,"Imprimer"
ON_CLICK 201, Imprime
CHECK 202: TOP 202,TOP(201)+5: LEFT 202,LEFT(201)+90: WIDTH 202,350
CAPTION 202,"Supprimer le fichier image temporaire après impression"
MARK_ON 202
BUTTON 203: TOP 203,h3%: LEFT 203,10: WIDTH 203,40: cAPTION 203, "?"
ON_CLICK 203, Aide

IMAGE 300
IMAGE 301

END
' ==============================================================================
' ==============================================================================
Initobj:
' Définition des objets Recto et Verso
CONTAINER cnt%: TOP cnt%,h2%: LEFT cnt%,l%: WIDTH cnt%,wp%-5: HEIGHT cnt%,410
a$ = "TEXTE VERSO :": IF l% = l2% THEN a$ = "TEXTE RECTO :"
COLOR cnt%, 140,255,255: CAPTION cnt%,a$
MEMO cnt%+1: PARENT cnt%+1,cnt%: TOP cnt%+1,15: LEFT cnt%+1,5: WIDTH cnt%+1,wp%-15
HEIGHT cnt%+1,200
ALPHA cnt%+2: PARENT cnt%+2,cnt%: TOP cnt%+2,HEIGHT(cnt%+1)+22: LEFT cnt%+2,5
CAPTION cnt%+2,"Position: X=            Y="
SPIN cnt%+3: PARENT cnt%+3,cnt%: TOP cnt%+3,TOP(cnt%+2)-2: LEFT cnt%+3,75: WIDTH cnt%+3,45
SPIN cnt%+4: PARENT cnt%+4,cnt%: TOP cnt%+4,TOP(cnt%+3): LEFT cnt%+4,140: WIDTH cnt%+4,45
MIN cnt%+3,0: MAX cnt%+3,wp%: MIN cnt%+4,0: MAX cnt%+4,hp%
CHECK cnt%+5: PARENT cnt%+5,cnt%: TOP cnt%+5,TOP(cnt%+3): LEFT cnt%+5,200
CAPTION cnt%+5,"Centré H"
CHECK cnt%+6: PARENT cnt%+6,cnt%: TOP cnt%+6,TOP(cnt%+5): LEFT cnt%+6,270
CAPTION cnt%+6,"Centré V"
EDIT cnt%+7: PARENT cnt%+7,cnt%: TOP cnt%+7,TOP(cnt%+2)+20: LEFT cnt%+7,5
WIDTH cnt%+7,140: TEXT cnt%+7, "Arial": ON_CLICK cnt%+7, Chpol
SPIN cnt%+8: PARENT cnt%+8,cnt%: TOP cnt%+8,TOP(cnt%+7): LEFT cnt%+8,WIDTH(cnt%+7)+10
WIDTH cnt%+8,45: MIN cnt%+8,5: MAX cnt%+8,120: POSITION cnt%+8,10
CHECK cnt%+9: PARENT cnt%+9,cnt%: TOP cnt%+9,TOP(cnt%+8): LEFT cnt%+9,LEFT(cnt%+8)+50
CAPTION cnt%+9,"Gras"
CHECK cnt%+10: PARENT cnt%+10,cnt%: TOP cnt%+10,TOP(cnt%+8): LEFT cnt%+10,LEFT(cnt%+9)+45
CAPTION cnt%+10,"Ital."
CHECK cnt%+11: PARENT cnt%+11,cnt%: TOP cnt%+11,TOP(cnt%+8): LEFT cnt%+11,LEFT(cnt%+10)+45
CAPTION cnt%+11,"Soul."
CHECK cnt%+12: PARENT cnt%+12,cnt%: TOP cnt%+12,TOP(cnt%+5)+12
LEFT cnt%+12,LEFT(cnt%+11)+65: COLOR cnt%+12,255,255,0: CAPTION cnt%+12,"Texte seul"
cot% = cnt%+20
CONTAINER_OPTION cot%: PARENT cot%,cnt%: TOP cot%,TOP(cnt%+8)+25: LEFT cot%,5
WIDTH cot%,WIDTH(cnt%+1): HEIGHT cot%,40: COLOR cot%,255,255,164
CAPTION cot%,"Couleur du texte :"
OPTION cot%+1: PARENT cot%+1,cot%: TOP cot%+1,15: LEFT cot%+1,5: CAPTION cot%+1,"Noir"
OPTION cot%+2: PARENT cot%+2,cot%: TOP cot%+2,15: LEFT cot%+2,53: CAPTION cot%+2,"Rouge"
OPTION cot%+3: PARENT cot%+3,cot%: TOP cot%+3,15: LEFT cot%+3,108: CAPTION cot%+3,"Vert"
OPTION cot%+4: PARENT cot%+4,cot%: TOP cot%+4,15: LEFT cot%+4,155: CAPTION cot%+4,"Bleu"
OPTION cot%+5: PARENT cot%+5,cot%: TOP cot%+5,15: LEFT cot%+5,205: CAPTION cot%+5,"Jaune"
OPTION cot%+6: PARENT cot%+6,cot%: TOP cot%+6,15: LEFT cot%+6,260: CAPTION cot%+6,"Blanc"
cof% = cot%+10
CONTAINER_OPTION cof%: PARENT cof%,cnt%: TOP cof%,TOP(cot%)+45: LEFT cof%,5
WIDTH cof%,WIDTH(cnt%+1): HEIGHT cof%,40: COLOR cof%,255,255,164
MARK_ON cot%+1
CAPTION cof%,"Couleur du fond :"
OPTION cof%+1: PARENT cof%+1,cof%: TOP cof%+1,15: LEFT cof%+1,5: CAPTION cof%+1,"Noir"
OPTION cof%+2: PARENT cof%+2,cof%: TOP cof%+2,15: LEFT cof%+2,53: CAPTION cof%+2,"Rouge"
OPTION cof%+3: PARENT cof%+3,cof%: TOP cof%+3,15: LEFT cof%+3,108: CAPTION cof%+3,"Vert"
OPTION cof%+4: PARENT cof%+4,cof%: TOP cof%+4,15: LEFT cof%+4,155: CAPTION cof%+4,"Bleu"
OPTION cof%+5: PARENT cof%+5,cof%: TOP cof%+5,15: LEFT cof%+5,205: CAPTION cof%+5,"Jaune"
OPTION cof%+6: PARENT cof%+6,cof%: TOP cof%+6,15: LEFT cof%+6,260: CAPTION cof%+6,"Blanc"
MARK_ON cof%+6
coc% = cof%+10
CHECK coc%-1: PARENT coc%-1,cnt%: TOP coc%-1,TOP(cof%)+55: LEFT coc%-1,5: CAPTION coc%-1,"Cadre"
CONTAINER_OPTION coc%: PARENT coc%,cnt%: TOP coc%,TOP(cof%)+45: LEFT coc%,60: WIDTH coc%,305
HEIGHT coc%,40: COLOR coc%,255,255,164: CAPTION coc%,"Couleur du cadre :"
OPTION coc%+1: PARENT coc%+1,coc%: TOP coc%+1,15: LEFT coc%+1,5: CAPTION coc%+1,"Noir"
OPTION coc%+2: PARENT coc%+2,coc%: TOP coc%+2,15: LEFT coc%+2,48: CAPTION coc%+2,"Rouge"
OPTION coc%+3: PARENT coc%+3,coc%: TOP coc%+3,15: LEFT coc%+3,105: CAPTION coc%+3,"Vert"
OPTION coc%+4: PARENT coc%+4,coc%: TOP coc%+4,15: LEFT coc%+4,150: CAPTION coc%+4,"Bleu"
OPTION coc%+5: PARENT coc%+5,coc%: TOP coc%+5,15: LEFT coc%+5,195: CAPTION coc%+5,"Jaune"
OPTION coc%+6: PARENT coc%+6,coc%: TOP coc%+6,15: LEFT coc%+6,248: CAPTION coc%+6,"Blanc"
MARK_ON coc%+1
SPIN coc%+7: PARENT coc%+7,cnt%: TOP coc%+7,TOP(coc%-1): LEFT coc%+7,LEFT(coc%)+310
WIDTH coc%+7,40
ALPHA coc%+8: PARENT coc%+8,cnt%: TOP coc%+8,TOP(coc%+7)+2: LEFT coc%+8,LEFT(coc%+7)+40
MIN coc%+7,1: MAX coc%+7,20: POSITION coc%+7,3
CAPTION coc%+8, "pixels"
fli% = coc%+10
LIST fli%: PARENT fli%, cnt%: TOP fli%,TOP(cnt%+7)+25: LEFT fli%,LEFT(cnt%+7)
WIDTH fli%,190: HEIGHT fli%,140: FONT_NAMES_LOAD fli%: HIDE fli%: ON_CLICK fli%, Valpol
FOR i% = COUNT(fli%) TO 1 STEP -1
    IF LEFT$(ITEM_READ$(fli%,i%),1) = "@" THEN ITEM_DELETE fli%,i%
NEXT i%
RETURN
' ==============================================================================
Fixy:
xt% = MOUSE_X_LEFT_DOWN(1): yt% = MOUSE_Y_LEFT_DOWN(1)
IF yt% < hl% OR yt% > (hl%+hp%) THEN RETURN: ' clic en dehors
IF xt% < wp%
    POSITION sxv%,xt%: POSITION syv%,yt% - hl%: ' moins le rabat
    IF xsv% <> -1 THEN 2D_IMAGE_PASTE 300,xsv%, ysv%: ' restore le précédent
    xsv% = xt%-10: ysv% = yt%-10
    2D_IMAGE_COPY 300,xsv%,ysv%,xt%+10,yt%+10
ELSE
    POSITION sxr%,xt%-wp%: POSITION syr%, yt% - hl%
    IF xsr% <> -1 THEN 2D_IMAGE_PASTE 301,xsr%, ysr%: ' restore le précédent
    xsr% = xt%-10: ysr% = yt%-10
    2D_IMAGE_COPY 301,xsr%,ysr%,xt%+10,yt%+10
END_IF
2D_LINE xt%-10,yt%,xt%+10,yt%: 2D_LINE xt%,yt%-10,xt%,yt%+10
RETURN
' ==============================================================================
Exec:
2D_TARGET_IS 1: PRINT_TARGET_IS 1
' 1) VERSO ------------------
IF CHECKED(tsv%) = 0
    ' Dessin complet du verso: tous les paramètres
    ' Couleur fond
    FOR i% = cfv%+1 TO cfv%+6
        IF CHECKED(i%) = 1 THEN i% = i%-cfv%: EXIT_FOR
    NEXT i%
    SELECT i%
        CASE 1: 2D_FILL_COLOR 0,0,0
        CASE 2: 2D_FILL_COLOR 255,0,0
        CASE 3: 2D_FILL_COLOR 0,255,0
        CASE 4: 2D_FILL_COLOR 0,0,255
        CASE 5: 2D_FILL_COLOR 255,255,0
        CASE 6: 2D_FILL_COLOR 255,255,255
    END_SELECT
    2D_RECTANGLE 0,hl%,wp%+1,hl%+hp%
    ' Cadre
    IF CHECKED(ccv%-1) = 1
        FOR i% = ccv%+1 TO ccv%+6
            IF CHECKED(i%) = 1 THEN i% = i%-ccv%: EXIT_FOR
        NEXT i%
        SELECT i%
            CASE 1: 2D_PEN_COLOR 0,0,0
            CASE 2: 2D_PEN_COLOR 255,0,0
            CASE 3: 2D_PEN_COLOR 0,255,0
            CASE 4: 2D_PEN_COLOR 0,0,255
            CASE 5: 2D_PEN_COLOR 255,255,0
            CASE 6: 2D_PEN_COLOR 255,255,255
        END_SELECT
        2D_PEN_WIDTH POSITION(ccv%+7)
        2D_RECTANGLE 20,hl%+20,wp%-20,hl%+hp%-20
    END_IF
ELSE
    ' ajout de texte seul, prise en compte de la couleur de fond
    i% = 3: j% = hl%+3
    2D_FILL_COLOR COLOR_PIXEL_RED(1,i%,j%),COLOR_PIXEL_GREEN(1,i%,j%),COLOR_PIXEL_BLUE(1,i%,j%)
END_IF
' Couleur caractères
FOR i% = ctv%+1 TO ctv%+6
    IF CHECKED(i%) = 1 THEN i% = i%-ctv%: EXIT_FOR
NEXT i%
SELECT i%
    CASE 1: FONT_COLOR 1,0,0,0
    CASE 2: FONT_COLOR 1,255,0,0
    CASE 3: FONT_COLOR 1,0,255,0
    CASE 4: FONT_COLOR 1,0,0,255
    CASE 5: FONT_COLOR 1,255,255,0
    CASE 6: FONT_COLOR 1,255,255,255
END_SELECT
FONT_NAME 1, TEXT$(epv%): FONT_SIZE 1,POSITION(szv%)
FONT_BOLD_OFF 1: FONT_ITALIC_OFF 1: FONT_UNDERLINE_OFF 1
IF CHECKED(gisv%) = 1 THEN FONT_BOLD 1
IF CHECKED(gisv%+1) = 1 THEN FONT_ITALIC 1
IF CHECKED(gisv%+2) = 1 THEN FONT_UNDERLINE 1
' Texte
mem% = mtxv%: GOSUB Texte

' 2) RECTO --------------------
2D_PEN_COLOR 0,0,0: 2D_PEN_WIDTH 1
IF CHECKED(tsr%) = 0
    ' Dessin complet du recto: tous les paramètres
    xsv% = -1: xsr% = -1
    ' Couleur fond
    FOR i% = cfr%+1 TO cfr%+6
        IF CHECKED(i%) = 1 THEN i% = i%-cfr%: EXIT_FOR
    NEXT i%
    SELECT i%
        CASE 1: 2D_FILL_COLOR 0,0,0
        CASE 2: 2D_FILL_COLOR 255,0,0
        CASE 3: 2D_FILL_COLOR 0,255,0
        CASE 4: 2D_FILL_COLOR 0,0,255
        CASE 5: 2D_FILL_COLOR 255,255,0
        CASE 6: 2D_FILL_COLOR 255,255,255
    END_SELECT
    2D_RECTANGLE wp%,hl%,2*wp%,hl%+hp%
    ' Cadre
    IF CHECKED(ccr%-1) = 1
        FOR i% = ccr%+1 TO ccr%+6
            IF CHECKED(i%) = 1 THEN i% = i%-ccr%: EXIT_FOR
        NEXT i%
        SELECT i%
            CASE 1: 2D_PEN_COLOR 0,0,0
            CASE 2: 2D_PEN_COLOR 255,0,0
            CASE 3: 2D_PEN_COLOR 0,255,0
            CASE 4: 2D_PEN_COLOR 0,0,255
            CASE 5: 2D_PEN_COLOR 255,255,0
            CASE 6: 2D_PEN_COLOR 255,255,255
        END_SELECT
        2D_PEN_WIDTH POSITION(ccr%+7)
        2D_RECTANGLE wp%+20,hl%+20,2*wp%-20,hl%+hp%-20
    END_IF
ELSE
    ' ajout de texte seul, prise en compte de la couleur de fond
    i% = wp%+3: j% = hl%+3
    2D_FILL_COLOR COLOR_PIXEL_RED(1,i%,j%),COLOR_PIXEL_GREEN(1,i%,j%),COLOR_PIXEL_BLUE(1,i%,j%)
END_IF
' Couleur caractères
FOR i% = ctr%+1 TO ctr%+6
    IF CHECKED(i%) = 1 THEN i% = i%-ctr%: EXIT_FOR
NEXT i%
SELECT i%
    CASE 1: FONT_COLOR 1,0,0,0
    CASE 2: FONT_COLOR 1,255,0,0
    CASE 3: FONT_COLOR 1,0,255,0
    CASE 4: FONT_COLOR 1,0,0,255
    CASE 5: FONT_COLOR 1,255,255,0
    CASE 6: FONT_COLOR 1,255,255,255
END_SELECT
FONT_NAME 1, TEXT$(epr%): FONT_SIZE 1,POSITION(szr%)
IF CHECKED(gisr%) = 1 THEN FONT_BOLD 1
IF CHECKED(gisr%+1) = 1 THEN FONT_ITALIC 1
IF CHECKED(gisr%+2) = 1 THEN FONT_UNDERLINE 1
' Texte
mem% = mtxr%: GOSUB Texte
xsv% = -1: xsr% = -1
2D_PEN_COLOR 0,0,0: 2D_PEN_WIDTH 1
RETURN
' ==============================================================================
Texte:
IF COUNT(mem%) = 0 THEN RETURN
lmx% = 0
FOR i% = 1 TO COUNT(mem%)
    a$ = ITEM_READ$(mem%, i%): j% = TEXT_WIDTH(a$, 1): ' largeur maxi
    IF j% > lmx% THEN lmx% = j%
NEXT i%
k% = TEXT_HEIGHT("Abjp",1): hmx% = k%*COUNT(mem%): ' hauteur totale
IF mem% = mtxv%
    sx%=sxv%: sy%=syv%: ch%=chv%: cv%=cvv%: ofx% = 0: ' recto
    IF xsv% <> -1 THEN 2D_IMAGE_PASTE 300,xsv%, ysv%: ' restore
ELSE
    sx%=sxr%: sy%=syr%: ch%=chr%: cv%=cvr%: ofx% = wp%: ' offset recto
    IF xsr% <> -1 THEN 2D_IMAGE_PASTE 301,xsr%, ysr%: ' restore
END_IF
IF CHECKED(ch%) = 1
    xt% = (wp%-lmx%)/2: POSITION sx%, xt%
ELSE
    xt% = POSITION(sx%)
END_IF
IF CHECKED(cv%) = 1
    yt% = (hp%-hmx%)/2: POSITION sy%, yt%
ELSE
    yt% = POSITION(sy%)
END_IF
yt% = yt% + hl%: ' + hauteur languette
FOR i% = 1 TO COUNT(mem%)
    a$ = ITEM_READ$(mem%, i%): IF a$ = "" THEN a$ = " "
    IF CHECKED(ch%) = 1 THEN j% = TEXT_WIDTH(a$, 1): xt% = (wp%-j%)/2: ' centré
    PRINT_LOCATE ofx%+xt%, yt%: PRINT a$
    j% = TEXT_HEIGHT(a$,1): yt% = yt% + j%: IF yt% > (hl%+hp%-j%) THEN EXIT_FOR
NEXT i%
RETURN
' ==============================================================================
Imprime:
' image de 700x406 pixels (désirée sur papier en 246 x 143 mm)
FILE_SAVE 1, fs$
' 1) Caractéristiques imprimante
res% = DLL_Call4("PrinterManager",4,ADR(hnd%),ADR(cnv%),1): ' orientation paysage
res% = DLL_call4("PrinterManager",1,adr(hnd%),adr(cnv%),0): ' init
res% = DLL_call6("PrinterFunction",8,adr(hnd%),adr(cnv%),4,0,0): ' pixels en largeur
' ci-dessous; en mode paysage, les val%() vertical/horizontal sont inversées !
ppmm = res%/210: ' pixels par mm à l'impression
wim% = 246*ppmm: him% = 143*ppmm: ' dimensions de l'image finale (5813x3379 pixels)
' 2) Impression de l'image
res% = DLL_Call6("PrinterFunction",7,ADR(hnd%),ADR(cnv%),ADR(fs$),wim%,him%)
res% = DLL_Call4("PrinterManager",3,ADR(hnd%),ADR(cnv%),0): ' lancement impression
IF CHECKED(202) = 1
    FILE_DELETE fs$: ' suppression du fichier image
END_IF
RETURN
' ==============================================================================
Chpol:
i% = NUMBER_CLICK
IF i% = epv%
    SHOW flv%
ELSE
    SHOW flr%
END_IF
RETURN
' ==============================================================================
Valpol:
i% = NUMBER_CLICK
IF i% = flv%
    TEXT epv%,ITEM_INDEX$(flv%): HIDE flv%
ELSE
    TEXT epr%, ITEM_INDEX$(flr%): HIDE flr%
END_IF
RETURN
' ==============================================================================
Aide:
rc$ = CHR$(13)+CHR$(10)
a$ = CHR$(9)+"- FABRICATION D'UNE POCHETTE DE CD OU DVD -"+rc$+rc$
a$=a$+"    Garnir les paramètres de texte (position, fonte, enrichissements,"+rc$
a$=a$+"couleur), choisir la couleur de fond et l'encadrement éventuel (par un"+rc$
a$=a$+"carré de couleur et d'épaisseur choisis), puis touche 'Aperçu' pour"+rc$
a$=a$+"voir le résultat."+rc$+rc$
a$=a$+"    On peut fixer la position haut à gauche du texte, soit en saisissant"+rc$
a$=a$+"les valeurs pour X et Y, soit en cochant les cases de centrage, soit en"+rc$
a$=a$+"cliquant l'emplacement dans la zone, ce qui modifie les valeurs X et Y"+rc$
a$=a$+"correspondantes."+rc$+rc$
a$=a$+"    Il est possible, en cochant le choix 'Texte seul', d'ajouter ensuite"+rc$
a$=a$+"du texte à un autre emplacement avec éventuellement des caractéristiques"+rc$
a$=a$+"de taille, police, couleur différentes."+rc$
a$=a$+"    A chaque fois, on peut visualiser le résultat par le bouton 'Aperçu'."+rc$+rc$
a$=a$+"    Une fois le résultat désiré obtenu, il est possible de l'imprimer"+rc$
a$=a$+"(bouton 'Imprimer') pour fabrication matérielle de la pochette, de"+rc$
a$=a$+"préférence sur du papier fort (cartoline) pour un résultat plus rigide."+rc$
a$=a$+"Il suffit de découper l'ensemble, de rabattre et encoller les deux"+rc$
a$=a$+"languettes, puis de rabattre le recto sur les languettes."+rc$+rc$
a$=a$+"L'impression se fait directement sans dialogue supplémentaire, à l'aide"+rc$
a$=a$+"des fonctions d'impression de KGF.dll. L'imprimante doit donc être prête"+rc$
a$=a$+"au moment où on lance l'impression."+rc$+rc$
a$=a$+"Puis découper la forme aux ciseaux, replier les deux languettes et le"+rc$
a$=a$+"recto vers l'arrière, encoller les languettes à la colle à papier (bâton)"+rc$
a$=a$+"(glisser une feuille dessous pour éviter de coller l'intérieur), y appliquer"+rc$
a$=a$+"le recto, aplatir, c'est terminé."+rc$
MESSAGE a$
RETURN
' ==============================================================================
Edit Màj 18/4, voir plus bas
19/4 petites modifs esthétiques et autres.


Dernière édition par JL35 le Ven 19 Avr 2013 - 18:56, édité 3 fois
Revenir en haut Aller en bas
Klaus

Klaus


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

Pochette de CD Empty
MessageSujet: Re: Pochette de CD   Pochette de CD EmptyMer 17 Avr 2013 - 23:05

Petit truc ? Peut-être, mais astucieux !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
JL35




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

Pochette de CD Empty
MessageSujet: Re: Pochette de CD   Pochette de CD EmptyMer 17 Avr 2013 - 23:15

Merci Klaus !
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Pochette de CD Empty
MessageSujet: Re: Pochette de CD   Pochette de CD EmptyMer 17 Avr 2013 - 23:36

Merci JL35, a garder sous le coude
Revenir en haut Aller en bas
JL35




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

Pochette de CD Empty
MessageSujet: Re: Pochette de CD   Pochette de CD EmptyJeu 18 Avr 2013 - 23:26

Une petite mise à jour là-haut:

- essentiellement suppression de l'appel à IrfanView pour l'impression, celle-ci se fait en appelant les fonctions d'impression de KGF.dll de l'ami Klaus, c'est beaucoup plus simple et automatique.

- ajout de la possibilité de rajouter du texte comme on veut, avec des polices, tailles et enrichissements différents.
- prise en compte du clic dans la zone pour fixer l'emplacement du texte.

- ajout d'une petite aide succincte et simple, comme le programme.
Revenir en haut Aller en bas
Klaus

Klaus


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

Pochette de CD Empty
MessageSujet: Re: Pochette de CD   Pochette de CD EmptyJeu 18 Avr 2013 - 23:35

Très joli ! Belle application.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Pochette de CD Empty
MessageSujet: re   Pochette de CD EmptyVen 19 Avr 2013 - 0:19

Je vais regarder çà de très près, très très près...
...peut être vais je enfin comprendre quelque chose aux impressions... Laughing
Revenir en haut Aller en bas
pascal10000

pascal10000


Nombre de messages : 812
Localisation : Troyes
Date d'inscription : 05/02/2011

Pochette de CD Empty
MessageSujet: Re: Pochette de CD   Pochette de CD EmptyVen 19 Avr 2013 - 14:51

bjr a vous tous
jl35
je vient de faire un test a ton programme
que j'ai trouvé très bien

quelque suggestion a te faire
la hauteur du form je le trouve un peut trop grand par rapport à la hauteur
de l’écran chez moi il le dépasse
ensuite pourquoi ne fait tu pas un prélèvement avec un clic pour choisir
l'endroit ou tu veut écrire ton texte par exemple mettre la liste des chansons
ça irai plus vite que de se servir des splits et puis tu peux t'en servir par la suite
pour fignoler
pour moi c'est mon point de vue, tu fait ce qu'il te plait dans tes création
mais moi je m'en sert beaucoup de cette option et puis sa donne
une ptite pointe professionnel
allez a + et bon w-end
Revenir en haut Aller en bas
JL35




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

Pochette de CD Empty
MessageSujet: Re: Pochette de CD   Pochette de CD EmptyVen 19 Avr 2013 - 15:16

Bonjour pascal,
D'abord merci de t'intéresser au programme, et tes remarques sont intéressantes.

- Concernant la hauteur totale du form 0, je reconnais que c'est un peu grand (je suis mal habitué avec mon écran de 1200 pixels de hauteur, alors je prends mes aises...), il faudrait rogner un peu pour que ça tienne au moins dans un 1080 qui est plus la norme, mais on ne pourra guère descendre en-dessous sans revoir toute la géographie de l'implantation des éléments.
En fait je voulais avoir l'image grandeur nature sur mon écran (123 mm de côté), il faudrait diminuer la variable fact en début de programme et redimensionner les éléments au-dessous en conséquence... un peu de boulot, pour faire tout tenir dans la hauteur.
(excuse-moi Jicehel, mais ça ne tiendra pas dans ton, combien déjà ? 700 pixels ? Very Happy )

- Tu peux très bien fixer la position du texte par un clic dans l'image, ça fixe automatiquement les valeurs X et Y dans les Spin correspondants (modif intégrée hier soir).

- Pour les listes de chansons ou autres, il suffit de les 'copier' dans un traitement de texte quelconque (Notepad), puis de les 'coller' dans les Memos recto ou verso.

Edit: je reviens sur la taille du Form 0, chez moi ça fait 1029 pixels, ce qui doit donc tenir dans un écran de 1080 standard (qui laisse, si on déduit la barre des tâches Windows, 1040 pixels disponibles en hauteur).
Il me semble difficile de faire tenir le tout dans moins sans revoir toute l'implantation, par exemple sur un notebook de 768 pixels de haut, ce n'est pas trop fait pour ça.
Revenir en haut Aller en bas
pascal10000

pascal10000


Nombre de messages : 812
Localisation : Troyes
Date d'inscription : 05/02/2011

Pochette de CD Empty
MessageSujet: Re: Pochette de CD   Pochette de CD EmptyVen 19 Avr 2013 - 16:04

a d'accord pour les spins j'ai pas été jusque l'à pour
testé ton programme j'ignorai que le click était présent
bonne continuation pour la programmation
je suis en stand by je cherche un moyen pour agrandir les pixels
d'un picture au travers internet parce que mon system ne fonctionne pas du tout
d'un coté sa marche et quand je prelèleve opposé du picture je me retrouve avec du négatif
lorsque je click et c'est un vrai casse tête
j'avais posté mon projet et pas grand monde ne c'est manifesté pour me donné
une solution alors que faire?ben je cherche même dans les librairie de Windows
et plus particulièrement a GDI32.dll puisque il a des commandes pour ce truc
mais c'est super complexe
Revenir en haut Aller en bas
Contenu sponsorisé





Pochette de CD Empty
MessageSujet: Re: Pochette de CD   Pochette de CD Empty

Revenir en haut Aller en bas
 
Pochette de CD
Revenir en haut 
Page 1 sur 1

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