wrapper HARUpdf help

Sujets variés concernant le développement en PureBasic
fraalg
Messages : 11
Inscription : mer. 18/juil./2007 14:31

wrapper HARUpdf help

Message par fraalg »

bonjour tout le monde, je suis nouvau sur le forum et je viens d'acquerir une version du superbe langage qu'est le pure (quoique je ne maitrise pas encore tout les tenant de l'affaire) :D , j'ai commencé a faire un wrapper de l'SDK HARU pdf lien : http://libharu.sourceforge.net/index.html
je poste ici mon code pour ceux qui veulent bien m'aider a le tester merci bcps.
attention cette include est encore tres instable il me manque quelques trucs / cnnaissances pour la finir.

je n'arrive pas a poster tout mon code comment faire
Dernière modification par fraalg le mer. 18/juil./2007 15:35, modifié 1 fois.
fraalg
Messages : 11
Inscription : mer. 18/juil./2007 14:31

Message par fraalg »

excusez comment je fais pour uploader un code sur le forum ?
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Colle ton code entre les balises [%code%] et [%/code%]
Enlève les %...
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

toutefois si ton code est vraiment tres tres long, il se peux que le forum n'arrice pas a tout afficher

2 soluce :
1- tu colle en plusieurs messages, des morceaux de ton code plus petit
(partie1,partie2, ect..)
2- tu utilise un FTP avec un lien sur le forum ... :)
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

A propos de FTP, tu peux utiliser un FTP dédié aux users PB et déstinés qu'à PB : http://www.penguinbyte.com/apps/pbwebstor/logon.php
fraalg
Messages : 11
Inscription : mer. 18/juil./2007 14:31

Message par fraalg »

ok voila le lien pour les sources : http://fleaticia.free.fr/sources.zip

merci dobro,progi1984
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

@progi1984

Non, j'ai essayé de m'inscrire (Quick registration). Il me répond que c'est impossible. Ce qui est domamge.
fraalg
Messages : 11
Inscription : mer. 18/juil./2007 14:31

Message par fraalg »

voici le code juste pour l'exemple arcdemo du zip.
je travail encore dessus j'ai ajouter des constantes pour la lib.
je vais la mettre sur le forum dès que j'aurrais tout fini.
@+

Code : Tout sélectionner

   ;-------------------------------includes
   XIncludeFile "haruPDF.pbi" 
   
   
   ;------------------------------- variables
   Global pdf.l,page.l
   Global *pos.HPDF_Point
   Global error_handler.l
  
  ;--------------------------- procedures
  
Procedure print_grid  (pdf.l, page.l)
Protected height.f, width.f, f.l ,x.l ,y.l
             
height = HPDF_Page_GetHeight (page)
width = HPDF_Page_GetWidth (page)
font = HPDF_GetFont (pdf, @"Helvetica", Null)
HPDF_Page_SetFontAndSize (page, font, 5)
HPDF_Page_SetGrayFill (page, 0.5)
HPDF_Page_SetGrayStroke (page, 0.8)

    ; Draw horizontal lines 
    y = 0;
    While y < height
        If y % 10 = 0
            HPDF_Page_SetLineWidth (page, 0.5)
        Else 
            If HPDF_Page_GetLineWidth (page) <> 0.25
                HPDF_Page_SetLineWidth (page, 0.25)
            EndIf 
        EndIf 
        HPDF_Page_MoveTo (page, 0, y)
        HPDF_Page_LineTo (page, width, y)
        HPDF_Page_Stroke (page)

        If y % 10 = 0 And y > 0
        
            HPDF_Page_SetGrayStroke (page, 0.5)
            HPDF_Page_MoveTo (page, 0, y)
            HPDF_Page_LineTo (page, 5, y)
            HPDF_Page_Stroke (page)
            HPDF_Page_SetGrayStroke (page, 0.8)
        EndIf

        y = y + 5
    
      Wend

    ; Draw virtical lines 
    x = 0
    While x < width 
        If x % 10 = 0
            HPDF_Page_SetLineWidth (page, 0.5)
        Else 
            If HPDF_Page_GetLineWidth (page) <> 0.25
               HPDF_Page_SetLineWidth (page, 0.25)
            EndIf
        EndIf 

        HPDF_Page_MoveTo (page, x, 0)
        HPDF_Page_LineTo (page, x, height)
        HPDF_Page_Stroke (page)

        If x % 50 = 0 And x > 0
            HPDF_Page_SetGrayStroke (page, 0.5)
            HPDF_Page_MoveTo (page, x, 0)
            HPDF_Page_LineTo (page, x, 5)
            HPDF_Page_Stroke (page)
            HPDF_Page_MoveTo (page, x, height)
            HPDF_Page_LineTo (page, x, height - 5)
            HPDF_Page_Stroke (page)
            HPDF_Page_SetGrayStroke (page, 0.8)
        EndIf

        x =x + 5
    Wend

    ;Draw horizontal text 
    y = 0
    While y < height
        If (y % 10 = 0 And y > 0) 
            *buff = #Null
            *buff = AllocateMemory(4)
            HPDF_Page_BeginText (page)
            HPDF_Page_MoveTextPos (page, 5, y - 2)
            PokeS(*buff,Str(y))
            HPDF_Page_ShowText (page, PeekS(*buff));
            HPDF_Page_EndText (page)
        EndIf

        y = y + 5
    
     Wend

    ; Draw virtical text 
    x = 0
    While x < width
        If x % 50 = 0 And x > 0
            *buff = #Null
            *buff = AllocateMemory(4)

            HPDF_Page_BeginText (page)
            PokeS(*buff,Str(x))
            HPDF_Page_MoveTextPos (page, x, 5)
            HPDF_Page_ShowText (page, PeekS(*buff))
            HPDF_Page_EndText (page)
         
            *buff = #Null
            *buff = AllocateMemory(4)
            HPDF_Page_BeginText (page)
            PokeS(*buff,Str(x))
            HPDF_Page_MoveTextPos (page, x, height - 10)
            HPDF_Page_ShowText (page, PeekS(*buff))
            HPDF_Page_EndText (page)
        EndIf

        x =x + 5
    Wend

    HPDF_Page_SetGrayFill (page, 0)
    HPDF_Page_SetGrayStroke (page, 0)

