GDIPLUS.DLL

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Flype a écrit :non - elles ne passent pas - erreur du linker.

j'ai télécharger la beta de vista (~3.6Go)
je l'installerais, et je te dirai...
Tu as essayé la beta de vista, le wrapper des fonctionb GDI+ vista est fini :wink:

Je vais peut-être essayer la beta de vista mais ma config est un peu poussive
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

je viens de me procurer un petit disque - 10go pour tester ca devrait le faire. je vais peut faire çà ce weekend tiens - de toute facon vu le temps qu'il fait...
Image
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Alors Vista ?

On a eu une superbe journée ce Dimanche, j'ai fait une bonne ballade avec ma femme, ça me vide la tête de GDI+ :roll:

Sur le forum Microsoft Vista, j'ai trouvé la réponse sur Gdi+ 1.1
C'est une version uniquement pour vista, qui s'est malgré tout retrouvée dans la doc SDK avec des erreurs. Cette version ne sera pas redistribuable car d'après l'intervenant MS, elle n'a été testé que sous Vista. Le gars espère tout de même avec .NET Framework 3.0.

Le lien du forum est là

http://forums.microsoft.com/MSDN/ShowPo ... 1&PageID=1
GDI Plus 1.1 has a long history. It's been in the SDK documentation for many years (mistakenly) but it has never shipped in any product except Vista. It kept getting pushed into future over the years. There is no redistributable because it is only tested/supported (so far) under Vista.

My hunch/guess is that .NET Framework 3.0 will include it, therefore it will be technically redistributable by the time Vista and .NET Framework 3.0 ships.
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Pour ceux qui utilisent Gdi+ et en attendant une nouvelle mise à jour du wrapper, vous devez changer les structures PWMFRect16, WmfPlaceableFileHeader et EncoderParameter qui deviennent

Code : Tout sélectionner

Structure PWMFRect16
  nLeft.w
  nTop.w
  nRight.w
  nBottom.w
EndStructure

typedef struct {
    INT16 Left;
    INT16 Top;
    INT16 Right;
    INT16 Bottom;
} PWMFRect16
je n'ai pas changé les noms des éléments (le n devant) car plusieurs structures seraient à changer our être conformes à la doc MS

Code : Tout sélectionner

;- WmfPlaceableFileHeader
Structure WmfPlaceableFileHeader ;{
  Key.l
  Hmf.w
  BoundingBox.PWMFRect16
  Inch.w
  Reserved.l
  Checksum.w
EndStructure ;}

typedef struct {
    UINT32 Key;
    INT16 Hmf;
    PWMFRect16 BoundingBox;
    INT16 Inch;
    UINT32 Reserved;
    INT16 Checksum;
} WmfPlaceableFileHeader;
La structure EncoderParameter que l'on a dans le fichier correspond à la structure pour windows CE 5.0
La définition pour GDI+ est ici
http://msdn.microsoft.com/library/Defau ... ameter.asp

et n'a que 4 éléments
elle devient

Code : Tout sélectionner

Structure EncoderParameter
  guid.GUID
  numberOfValues.l
  type.l
  *value.l
EndStructure
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

J'ai mis en ligne un exe de 23 ko pour une fonction GDI+ qui fonctionne mais j'aimerais si possible que ce fichier soit testé sous win98 ayant GDI+ installé, pour savoir comment je dois mettre le format de la chaine.

Cela affiche une fenêtre et du texte et j'ai mis un curseur pour agrandir ou diminuer le texte.

Dites-moi si le texte apparait, c'est tout

le fichier est ici



Image
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Alors,

personne n'a WIn98 avec GDI+ installé ?

Personne pour tester le petit exe ? :cry:
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Message par Jacobus »

J'aurai bien aimé t'aider pour te faire avancer, mais là désolé, je n'ai qu'un vieux coucou et même pas casse cou :?
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Pas grave, je vais peut-être réinstaller WIn98 pour faire mes essais
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

désolé denis, il y a longtemps que je n'ai plus win98.
Image
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

