Des petits drapeaux en datasection

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Des petits drapeaux en datasection

Message par Ar-S »

Image
Si vous avez besoins de drapeaux pour vos applis pour changer la langue par exemple sans avoir à trimbaler les fichiers, voilà de quoi mettre le français, l'anglais, l'espagnol et l'allemand en datasection. C'est ce que j'utilise pour mes applis. Libre à vous de les adapter à vos besoins.

Code : Tout sélectionner

Enumeration Drapeaux
    #I_FR
    #I_UK
    #I_DE
    #I_ES
EndEnumeration

UsePNGImageDecoder()

Procedure.b LoadFlags()
    ; Procedure de chargement
    ; Retourne 0 si tout est ok sinon erreur
    Protected  er = 0
    If CatchImage(#I_FR, ?FrS, ?frE - ?FrS) : Else : er+1 : EndIf
    If CatchImage(#I_UK, ?UkS, ?UkE - ?UkS) : Else : er+1 : EndIf
    If CatchImage(#I_DE, ?DeS, ?DeE - ?DeS) : Else : er+1 : EndIf
    If CatchImage(#I_ES, ?EsS, ?EsE - ?EsS) : Else : er+1 : EndIf
    ProcedureReturn er
EndProcedure


If LoadFlags() = 0
    Debug "Les Drapeaux sont chargés"
Else
    Debug "Erreur de chargement"
EndIf


DataSection
; Drapeaux
  frS:
  Data.q $0A1A0A0D474E5089,$524448490D000000,$1000000010000000,$FFF31F0000000608,$5845741900000061,$72617774666F5374,$2065626F64410065
  Data.q $6165526567616D49,$00003C65C9717964,$DA7854414449BE00,$850C30C20E3D93D4,$3B86DC0C0C6F139F,$D4800E00712333B0,$93362450C00E5372
  Data.q $4C8554BFD489B710,$39FDB3F159224A58,$8AD0A0CC4A3DEF21,$C9B7387BE7F78805,$A7AE23976E17CF21,$408B70A220739C03,$B0E1BE38D5540D75
  Data.q $888B11DC0CDAC2ED,$169B65DCC30318C0,$682A3EBD8C82DAC0,$8B2D879BE76D6B76,$EDB10B7F7E66380C,$0A6EBE94C832983B,$0255D13DB74B40CA
  Data.q $0A97E90298055DA9,$8FB3805F732E6014,$8B429F980E270424,$582E610D251931F9,$000C023E99FFFF43,$24F749D114328FB1,$444E454900000000
  Data.b $AE,$42,$60,$82
  frE:
  
  ukS:
  Data.q $0A1A0A0D474E5089,$524448490D000000,$1000000010000000,$FFF31F0000000608,$5845741900000061,$72617774666F5374,$2065626F64410065
  Data.q $6165526567616D49,$00003C65C9717964,$DA78544144499A02,$C61461144BEB93C4,$6BBBABAEECCEEF7F,$6542BA142AD49A66,$4230312111762144
  Data.q $1F60415943EA8289,$906E8831120B2B02,$9961523BB5741452,$ECA48C5221796825,$5E69A94952104143,$A667677676D77336,$381E0743F02FEA91
  Data.q $0C2BCE73DB9EF0E7,$ED329A61623A60C3,$B8B9350EE17D7204,$374B5B4BD17B2A48,$0B559C8925A264D8,$60E1143D0CF37AA8,$22D347BE5FAF1E56
  Data.q $F95872A6CAB1B560,$8B5572CD62CE744E,$124BAD103F2EA297,$473095C2C5E3F9C5,$29225D5AA1080AFC,$4629542225248BA4,$0388A42488A70CF8
  Data.q $33948A677BD44D76,$F93724B27B59C547,$A2695C543CE2BA75,$EBB236CA6B366324,$81BAA88326265BF1,$0DA3328ECC04EBA1,$B72D75B1587B06CE
  Data.q $FC7DA1365694E93D,$EC484F8D1DCA2580,$EE7C27623852F78B,$3D77B952E7B24F06,$615DCA659140998A,$16CE533BCCACD21A,$55068C0D55ED8135
  Data.q $628BCE6F9133491C,$2270B1EA6D03AC7E,$0C0D641DCD826E6C,$FAB089118C383FD1,$49D2D033A46430E7,$8491BA977B30DF71,$EAF0E1D1126F87E0
  Data.q $22EA61E9308A830B,$96FF5AFF9084A802,$A69CFA6EC5613614,$B2ECDFEA6FB14C4F,$2CDC6DE1EC94B721,$52DE7E44D8423554,$A195FCFA128F8D16
  Data.q $45FD6A428AE875EB,$28783927795A8F82,$F0858B641486B0BB,$EA104FCEB1F220D8,$FBC7CEEC4E58C483,$C9CF691A6B2F33E5,$D5572CDD063B9B65
  Data.q $ADDDA4E5CADD67EB,$F01E319518C3EEA3,$2AC27ECCC6D38887,$ECA02F29E932EB79,$3C30285B37D51379,$2C944E86EC0DF834,$D29FA7D93749EF71
  Data.q $A5D2E676A73369B8,$B0D9B0E736ED92F5,$E1370CD681BFDE9C,$F5625309E8281793,$C2AD0336E0A13E30,$F0DF062B86626C82,$9273E4D877154538
  Data.q $395282C9CD1F647C,$EF5AE375BDADEC80,$063FA32A7C50F388,$7839F78C6AA790FE,$7F67F12F30C51FE5,$57EE251E4C87040F,$4292A5C496DED0D7
  Data.q $1BFEFF880DADDD96,$BA0CF4F400300B7F,$0000000019EC6523,$826042AE444E4549
  ukE:
  
  esS:
  Data.q $0A1A0A0D474E5089,$524448490D000000,$1000000010000000,$FFF31F0000000608,$5845741900000061,$72617774666F5374,$2065626F64410065
  Data.q $6165526567616D49,$00003C65C9717964,$DA7854414449BE00,$851040820E3D93D4,$05476A009710B8DF,$C6D4DED60EF13017,$263600F3B1280BC2
  Data.q $BAC0ACBFF808401C,$324C30A12542CA91,$5219937997CCCBCD,$035A32D0F44DA14A,$DA902DB75409D08C,$9A98E07274C0B6A0,$5AFB3097C0840F88
  Data.q $5B8128264D5675CB,$D8C62D589A5DB0C6,$03BF36BE95E40147,$1046ED10F625ED74,$7ED9F90CD94E2983,$513780CB0F018DE9,$FE70510D321CE9E0
  Data.q $8414A16F40EF5013,$54724A09DE507124,$660143B80B76C04C,$CEFDB6B001F62055,$00C029F1BFBFC1DF,$ECA4092809401D89,$444E454900000000
  Data.b $AE,$42,$60,$82
  esE:
  
  deS:
  Data.q $0A1A0A0D474E5089,$524448490D000000,$1000000010000000,$FFF31F0000000608,$5845741900000061,$72617774666F5374,$2065626F64410065
  Data.q $6165526567616D49,$00003C65C9717964,$DA78544144493400,$8025033FFFFFFC62,$408C01B140428189,$580362817B687FFC,$EA1FFC302F7D0FFE
  Data.q $1C67FC301842A05E,$42F6001804001750,$0000C0172F6B1F07,$42AE444E45490000
  Data.b $60,$82
  deE:
EndDataSection
EnJoYeZ
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Fig
Messages : 1176
Inscription : jeu. 14/oct./2004 19:48

Re: Des petits drapeaux en datasection

Message par Fig »

Nice ! Merci :D
Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il n’y a que la troisième qui marche.
Version de PB : 6.00LTS - 64 bits
Avatar de l’utilisateur
Micoute
Messages : 2583
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Des petits drapeaux en datasection

Message par Micoute »

Merci Ar-s, ce n'est idiot du tout.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
boddhi
Messages : 604
Inscription : lun. 26/avr./2010 16:14
Localisation : S 48° 52' 31'' / O 123° 23' 33''

Re: Des petits drapeaux en datasection

Message par boddhi »

Drapeaux italien, néerlandais et portugais :

Code : Tout sélectionner

Enumeration Drapeaux
    #I_IT
    #I_NL
    #I_PT
EndEnumeration
CatchImage(#I_IT,?itS,?itE-?itS)
CatchImage(#I_NL,?nlS,?nlE-?nlS)
CatchImage(#I_PT,?ptS,?ptE-?ptS)

DataSection
itS: ;{ Italie
  Data.q $0A1A0A0D474E5089,$524448490D000000,$1000000010000000,$6891900000000208,$4D49740700000036,$2A3A121904E70745,$09000000FE5FB4FE,$C30E000073594870
  Data.q $A86FC701C30E0000,$4D41670400000064,$61FC0B8FB1000041,$4144492400000005,$86E4986063DA7854,$3C091FF8B93FF68C,$623239B69CFB3A9F,$006AF861AA30D518
  Data.q $D7473A80AA7DA700,$4E454900000000FF
  Data.b $44,$AE,$42,$60,$82
itE: ;}
nlS: ;{ Pays-Bas
  Data.q $0A1A0A0D474E5089,$524448490D000000,$1000000010000000,$6891900000000208,$4D49740700000036,$1C02131904E70745,$09000000AB1C5327,$232E000073594870
  Data.q $3FA57801232E0000,$4D41670400000076,$61FC0B8FB1000041,$4144492500000005,$41A3275863DA7854,$4DF7AE1A0E186212,$460C1127FC310921,$A911A124DD6E8A0D
  Data.q $8ACE4085CDFB0001,$454900000000E21F
  Data.b $4E,$44,$AE,$42,$60,$82
nlE: ;}
ptS: ;{ Portugal
  Data.q $0A1A0A0D474E5089,$524448490D000000,$1000000010000000,$6891900000000208,$4D49740700000036,$320A131904E70745,$090000006C9B5C33,$C30E000073594870
  Data.q $A86FC701C30E0000,$4D41670400000064,$61FC0B8FB1000041,$4144490C01000005,$4063486063DA7854,$6F18B5D30C214646,$188AC76065FF3308,$63D04C33876834D0
  Data.q $64B6069440C622B8,$33860D568640A306,$E0680818792F0CD2,$54EDE8670F90624C,$9EE15235FA6AD7BD,$F81A7C064E07C330,$3187171AE6DA1862,$DFFA2DE73CE3F3CC
  Data.q $E1120D5E3F25F94F,$F8726A6FD6EE8F0C,$119FCF04B1F67DB1,$E4ACB06AF1850F5A,$71F7E8D35F54ABAC,$744BDFCE71F58AEF,$30CB1C20D5E0C92E,$5BF7F32AECD3B671
  Data.q $76179FFFDAE4CE3A,$A68638AE06AF1A55,$0CD66D7C452D5665,$123F8904FE748AEF,$8A3A41993D81ABC2,$A7E1B741EE47A3A1,$87F06F0CA2DBB148,$30061830A4B11012
  Data.q $1E2221919C326AB4,$4CA2D31C0C274820,$3AA98650FD0D26C4,$7C4C00D68845D70C,$0DA00F086E18B553,$0E26DC7CDB5A4500,$4E45490000000046
  Data.b $44,$AE,$42,$60,$82
ptE: ;}
EndDataSection
Avatar de l’utilisateur
threedslider
Messages : 452
Inscription : dim. 01/juil./2018 22:38

Re: Des petits drapeaux en datasection

Message par threedslider »

Cool c'est super !
Répondre