EndProcedure
   
    
  ;------------------------- programme    
  If haruPDF_Init() 
    pdf = HPDF_New(error_handler,#Null)
    ; add a new page object. 
    page = HPDF_AddPage (pdf)

    HPDF_Page_SetHeight (page, 220)
    HPDF_Page_SetWidth (page, 200)
    ;draw grid To the page 
    ; draw pie chart
    print_grid  (pdf, page)
    
    ;A
    HPDF_Page_SetRGBFill (page, 1.0, 0, 0)
    HPDF_Page_MoveTo (page, 100, 100)
    HPDF_Page_LineTo (page, 100, 180)
    HPDF_Page_Arc (page, 100, 100, 80, 0, 360 * 0.45)
    *pos = HPDF_Page_GetCurrentPos (page)
    HPDF_Page_LineTo (page, 100, 100)
    HPDF_Page_Fill (page)
    
    ;B
    HPDF_Page_SetRGBFill (page, 0, 0, 1.0)
    HPDF_Page_MoveTo (page, 100, 100)
    HPDF_Page_LineTo (page, @*pos\x, @*pos\y)
    HPDF_Page_Arc (page, 100, 100, 80, 360 * 0.45, 360 * 0.7)
    *pos =HPDF_Page_GetCurrentPos (page)
    HPDF_Page_LineTo (page, 100, 100)
    HPDF_Page_Fill (page)
;     
;    ; C
    HPDF_Page_SetRGBFill (page, 0, 1.0, 0)
    HPDF_Page_MoveTo (page, 100, 100)
    HPDF_Page_LineTo (page, @*pos\x, @*pos\y)
    HPDF_Page_Arc (page, 100, 100, 80, 360 * 0.7, 360 * 0.85)
    *pos =HPDF_Page_GetCurrentPos (page)
    HPDF_Page_LineTo (page, 100, 100)
    HPDF_Page_Fill (page)
; 
;     ; D 
    HPDF_Page_SetRGBFill (page, 1.0, 0.8, 0.4)
    HPDF_Page_MoveTo (page, 100, 100)
    HPDF_Page_LineTo (page, @*pos\x, @*pos\y)
    HPDF_Page_Arc (page, 100, 100, 80, 360 * 0.85, 360)
    *pos =HPDF_Page_GetCurrentPos (page)
    HPDF_Page_LineTo (page, 100, 100)
    HPDF_Page_Fill (page)
;     
    ;draw center circle 
    HPDF_Page_SetGrayStroke (page, 0)
    HPDF_Page_SetGrayFill (page, 1)
    HPDF_Page_Circle (page, 100, 100, 30)
    HPDF_Page_Fill(page)

    ;save the document To a file 
    HPDF_SaveToFile(pdf, "arc_haru.pdf")

    ;clean up 
    HPDF_Free(pdf)
    Else
    Debug "la dll n'est pas la"
    EndIf
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Quelqu'un a les sources du haruPDF.pbi ?
fraalg
Messages : 11
Inscription : mer. 18/juil./2007 14:31

Message par fraalg »

fraalg a écrit :ok voila le lien pour les sources : http://fleaticia.free.fr/sources.zip
mes excuses le lien n'est plus actif.(10/08/2007)

merci dobro,progi1984
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

ca a l'air très intéressant mais les liens marchent pas.
Image
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

il me semble avoir vu sur purearea une lib pour les PDF non ? :?
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

oui certes, PurePDF :
http://www.purebasicpower.de/?PurePDF

mais c'est bien de pouvoir en tester plusieurs.
PDF m'est très utile au travail, donc j'ai envie de comparer les deux.
Image
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

fraalg m'a filé les sources que je suis en train de réaliser les exemples et donc je suis en train de débugguer les anciennes sources (pas mal de taf)... mais une beta pour début septembre !
fraalg
Messages : 11
Inscription : mer. 18/juil./2007 14:31

Message par fraalg »

@ progi1984.

fait attention, il y a des constantes que je n'ai pas pu reprendre elles sont marquées comme par exemple :
#HPDF_NOT_INFO_14;----not documented 0x105A
#HPDF_NOT_INFO_14 :veut dire c'est la constante n°14 dont j'arrive pas a trouver le nom.

bon code.
Répondre