je crois que seul Dri utilise 98 encore :lol:
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

gnozal surtout. faut voir avec lui.
Image
Lna
Messages : 181
Inscription : mar. 21/juin/2005 11:11

Message par Lna »

@ Denis : Je viens de le tester à l'instant sur la version 98 SE, résultat du texte identique à ton image. 8O

@ peluche
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Merci LNA :D
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Voilà un petit code sans prétention qui fait défiler un message de Noël, avec GDi+
Il faut les 3 fichiers GDI+ mis à jour que vous trouverez en lien ici (les constantes, structures et l'ensemble des fonctions GDI+ )
Dans le fichier Gdiplus.pb, ainsi que l'exemple, il faut modifier le chemin des includefile.
Le fichier d'exemple est mettre dans le dossier qui est en rapport avec votre chemin pour Gdiplus.pb, ainsi que les fichiers de constantes et structure.

Pour les fainéants, j'ai fait un exe prêt à l'emploi.

Le zip est ici

Voici le code (inclus aussi dans l'archive)

Joyeux Noël 2006

Code : Tout sélectionner

XIncludeFile "../../../gdiplus.pbi"

EnableExplicit

Enumeration
  #MainWindow
  #Image = 0
  #ImagePereNoel
  #ImageGadget = 0
  #Police = 0
  #Timer = 10
EndEnumeration

Define .l
Global *token, *gfx1, *path1, *brush1, *brush2, *brush3, *image, *nativeFamily, *format, *hDC
Global emSize.f, fontStyle.l, timer.l = 40, temps.l = 0, temps1.l = 0, format.l = 0, HauteurImage.l
Global chaine.s = "Joyeux Noël 2006" + Chr(10) + "à tous les codeurs" + Chr(10) + "du forum fr"
Global chaine1.s = "PureBasic.fr - Joyeux Noël 2006", Img_PereNoel.l
Global rc.Rect
Global Dim pt.PointF(3)


If OpenWindow(#MainWindow, 0, 0, 810, 515, chaine1, #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_Invisible)
  SetTimer_(WindowID(#MainWindow), #Timer, timer, 0)
  If CreateGadgetList(WindowID(#MainWindow))
    If CreateImage(#Image, WindowWidth(#MainWindow), WindowHeight(#MainWindow), 32)
      If ImageGadget(#ImageGadget, 0, 0, 0, 0, ImageID(#Image))
        UsePNGImageDecoder()
        Img_PereNoel = CatchImage(#ImagePereNoel, ?PereNoel)
        emSize = 5
        rc\left = 10 + 10
        rc\top = 110
        rc\right = WindowWidth(#MainWindow) - 50 + 25 - 10
        rc\bottom = WindowHeight(#MainWindow) - 197
        
        pt(0)\x = 0 : pt(0)\y = 0
        pt(1)\x = WindowWidth(#MainWindow) : pt(1)\y = 0
        pt(2)\x = WindowWidth(#MainWindow) : pt(2)\y = WindowHeight(#MainWindow)
        pt(3)\x = 0 : pt(3)\y = WindowHeight(#MainWindow)
        
        ; initialisation de Gdi+
        *token = Gdiplus_New()
        
        ; on vérifie que l'initialisation est Ok
        If *token
          *hDC = StartDrawing(ImageOutput(#Image))
            If *hDC
              ; création de l'objet graphique
              If GdipCreateFromHDC(*hDC, @*gfx1) = #Ok
                GdipSetSmoothingMode(*gfx1, 2)
                
                ; creation d'un objet Path
                If GdipCreatePath(#FillModeAlternate, @*path1) = #Ok
                  
                  ; choix de la famille de police
                  If GdipGetGenericFontFamilySansSerif(@*nativeFamily) = #Ok
                    GdipCreateStringFormat(format, #LANG_NEUTRAL, @*format)
                    
                    GdipCreateSolidFill(ARGB(#Black, 250), @*brush1)
                    If Img_PereNoel
                      If GdipCreateBitmapFromHBITMAP(Img_PereNoel, #Null, @*image) = #Ok
                        GdipCreateTexture(*image, #WrapModeTile, @*brush3)
                        GdipGetImageheight(*image, @HauteurImage)
                        GdipDisposeImage(*image)
                      EndIf
                    EndIf
                    If GdipCreatePathGradient(@pt(), 4, #WrapModeTile, @*brush2) = #Ok
                      If GdipSetPathGradientCenterColor(*brush2, ARGB(#Red)) = #Ok
                        GdipSetPathGradientLinearBlend(*brush2, 0.0, 1.0)
                        GdipFillRectangle(*gfx1, *brush2, 0, 0, WindowWidth(#MainWindow), WindowHeight(#MainWindow))
                        GdipFlush(*gfx1, #FlushIntentionSync)
                        GdipDeleteGraphics(*gfx1) : *gfx1 = 0
                      StopDrawing()
                      SetGadgetState(#ImageGadget, ImageID(#Image))
                      
                      HideWindow(#MainWindow, 0)
                      
                      Repeat
                        Select WaitWindowEvent()
                          Case #PB_Event_CloseWindow
                            Break
                            
                          Case #WM_TIMER
                            If EventwParam() = #Timer
                              If Len(chaine1) < 220
                                chaine1 = " " + chaine1
                              Else
                                chaine1.s = "PureBasic.fr - Joyeux Noël"
                              EndIf
                              SetWindowTitle(#MainWindow, chaine1)
                              emSize + 0.5
                              If (Int(emSize) = 88) Or temps Or temps1
                                If temps1
                                  emSize - 0.5
                                  If Not(temps1 = 50) ; Delay(50*timer)
                                    temps1 + 1
                                  Else
                                    temps1 = 0
                                  EndIf
                                ElseIf temps < 2
                                  temps + 1
                                Else
                                  If Not(temps = 50) ; Delay(50*timer)
                                    temps + 1
                                  Else
                                    temps = 0
                                    emSize = 5
                                    format + 1
                                    If format = 3
                                      format - format
                                    EndIf
                                    *hDC = StartDrawing(ImageOutput(#Image))
                                      If *hDC
                                        If GdipCreateFromHDC(*hDC, @*gfx1) = #Ok
                                          GdipSetSmoothingMode(*gfx1, 2)
                                          GdipResetPath(*path1)
                                          GdipAddPathStringI(*path1, chaine, -1, *nativeFamily, 0, 88, @rc, *format)
                                          GdipFillPath(*gfx1, *brush2, *path1)
                                          GdipFlush(*gfx1, #FlushIntentionSync)
                                          GdipDeleteGraphics(*gfx1) : *gfx1 = 0
                                        StopDrawing()
                                        SetGadgetState(#ImageGadget, ImageID(#Image))
                                        temps1 + 1
                                      EndIf
                                    EndIf
                                  EndIf
                                EndIf
                              Else
                                *hDC = StartDrawing(ImageOutput(#Image))
                                  If *hDC
                                    If GdipCreateFromHDC(*hDC, @*gfx1) = #Ok
                                      GdipSetSmoothingMode(*gfx1, 2)
                                      GdipResetPath(*path1)
                                      If emSize = 5.5
                                        GdipFillRectangle(*gfx1, *brush2, 0, 0, WindowWidth(#MainWindow), WindowHeight(#MainWindow))
                                        GdipFillRectangleI(*gfx1, *brush3, -1, -1, WindowWidth(#MainWindow) + 1, HauteurImage + 1)
                                        GdipFillRectangleI(*gfx1, *brush3, -1, WindowHeight(#MainWindow) - HauteurImage, WindowWidth(#MainWindow) + 1, HauteurImage + 1)
                                      Else
                                        GdipAddPathStringI(*path1, chaine, -1, *nativeFamily, 0, emSize - 0.5, @rc, *format)
                                        GdipFillPath(*gfx1, *brush2, *path1)
                                      EndIf
                                      GdipResetPath(*path1)
                                      GdipSetStringFormatAlign(*format, format)
                                      GdipAddPathStringI(*path1, chaine, -1, *nativeFamily, 0, emSize, @rc, *format)
                                      GdipFillPath(*gfx1, *brush1, *path1)
                                      GdipFlush(*gfx1, #FlushIntentionSync)
                                      GdipDeleteGraphics(*gfx1) : *gfx1 = 0
                                    StopDrawing()
                                    SetGadgetState(#ImageGadget, ImageID(#Image))
                                  EndIf
                                EndIf
                              EndIf
                            EndIf
                        EndSelect
                      ForEver
                      
                    EndIf
                  EndIf
                EndIf
              EndIf
            EndIf
          EndIf
        EndIf
      EndIf
    EndIf
  EndIf
EndIf

If *format : GdipDeleteStringFormat(*format) : EndIf
If *nativeFamily : GdipDeleteFontFamily(*nativeFamily) : EndIf
If *brush1 : GdipDeleteBrush(*brush1) : EndIf
If *brush2 : GdipDeleteBrush(*brush2) : EndIf
If *brush3 : GdipDeleteBrush(*brush3) : EndIf
If *path1 : GdipDeletePath(*path1) : EndIf
If *gfx1 : GdipDeleteGraphics(*gfx1) : EndIf
If *token : GdiplusShutdown(*token) : EndIf
End

DataSection
  PereNoel :
    Data.l $474E5089, $0A1A0A0D, $0D000000, $52444849, $87000000, $56000000
    Data.l $00000308, $755BD200, $000000B2, $4D497407, $0CD60745, $15020B16
    Data.l $58D98FEB, $09000000, $73594870, $C11E0000, $C11E0000, $5469C301
    Data.l $00000053, $4D416704, $B1000041, $61FC0B8F, $00000005, $544C50C0
    Data.l $FFFFFF45, $BBD7D7D7, $9090BBBB, $71717190, $8057838C, $61616078
    Data.l $81818161, $C9F3F3F3, $5565C9C9, $4A5D7A48, $E59E9E9E, $7B84E5E5
    Data.l $3B919E4C, $FF2AB6C9, $A2B300EC, $3D6B7435, $50ADADAD, $46813649
    Data.l $1C3DAB2C, $A01835B2, $47582241, $3B7E883D, $4C00DBF3, $41693F49
    Data.l $2844922E, $E5445E66, $3E5913CE, $54626F2E, $41505050, $C2D72835
    Data.l $344F6520, $7C333B48, $4E7A5E6A, $4F6A7230, $B92F3538, $DDF364A6
    Data.l $6FEBFF6E, $996CC3D7, $2B2E6D89, $191B1D22, $C96DD2E5, $030469BB
    Data.l $3D506303, $9A5FB8FD, $96A6697D, $A5D5FE6E, $8F96C2E2, $A6C1687D
    Data.l $720FA685, $0900009F, $41444947, $EDDA7854, $B2730B5A, $020516BA
    Data.l $09794498, $140B02F8, $D6A38FAC, $3DEB5FAA, $FFFFF1F5, $287849D5
    Data.l $6DEDA8C1, $E7733399, $8F8CE9EE, $F7B2B206, $44EF6BDA, $56FFE104
    Data.l $DC9A8997, $20009622, $081AFFE9, $83BA0929, $861FBF7E, $0617AF61
    Data.l $05FE803B, $BAEC0810, $2C816A7D, $02620C61, $FA831068, $0C4515E7
    Data.l $58AC5B80, $13D4E397, $65AC56BB, $E23D785F, $3BABD095, $34D0323A
    Data.l $31234824, $A3D045F3, $12C2E8AE, $B825804E, $7558730B, $2BD9C019
    Data.l $4B05911A, $608BEA1D, $89CD5DE7, $650C81A6, $209E36AD, $C3A778B9
    Data.l $B4A61C51, $0C4E0570, $670D0A24, $1DC3AB5E, $80C529A5, $EECC18C2
    Data.l $01EB978D, $27F2C2E2, $C5D2A340, $50402EF7, $3634C1A8, $0C34D11D
    Data.l $2FF72FBB, $7DF85881, $33F62343, $EF9458C0, $8D4A225F, $915AC81A
    Data.l $82E18227, $9DCC6103, $3421AF51, $E6933332, $6FE76412, $E23492A6
    Data.l $BEFE0106, $86D695A4, $3C65D925, $39C41B84, $EEC2F13C, $C3043BEF
    Data.l $CD34267C, $8B15A0A2, $2067511D, $448EA8F9, $5A96E2B7, $40A00D8A
    Data.l $03C8B974, $1A07E0BD, $69768875, $9D7EFD87, $ADE4B13C, $1049E8A7
    Data.l $89E17840, $3A89CD94, $6CDABD87, $B53DC74A, $1769ACB5, $82D46B05
    Data.l $65306AA3, $E740ECE7, $97D36C3F, $EEEA137D, $1FD7AA48, $3A46A1AC
    Data.l $90FCCE1D, $224A67DB, $5BB520AD, $BD559687, $A9AFDD41, $94E9C3A3
    Data.l $67CC02C0, $0AEBB7F2, $46879A78, $1453BFAB, $43479F53, $59B1F17B
    Data.l $F0BAE06C, $39FA69C8, $B85E7313, $2105C775, $94B68A94, $74E9FE38
    Data.l $49B66F58, $02A73BE4, $F991A8CA, $C75296A1, $B69A6338, $2BD93801
    Data.l $D509EA56, $FEDBB61F, $9F2490E1, $66A253E4, $21C76B68, $EEA12964
    Data.l $4FB1C7F7, $E6161C80, $E3ADB13C, $A0D468D3, $933AC95E, $10ECDD46
    Data.l $92AB6CE5, $964F0410, $8F126FE5, $1ED26D64, $5B1F366F, $FC849FEA
    Data.l $D5D46F53, $0000B992, $C642EB0D, $4F0E220D, $3FB263FB, $27D39346
    Data.l $3F938F15, $6CCF135E, $1FD49F4E, $8B535478, $94DA3D8A, $29A0C20E
    Data.l $99B53A67, $ED470F6E, $9F1D3878, $E7C71436, $979399C9, $91391A85
    Data.l $FA56D44B, $A65784E1, $82DB646B, $B5349ED3, $735AFB38, $9309F6F1
    Data.l $12C602CD, $3F6CD08D, $16506937, $0CA6D5B6, $1E917F95, $406E56F4
    Data.l $EE30D1BA, $26C228E5, $71A165C8, $AAAC4B51, $C9F1D3F2, $B0C51DB2
    Data.l $D4A00EA3, $A623BFC0, $6202B408, $97EDD033, $B809ABAD, $6601D4D8
    Data.l $1D3928C9, $A3B2CB0D, $FCFD31C3, $A52EA23B, $7EBA46BB, $0A00C606
    Data.l $33B6D3AE, $B6530081, $F73F91FB, $F89113A7, $01BFBFFC, $AE7D0603
    Data.l $B49F4879, $40A76DDB, $47C91A0B, $14F305B3, $E2C99B75, $DACCFFB4
    Data.l $FC0BF030, $8C3E5D80, $27C80810, $36B3CC38, $D661E6A0, $1205C5ED
    Data.l $9BB73401, $CFFA5C2C, $80DEEA89, $6211DBD1, $674EE324, $493CE97B
    Data.l $49775FE1, $59F2EF3A, $53DB36E1, $D3F1A0EA, $1731E8C8, $69781045
    Data.l $8698FB71, $D29ED2DD, $6A8FEE3D, $227AD5AB, $1B8EBD3D, $8DECC51F
    Data.l $3674F31F, $B998E3E0, $F4BE2E69, $1A537882, $71688D2E, $A08E7C3B
    Data.l $6B6F2A3C, $89DDFC81, $777C4359, $A94C7A50, $688FBDF3, $52D461B3
    Data.l $B1A02302, $6D6304E5, $DF5D91A3, $1CB8700F, $C6334C77, $26D42BA4
    Data.l $13BE39A6, $AAAAE47B, $6D4F7CB2, $E5EAA8AD, $619BE90C, $6833B2A9
    Data.l $520924B5, $0A3B4941, $A6C674D1, $C26AEB71, $1BE28590, $B67572CA
    Data.l $37FEA1A5, $164D3307, $EECBC0C6, $766D0881, $1FC8BBE9, $5F0DFEFA
    Data.l $B4931BC8, $A76CC444, $36F56484, $A21DBF57, $3B8584B2, $5E47A2F9
    Data.l $A15F482F, $3736FB69, $6CCF741B, $032FCD9F, $DF1ABD59, $384ACF6D
    Data.l $8B708CBA, $357B34C1, $11E6DB7D, $DB0CEC44, $29FC9B25, $CDBD5903
    Data.l $173B32BE, $67FEC247, $389DA53A, $E8671DC6, $68C21FCF, $8E0C1B3F
    Data.l $FB7BF2D5, $1E8E0BEE, $EEE468B3, $167D2DFA, $3630C377, $BAEAE71D
    Data.l $BB768C2A, $FF356382, $AD6A0632, $2A5F8C8B, $B160C604, $EF2F6209
    Data.l $131BBA43, $F6D1843F, $6F8C382B, $02CF90E1, $B3542A5A, $4AF41070
    Data.l $0ACC0E04, $DDA34441, $7963847E, $3B91EA4F, $7A72BD53, $1D87214B
    Data.l $79596344, $464EB0EB, $708FE1F3, $D241B2E8, $DC598DEB, $528E172E
    Data.l $3B6C68B2, $65B32344, $AF8EA3EE, $43F15C61, $0866A5B9, $32DCB3CE
    Data.l $0802BDCA, $39152CAB, $2C07D16D, $CD9A3A75, $2B2D6181, $301BA238
    Data.l $A856F470, $9DDB930C, $A49AA5FE, $D7869B4E, $1060E238, $23C91A14
    Data.l $2BCB0907, $8DCFE30B, $CB9404A2, $80B97598, $9EE2ACE2, $BE96E1A7
    Data.l $50617260, $DB4721C4, $96D3575E, $3BE6961F, $FD655393, $F438D377
    Data.l $38F10ECE, $73B7404D, $8B00CADE, $655C6303, $1DDF3BC7, $E61D8DF0
    Data.l $75684031, $93FD0B0D, $38627D78, $7AB3F419, $183CFA23, $6F2A255E
    Data.l $94373E1D, $A8D7DC0A, $6469040C, $19A452FB, $814535E0, $74BDF413
    Data.l $D72A2F28, $786C6E30, $1995D593, $751496EC, $4512470A, $64315DE9
    Data.l $0A71C7E2, $0D7CF9B4, $F1855863, $A21C837A, $A5638D72, $68C1A5A8
    Data.l $EF166BDA, $536F7E83, $C6C19949, $85BCD28F, $D772390C, $6BAA7F38
    Data.l $807ED1BC, $D58E0E57, $4B99F99F, $FF848EFA, $D101981C, $C2435CAD
    Data.l $6CDB47AC, $F6E91F17, $0C71D2F7, $8ADD09CD, $F1E7FC4E, $9517D055
    Data.l $CCA48B5A, $6F8AEAF9, $CF5773EF, $49AB4282, $872AFF9C, $184DA808
    Data.l $76186107, $24D919B4, $F7FBB0CC, $E8B4CA92, $C834F25C, $E9783763
    Data.l $94B95754, $A4054760, $81A6A671, $ACEDF144, $B757ADE8, $75E53DEC
    Data.l $041877BE, $700D2FD9, $E9E97413, $42B9CBC7, $DE7FE6A0, $F30C32B5
    Data.l $6ABD5492, $4B4A92CA, $665681F7, $D2500959, $60B728DB, $1CBA8464
    Data.l $173C0C77, $FF25E0BB, $6E1295E4, $54A804B7, $DC6DCBEB, $64AEF57B
    Data.l $A854EDEB, $C7F5DCAC, $BFAE946B, $24F1AA59, $ADF7E718, $8FE58852
    Data.l $96C8B946, $38570470, $155082D6, $3F2EF519, $BE11AF28, $C7EDC1B5
    Data.l $4EDA84E5, $B931C2CA, $A4114387, $CE7C254A, $E57C39AA, $9C3150E3
    Data.l $9082C4FB, $7B17A38B, $EACAA2D3, $7BFDA7AC, $B342E638, $44B3045A
    Data.l $3181F9D6, $C6B67616, $EFE13DA1, $4E61FB72, $DE19C955, $BAB831C2
    Data.l $EE2A02B9, $88BB1718, $6F21C739, $C3B4794E, $9320CE0F, $16566818
    Data.l $BF4B8A58, $72F3BD53, $22FD9552, $633AF8C0, $C2BB3ED6, $26E8401B
    Data.l $4AAE8C46, $9AFDB32C, $BC381757, $A82C8301, $46BD2DD2, $CF953D57
    Data.l $781A9D3D, $4AAFF012, $EE80C59B, $7F612546, $ADC32A55, $6410FD72
    Data.l $71E7DF76, $E1D5A6AA, $3817A490, $B166CA9C, $F3B70EC4, $6DE50A65
    Data.l $5B86546D, $B5E34551, $0E966852, $0F6DD1AF, $2482A0FD, $C2B8A2E4
    Data.l $82E0EA41, $B36F9DE6, $747687A3, $2D210C7D, $8A6BE58C, $B9F5E1D9
    Data.l $5FE685D9, $E9619841, $B1C4C185, $E371FC87, $1D64992A, $38BB261A
    Data.l $CFF837CB, $ED918841, $3E638A1B, $659AEFB7, $97F3BEFA, $6B1B5D53
    Data.l $F4A45395, $83510871, $FB30B90A, $4FDBC39B, $71A7A154, $5FD9A1FB
    Data.l $8BB24318, $98B4E00D, $094E38A2, $A1A73FEF, $18670F5A, $C05F864E
    Data.l $6194BD61, $B8ACC5C4, $E0F05788, $1FB64848, $1F4FE14E, $EE271903
    Data.l $A0BD3225, $A5FD0948, $F08998A8, $40FBDCC0, $D13D9686, $E84047A2
    Data.l $6E96BB91, $104106B7, $9844CECF, $C7823016, $8077A9C7, $902AFB3C
    Data.l $DE0473E8, $54F88E7D, $36E081EC, $D1FD8046, $C1C250B6, $01DC7743
    Data.l $8F2E3432, $76FF4070, $BA5158B2, $1D2FCE58, $FCA79468, $0C0E97CB
    Data.l $7B77875D, $4D2F2933, $3602F997, $99FC9DB4, $6007EB94, $043ED140
    Data.l $942D3C5F, $8B1BE7A2, $4601232C, $6D9EC555, $904CA4A7, $39630D99
    Data.l $FE2F4A8F, $9225A1F2, $B4345A99, $6A87B89F, $6F861A18, $A6D75E93
    Data.l $95A8AD9A, $2F086CD3, $215AD947, $B7EEFDC3, $65D4399E, $C4B5CCC3
    Data.l $EC7BD476, $7E7F9B4E, $D0C611BC, $04868175, $D2E9D1BD, $BD74195C
    Data.l $239E3F6F, $1456404A, $BDDF2192, $2886B190, $24401088, $C96CD060
    Data.l $273F5D5A, $3FDA0FFF, $2E1119AF, $23FAF4EA, $00000000, $444E4549
    Data.b - 82, 66, 96, -126
EndDataSection
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Message par Jacobus »

Quel talent! :D
Joyeux Noël à toi aussi !

En voyant ton code, ça me fout les jetons... le nom à coucher dehors des fonctions, je me dis qu'il faudra que ce soit plus simple et que j'ai du temps devant moi pour que je m'en serve. :?
Sinon c'est sûr que ça vaut le coup.
Merci Denis.
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Répondre