Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 3
Aller à la page: 1, 2, 3  >
[BETA] AGraf - Créateur d'interface graphique - Darkbatcher
Auteur Message
Répondre en citant
Message [BETA] AGraf - Créateur d'interface graphique - Darkbatcher 
Bonjour à tous !

Comme vous le savez, batch ne supporte pas nativement les interfaces graphique. j'ai donc développé un petit tool, nommé AGraf (Advanced Graphics), qui permet de créer des interfaçes graphique grâce à des commandes qui permettent de définir la fenêtre.

C'est bien gentil mais comment ça marche ton truc ?


Le principe est simple, pour que ça marche il vous faut deux choses:
  • La commande externe (téléchargement https://www.box.com/s/7bb58c22a077e7ff2b14)
    sinon vous pouvez inclure la commande externe dans votre batch via le code suivant :
    Code:
    :MakeAGraf
    Del /f /q /a t.dat >nul 2>&1
    echo G‚n‚ration du d'agraf
    pause
    For %%b In (4D53434600000000461B0000000000002C000000000000000301010001000000000000004600000001000100002000000000000000004641BBBD200041477261
    662E657865008A941E65F81A0020434BED79795853D7D6F7C94012C80822830C1E66A81046650A1A0CA380A080808024648068269313105101030222354A55B4
    E250ADB5AD0382020E4800ABA0A0388749D162C526082A45AC68DE436B7BDBDEFB3CF7FBE37BDEBFDE7D9EBDF75ABFBDF6DA6BAD7D4ECECAD9312B95000A0000
    345C753A0068027E2F74E0BF9742B892E65E200167F5BB6D9A10D1DD3609D97C1928918AB3A42C21C86689446208CCE48252B908E48BC090D8785028E670A944
    A281FD271D71A100108D4001CA6392B83FF40E0164141E81F4034098A1FCBED0F831B857C2B5F693753338F277BB119FECFFADA83ECD810BEAB716FCC453FEC4
    297FF181590700C588DFF53291FF0F4EFF7F2A8971C91E7F06F10F8390FF16DF2158CEF30F377EF37FCEBFCBC1D118A24A6552F61FCED57E0A88E5BFC9A9BCA9
    1E7E338BDB10F591FAD583CCC2D5DACFCA1B4B00E081092CB110001C0180DAC1D4E912CB9F29B4B8C302291DE8D40DF194E4B4D1C616623CC5E71ADA3ECED068
    0400EC8F932E8EE65E44632DB4681B4265E8F835D8AEF210E14BE17B7BCAE142BAFD351C1ACDC47A03A90FE53731A60E13189CA75D2AEEE2604BAE71894ABE84
    48A9985DEC554E21589D68687EFC52313C8E9D3B606E56E1EF865EDCD262928F3E1CB51C9C2E6FB705CB3F34BF6CB124D9D75658259F3E12F95905830266ED78
    E92C709EE5A1CE2D25C4BD50E556428E80EEC399DC41B30B4843DDEC68E90460A9AC3CEBC830D8AB7D3617E1FEB23135DFB82214D78208DA61A8CA0D0CAAC444
    BF258D49A32E7A5B392FC60DE25FEA367A28A610E4621DD1845CF21DD6F3E323814EA5B8629C9ADE860EFE024A09DA8DB108AADAA81B10CB9F68CE05E9E14E43
    A14156B3BA07491D85496848160FD5322F362A8C2B73EA7A9A7480E6E0E92282FAA567FFAF0861109EA9383FB86C47B1C8C34CB9C8533079D9E78B82AB2BF2ED
    334EB89B55203A74160CCC4E3B3C4ECD4E9B2CE9971B489590E6A512189BF2656D9F7DA582B80D28E9843C370D56599D04E29A96EB6C938971E76FBEF25864AF
    7A6AA2EFF4E0D1D8A8D7A5CEF6A60F9A9F6309490D93191157095B019AAD1CA5C3E1290ACBF620A5516028CEEF5273D7C634DB20A3E3E5F68A8D8435671EB8ED
    C7B85DA5A4AD887F3FE9DBA859E4B09C7CB9E7B04490E7DF2637A73C7CF5D3493AA75805E1AEE9D1F7232A44B9816A2317552043AE47D01882FCD4867C635779
    53FC3794CDA3176EE44E03DE9ED3281B8A6319C595D5BF633565D134187BE0422BE6EA12E7331507426AC782E7149B2597B74D522C6E4C2E6D53EAC519BD4B4C
    B89179CB00FD416FF93EAB3DEE1BF084098293E138B069D54445CE1AFB41BA3133D236CED8EA499B48E4E93A0164E172C638F30227B83E9A343611ECEEC85B41
    61506AAB485F5AB1B1E42866440BA754E345C5C5E17ADD9A5FD68DDA3D1A973759F2D6B9B686EF0ABAE59F53BDADD950DFD830E0B1E67AAE64070E22A4E009EA
    AF03EDD0C77168BA9BA888E8958C5BF1594D73BBE5DD9B9661745C2FBEB7F044F641BB5B78C10D339C45E279F4E7FA171B91B9AD3FCFC5DE9E426FFFF247DD20
    C4C256C6E9CA7B6E0F217A5A8790F1AEC631BC27DC303436D678FE4455A73588A1CCA504614C764E7CFB45BA87644F097D8BCCF45AC44FA8DC90C9D9F4241C61
    FF827AD774FA9609FB9308E2F7F9A4EFA55FE3C6C6F3D5C5CA7191C67FC12693AACABB3F82C95D2E769D36762D491679A6145C0D85AF0D549AA0DDD7E328A41F
    8B95B653B9351B2F38D0F8941574C2AEC429F6D91CE56D5DCC904759EE99CB0C0FFE94CFD4BE332F2773E68EDBBA9035583C781F7FA3AA7E5C3E85CA9ED69F5E
    FF83D495F6DD4D9C969AFC7C2F4E438C01A109DC265CCD3B7D48B345F76A43910621AE6BFF7960EADB89CA6B35DE22523170CAAF2C74380555FA60F5D622FC8F
    C5628A4997FD969F6B228C7A21ED5EA7374606976EEB47C9C9A939DAAB572DF1FEA674AD30F7E632B3A30E72D3D2F118FB286B9EBB66FD5A60BCF7FAEE126D8E
    769E3B2FEBC6D2E4AED525A7E24CAA03711721A3E9BD1EF5E7DAF2E63AADC194B28AD7697477542CD36459C076B0F3150D3B31016D3354553487C9AD8DCEB9D9
    D4DC27125AF596642EAE8DDCA1A54BBEAB92651127D646D4DDF2742FBA66DF70D5CC8E59F4E6857C6D9E8B0C6D60F0030FEB7F5CBE2A3CAC92F8FD2FB8CA2323
    A66DDDFBE41C685DFFB695077BB83F806189DA259C453F4C11420D8C95A51E8A218A4285D7F73DB5923EBAA077B475440F35A4772F10B7D167C9A388137513EB
    37DA929145E2076EF50A4218B5E86E8FD6FE6E3BBD7785AAE434AA6C6B1AA7145556D82448F19D679F1A545186D77F61842D3B383DC4D5F29C863136048C595E
    DF014F8450BFF8C2D07171779D67EFB2A687C3C3C7234EB1223E1E245E063AB30F780E51F59F63B3B81BBC0F0C8DF8914702035EC41D75F4928F48486BC44F03
    E44BE1077D713EF9062FC2EF33178854153319A0B426566FC1DB76DF397675BDC6A17C22D9BE987BC3DC5DED57FBF5CACA95F437872EF85AA57D55AE7EA52E57
    32991644D1BED15F6CC6CC3B3ACA949CFEEA2B79B3415D49D2FA9697777FD99C6D71780EFD885EF00877FFF31FC6113F2C5D9A593C8124D88CE39E1D80A0BEB5
    763D8E3BA33C7A6404742C41B0ABA635AB3ECC5C82637CBE01E7D3BBD4CCD5477DD59E628CF3F672E28CD88D939F344E96C4FC94A876B98D4EB9E172B7BC0F48
    B9DC9A4DA153AC8607B60B31C31394F4E9B545DA886BDE0104EC76440279B1F9A8C82C5F8F5C5AF5449B5951587644377470C3D31A224AA603109525C34C32B2
    E4E3934263CD2AC72221C6CEB15613665A442BA24D68A8231A136B664AE0B06EB6595BCC90638F7FC665F4765BFF9CD1D14CFAE171E1D97587E3503B66B57565
    1F4BB69B4AF273A81ECE20597846324E873BD1EE062EAE4B6EAB681AEA4DBE5AA7FC1EB47C98427A9D96968C1CA61C1C560687390E1F1F1E5EECB817F961B866
    5EDEA99161AD5F11ADD074426332AE530F46ACA30DA7D56120FCBD47661F8EEDECD1700F170A90AE46AE04FE1C8CB3BD25D8FD2072BF65A35988D6386A03C76F
    51303E306ED53885A7661C8A6B8DBAF37A9C1112E1F14DA0CADBA9E83A85AEC492BEA5D7E2E6A98EA646D00C9F172D04388B31FE48E01AD27CE7616448B77E8A
    59FC07C8E81A26BAA3D0B5B98B62AA641C00812BC1FED771BD575C9C284A1B0E8E42F1F75FBC8542B133A01116622183FDB3E43DA33FE3684E9BCA5B8B88855E
    E6B1AEF3E272CD02D3F80B563E2B8F3EEA1B1DC3E3EFE645C7C057FFF584DD31D10589BB86C3163FBDF7533535C868299860399F6894F2B47DEB766DD28AF81D
    029B01335744E88D4DFB8B9590DC5E5112AA1A461DB54FF6D30F1DCAD949DC2E3F4140C867C70BDAD1122BE7151D1F0F46A8150FD899109934182689F5F5C76E
    B8A99857CD6BF3C9BE56FA93D7F3CF88FE9DA54EE675ED0D86431E545CD79E1F980473EAD6424E6FC4538714C5F5C2B40433022EB632B17613A57C4172C3E7A6
    C7F5CE9E6839DEFF786CB1199878C9EAA1CB35FDA686938202B7072E578B4EF8A4F7AB694457BE5A066E8830EBE981DE47878F47D18C565772375E015257658C
    AC7D00CACAB61ED994D3F2710E4DEDD67184794E4FA99780186B6EAFC3BD9895664ABB02A66F7171D69EE89D1A42AD3DE9145A1B70F6F543F705EB9E865E5201
    05008223C37ABC325765D935EEF0BB12DE41E95ADA5384C92F1CF9FE441F7D12F3E23B362F8C508AE8D0433F52CE97435576E43B58D0928E306B1BFE12CA7857
    88A58C77AC769048C7E2467249A51BDA57AC471E0E8C0D3133DA5436698CCED9E316684C8CBBAAB14CE361FA1FDC23271399DD3C546B0996FD680E618F4376B1
    FE85C481CE364F01EE7647B4FFF5980E9B2D1E85F3CD1B1DC6533B4C8F0B49A5C4F3033DB903864D8CFBD55F97E82DB092747E3DC05C92BD4B750FF1723255B4
    DE15492EAE41E1830CCD24811D42833B7A8925D766E5BF325B6B74996E79446160717495A5D9912D432358758703468B56BDA5743FE37C2930C4E95F4157CCE6
    D57458A7134541FD514CD46A8B2EE32B2AEB64AB062B8A017A0CAF99B302D12F549BB3B66CA3D4AD9A40ED5CCF5037A9776F697A36C7FFEA432C007E7DCF959B
    D388D93F36F495574A8C5945C711AD0CE7647A6F44E5406BFCA5D61E17C5EEB2BC7266C881FC72088BFF22BC956765EC6343570AF23B4AE675BDC796F976511A
    0257B53DD6DD19444084EFEF514866D94CA355BFB61EDB3D6EBA36DE81DC2834336AEA6BE8B1A58DEC4574F431EDCE22E651B31DDA9BF3DF2B3A0A0354414536
    9069D0668CD7EE0D19B25EA0D0503E7F5E64D29DBA77A4D752B7A976F67DDA05CC32FA6AFB22BD810B384C48CFE9DEFB5ED6B13D6906CB08C2123D71D6B717D0
    5D0E295D6FEFAE8B9A34E121A9298E19023DB58B263ECDF15730CA92B859AFA787BC6DAF831558DD6C8D7CCBA9B3CE2C63D7236A5AB7BA996E5616DD1CE0EAAA
    49410ECBBE143A6CA7641DD2001D0F1F855ED23968D7C662870C1719A8E1AC7EFFFEB7278F34D0E7E3DFD418D478F67C8B677C385E49389247FEEA8DAF682C78
    0FEB1869F2EA7EAC82E92BB94D245423EEE4E1090F3CC6916FDBDAFC48684618E91D80C0219DDE2B7FA2143D458393AD2EF4C2B79BFADF3E03E5D41F0BD70461
    72ACF288B2E76C5FC13A1B3F3A6450B48C407BEF99979ADEDEA8B98A0710F80FFAF7EF3646947496A79F69EF9FCC785A2E9FBA57BE71BAFC969C5841A92055BC
    5B79484ED02EBAD1116EE92A59A117DEF390F0A061F77928A7EB7B1774EEBBF57E2AFB6DF27B7974531EC5B123473DDB5BDD1A8D0BB753D3B7EDDAEBDE591A8E
    5BC4563EBFFA22D8F2998FF195A8F911A5377C869A2A83DEB2EE5F722A703E4C79FD74142FEB1EBA5DFFA8E9D0726BB2F8FB663774D1033DD7EB9B0AF01B1BFB
    48F88B269BDE04614B7472DFF51FDF5A57CC3FAA3F2937AE201EEFB4BF7862232B5E8E533EAE98550C0514BD6FA17B4FBBC9F65DDE5A1E5FC1409F47A3461B49
    2F7FA1A06629DA3F905E0ED6A7FFFA9D65D767D2C1BB5657784A97DD5B37A266B728F27188D83DCB3D65151BDB094E24056345C387C9C71AEFB98A5F41281F8D
    83925D6E6128838835B7DE0E438B6689E263FDE9FD7D7BF55755E0EFC7A7079AAC6B0C7EE55EE12F6FB6A51C5B17D5A0FAF6BDCBF54A5A00FDFCF68BC307BC3A
    73023597DD28C5563404EA5D1FF610CA2F7736FA6DCE9AD1AD45D7B1022FC4AF23C39A532404223F52D7AC04AC8AD29C1695D9EDD3F56C79387B3BA1320EFD6E
    369ED26CD0F6F58B6F2A1B6E011F7D3D2E355939CF3F6506B995F443B32A7D6A54C48F93E4319D89E2255A41914F0AEE516336BB2F195A9F4A19D53B74E46A4E
    8B06598EE39CED7FCF40541897784EC9C777B88F22D6D9C98920730E32F7CC386841063B354555D1ABB50E878439BAB5D3E5CB3E23180D556CB6BF039D6ACD76
    3EFACD48D95E71DDDE93EE0B6715FEAA0F7E830373106F3B0ED842FE268BA03063915CCF7B17778BBC8A46EB6F1B7D412956DD82A8AD0806EABBDE860F347DF9
    88660E99E66760B8B8D6ADAFF8F52DCCDCD7AD24D1ED842D7193772E1BCCA1348D1F423F94DF336FA2ED3C66ED0D6D499BBD6AC0629F575C518A5D256BBA7D59
    7FBB756025E896B1119A64C9F14F1067BF2A58D2E2BBBDB8ADFFC7945B3E4C7A44E72B1FDC37BAADF5CC33910F11FBDF3BA59F2E3EE8117144551939DE937833
    96D9A65B64A9217D3FA93FEEDF07516E3F59521810FC4D76BF78ACFC2619ABF08B93DB9D9E3AB59F70875BA397C63CAEC4BFDB629139BCAD32531569D5D5D876
    72A1FCE0F982DAE08137DFB5D9E163742D675CCAAF5D66FABCE9369E12ECE8552DE33D2BB99914B7EC627369FB79FCD9F2C77E75FE23A703F0D71866A518E7C0
    471BA51E115AEF424634E8D97F6E8578AC4132EB815CEF0C42837A1C51DE37F5F8E91D9BEB9F23CCFB9E828AB6E0328AFF78FE7DB765634B736CCEDFA8D67B23
    4BDE8E7600968F16899184C5D73DFCDB217AF40F99CA8BE525211ED70D76774BE685A6CCF6ABC045D32C5592EC237B35AB9FE891BCD9C11A9E5AD3E3590EBA0F
    EFF1583E57197CF9B58F14EB410FC69873224212E056C93CAE3A0477C127945F706A83311B9AC49794F0F0D1DAE219A16DEB383342672585653342D0FE6AB8C5
    C4650F5429F65B1ACB8609325A9E543902C828324B5907A8D83F313EED144BF2EAB29781B27B96C3C3E09054AD952A83971E40CBCC70A504A9744ADA63B9565D
    6B93758DD25200AF2110833873815A69F638764AEB67DE1A85BCE44C99B530ED58DF60DF7EEC2F846577366032001DB0D54049898276D01080F3CE1DFBAABAD5
    D674BC17D58626FC32785F70C889652FE7662D5DE094B2C98E2BFED976FECEA8397EA17AB85DA9EB91A097D9519D4E5720E06766B15767C8A81C8100C8589293
    B19C9BC597415C2943C092C9C63EEEB9C59539B0030292229786C42681FA8B131312C8EFC76EC52E0D0D894CC0C6244627441212423F14E8CE2463834342E213
    52A243F176A1224EB89C0F480FBD6F688996A53A70D2033006061EFA9CFAC1CD8E8F18DE97AD51CFFA79BB633ECC9EEB161C9CC2D8772C5534F71068815ABC52
    DAFF58FD82BCB502C8073A6CC9E63E3177211463F5E67D753ADDA207B9B780D4E070298B970E8671453F43522EC87162F1730B6E7DE070014FC0A3F28B312AD5
    1D29958BC61ADDA721BE90EB2ED19373C46EAE02319BCA9E3BAA2BD1ADE04B21394BB04CEE90073AB3381CA92BE89889EADE7D4527E3AFE78A79CE992E2E7D51
    86A28C6A6436DBCD878AF07497B77C28A865CF72678B453C7E963BDFDB6F013E2F4BC81789D905EFB3DC64D9ACB51C370E0B62411E2C47D0F662F3391D432C17
    70444E1068D1CCE7E6A844ACAF6EA5BC15821018CE6024800B4070B2315F8C120B6D15AE6E0BF783414147CF54B55A6764F0335C32464DF0CC505F67999050DE
    55A96567DB964EAF2FF871CCA0DD2A3A723123253C6651B85B68845BC2E116B12E24C6D32D7E49F492390911CBDD4C92BCBD084A07C0D6E938523F7467D26BE7
    0DB9AEB94952E03CDD7EDD17B5BB08E036318F4EBD28C32F4EDE778C7F8183926EFAFCD059D197C7F81D7D5A0328D612F206D3E964BF9098BB3EE909288EB4F8
    F36A780B7C0E7DD7A0EAB80B5377FA9E6A278EF177C74CA3E504636B58C93E672F5AC8D264014C660A720AB7CAF917A8E05CFC315453573D0C0E8D7FA4E480B0
    8A182F7AF42AC9E6196D3B8F5FB83EC091B2EEFE8CCC8D35C98D76ACEAECE478EDDD0B135530E1051330C481A1E87F8EF9C0446F62A2F90BC92C5BAD32CDD859
    8262DCB1EA0568A6B4386BF577751214C091A099F3DA50808181015EDF5D778377768A8508E6708221B13038741DFF2D4BAC83E2A4623657262384F145A6E15C
    48BFB11EA35ABA96C820085983074F08ADA36D29229958C04DF216330727CFE41AC68839724A8483C0AEB0E56173CA1A693A391E6269BF7EEF10238914F1C460
    7CA2289BCA5C2316724A374B207EBC425005ACC42B2D73911139B260121B220B02BB734A3B5B8796F0F775E76856FA6D875C0532CB9BDAFE818620C63A565098
    992367D1C55E417A78B0959A9E99919155D838F660E5DD96AA2C194982E48A722D4E9CCB717227F25670B8CEC847FD3764192C892194272167659F3277ADC4D5
    2FC4E6D7FFB4A03153CF9744F57F9CDA8F91EDE48CE15899620FD6FB94F7351056CCD7C3F3D802B1C71ABDE769D8CA2DE6990579B9F9277927679971D76020AE
    4070F8DC4F69E0416C3D31A97FF4753A962B644BF224D27688C759FB70A16C876C62AE8C9FD5EF7BE09C28590656B2D763B3A58F3AEC62257902AE4844B9F9B1
    C6D0CE43C5670B25FAA21D9CFA71838C1FBB32AB07E3AA11AADB215C1EF102D0973B45E6E72F89C1EB6E0700ACCB62915CC8C8FE91B312F0E639992C17F5060E
    6C82963F27B911044C7C9653746A1679DE346FD36EEB04EE3AC881C561C8A50D6BB0DE184224DBD7204E7C09D9575BE9C74FA60C8E7B7ABC2D678B4409E26775
    93D5657B134BE2DDD527CF852DF7BA2B17351A07ED11B0F69105C441CE68C9DEF86C03FFBCF5C2E09FA32BE3E4A90A19D1C9DBF55C02394E10FB75A24495B2AB
    98B30A0C25877D48ED42607EFB583F7F0820DF14A67CFCFD4BBD630005EB61D8DA9B62D046C7239555B606EBBE40573D9F1428091D8C7928001CADEBCD4763F5
    0109767397A0BB1A57189B0608C2990154DF529A83929AA636D5A0ED98564CAAEF97FE48E583F747F253935B3FEB715151A5CE2E16DAC04373E3A25C9D8A6A6A
    34746A661313247D6917DD9053E812CBB790CC0FBF03E51A7878C804CAD3F3D6E2D3720B039C8069ED490BA055F1E7C76F23DDEFDFFB2FCF56D281CACB9A029D
    2E4983576EC5849561C311FD726C85B5E2E5B461BF74B469E638E02F88A10AD12F1B93EB7F6265C39E9D8A119494D83A8483672BC6751054FEC35FE53BFFC6C8
    C1E07F0CFE4D99A21559F40178A3D3296E232A8DDD151FA673C85B918B61A322E56F5FB0E15792B202A96843976315D7D08A17E8DC57885B2FA2617855F9DBF3
    FDB0A55BB1E1AE233444EEDBC24580FC7505766B069AD73A826B5551B65C71992AD48C20C667E6EA95A99FF6565E9E3954A8C0EAAB205A4506BAB2D883F915EC
    EB9B38C5359C6EB71AA677C1EA702A68A0FC5D52C4EB5389BADD0330088B63CB518A76B4E6896EB716062A4E0DC12DAC6D5CA7BB3873E41097B01A1D9FA4BB5F
    597A108E5E215850C8742E488E4B889B0193599521F685AB01FF2BF25F15DAC2174DD93ADDFFDE49CBFF95FF56B6FF79F68600CCE0D6ECF753A9BFE133CF84C7
    7FC0F5D10010015369B50080FACBB954322C49831326AE30539007AE130A44B2205BB9541420636773852C999B90CF968A65621EE4C6160B0358322135C7D316
    14B2447C1E5706ADE04A657CB128C8D693EA61BB9068F0A7AA480E5704F1A13C30E72F123397EDCCB9E3CC0B4C2C0D96B2B3F910970DC9A5DC20DBCF6C41114B
    08130CB150C212E52D85192AFCB2E3C8D9D06F748A582E0D9648047C360B8235DA82F0FB0316CFE58BBCBD6CDD6716E770656C295F3233BA30E45F34C8E18239
    E299948BF5AFE9209FCDA7D2DCFF3AE5370D12AE08369D9DF7570E0AFEE4D57FF4F0AF667C7221E68FA05193F8228E385746859D128A456E0CB108928A0532DB
    7FC565C17F8F8B449E099B1DC5CD4B10AFE1CE4C99EF3F3F73818FA78F0F9BCDF3E4F06C41014B94256765FD26FE5B28DCFFA3EDEE7FF7CFFD0F5F16FEED3E33
    AE070075DDDFEF3D1B189BF8074685B1E97F607E3086AEFF3BC6807942FD7FBEA797C2781A5C0570DD00D7AD70ADFE247BEC537FE153DFF3A97FF0A98F0A5DBE
    3434DADB8B1A121D0D30626318097F30E121913035F3CF4028CB614BA1DFC8C4F8D0E59F50008816B338D1FC4C294B9A170C00701E359356C1A99614DE0100F8
    9468C3D8CC36FCC9070BE05CFC4F2E4CCAE5C29AE0BCEC8F9C0CE622457CE8F7BDFE63AB61FFA55C16C40D83F94811872F8535C24B02197C71E6EF7644C2C979
    F07FF979FB1F
    ) Do >>t.dat (Echo.For b=1 To len^("%%b"^) Step 2
    Echo WScript.StdOut.Write Chr^(CByte^("&H"^&Mid^("%%b",b,2^)^)^) : Next)
    Cscript /b /e:vbs t.dat > agraf.ex_
    Del t.dat
    Expand -r agraf.ex_  agraf.exe
    Del agraf.ex_
    Goto:eof

  • Un fichier batch (je suppose que vous savez faire, sinon je vois pas trop comment vous avez aterri sur cette page Mort de Rire)


Hein quoi c'est tout ?


Eh oui !
Bon il suffit d'utiliser la commande avec:
Code:
AGRAF "%~0" #Nom_De_Ressource

et tadaaaaaaam Mr. Green

Tu te fous de moi il se passe rien là Rolling Eyes


Evidement, il faut définir la gui avec le "mini-langage" de AGraf Very Happy
Donc tout d'abord, toute les commandes de AGraf commencent par deux points "::", ce qui permet au code de ne pas être interprété

Donc si je comprends bien, j'ai gagné le droit de supprimmer tout les commentaire ?


Pas du tout, d'une on peux toujours mettre des commentaires avec
Code:
REM commentaire

de toute façon, AGraf ignore, les commentaires qui ne sont pas des commandes Razz

Bon revenons à nos moutons. Il faut un mini script pour décrire la fenêtre.
Pour commencer, aucun code ne doit être en dehors d'une Ressource. Une ressource est un morceau de code qui représente une unique fenêtre.
Pour déclarer une ressource, il faut faire comme cela :
Code:
::#Nom_De_Ressource
REM commandes de la ressource
::#EndGui
REM Fin de la ressource


à l'intérieur vous pouvez placer les commande suivantes
Code:
::Window "Title" [posX posY] largeur hauteur
REM Change le titre et les dimensions de la fenêtre
::Text "contenu" posX posY largeur hauteur
::Button "nom" "contenu" posX posY largeur hauteur
::EDIT "nom" "contenu" posX posY largeur hauteur

Avec :
  • Title: titre de la fenêtre
  • posX posY: position (en pixel) du controle dans l'écran ou la fenêtre
  • largeur hauteur: largeur et hauteur (en pixel) du controle ou de la fenêtre
  • nom:nom du controle
  • contenu: texte contenu dans le controle

Exclamation Attention, lors d'un clic sur un bouton, l'application ferme et retourne le contenu de la gui


Exemple :


Code:
AGRAF "%~0" #GuiNom
::#GuiNom
::Window "Bonjour ! Ceci est un exemple utilisant AGraf" 500 165
::Text "Quel est on nom ?" 10 10 480 25
::Edit "name" "" 10 50 450 25
::Button "valid" "Valider" 375 90 100 30
::#EndGui

Voilà un exemple de fenêtre.

Récuperer le contenu de la fenêtre


a partir de maintenant, on utilisera cette fonction pour afficher une gui, et permet de récupérer le contenu des controles via une variable dont le nom est le nom du controle
Code:
:ShowGui_
REM CALL :ShowGui_ "%~0" #Ressource_Nom
FOR /F "tokens=1,* delims=:" %%A IN ('AGRAF "%~1" %1') DO SET %%A=%%B
GOTO:EOF


par exemple
Code:
@ECHO OFF
ECHO Ceci est test de AGraf !
CALL :ShowGui_ "%~0" #GuiNom
REM On affiche la fenêtre et on récupère les données
ECHO bonjour %name% !
REM on peux accèder au contenu via le nom du controle
PAUSE
:: ceci est un commentaire sans importance
::#GuiNom
::Window "Bonjour ! Ceci est un exemple utilisant AGraf" 500 165
::Text "Quel est on nom ?" 10 10 480 25
::Edit "name" "" 10 50 450 25
::Button "valid" "Valider" 375 90 100 30
::#EndGui

:ShowGui_
FOR /F "tokens=1,* delims=:" %%A IN ('AGRAF "%~1" %2') DO SET %%A=%%B
Goto:Eof


vous pouvez ensuite utiliser les variables dans les ressources, elle seront développées
Code:
::#GuiAge
::Window "Bonjour %name% ! Ceci est un exemple utilisant AGraf" 500 165
::Text "Alors %name% quel est ton Age?" 10 10 480 25
REM %name% sera remplacé par son contenu !
::Edit "Age" "" 10 50 450 25
::Button "valid" "Valider" 375 90 100 30
::#EndGui


ce qui donne :
Code:
@ECHO OFF
ECHO Ceci est test de AGraf !
CALL :ShowGui_ "%~0" #GuiNom
CALL :ShowGui_ "%~0" #GuiAge
ECHO tu t'apelles %name% et tu as %age%
PAUSE

:: ceci est un commentaire sans importance
::#GuiNom
::Window "Bonjour ! Ceci est un exemple utilisant AGraf" 500 165
::Text "Quel est on nom ?" 10 10 480 25
::Edit "name" "" 10 50 450 25
::Button "valid" "Valider" 375 90 100 30
::#EndGui
::#GuiAge
::Window "Bonjour %name% ! Ceci est un exemple utilisant AGraf" 500 165
::Text "Alors %name% quel est ton Age?" 10 10 480 25
::Edit "Age" "" 10 50 450 25
::Button "valid" "Valider" 375 90 100 30
::#EndGui
GOTO:EOF

:ShowGui_
FOR /F "tokens=1,* delims=:" %%A IN ('AGRAF "%~1" %2') DO SET %%A=%%B
Goto:Eof


Récupérer l'apui sur un bouton


Récupérer si un bouton a été appuyé est identique aux autre controles, mis à part que la valeur du retour est 1 (si pressé) ou 0 (pas pressé)

un petit exemple pour la route
Code:
CALL :ShowGui_ "%~0" #Menu
IF "%open%"=="1" ECHO vous avez choisi Ouvrir !
IF "%save%"=="1" ECHO vous avez choisi Enregistrer !
IF "%close%"=="1" ECHO vous choisi Fermer !
REM si un bouton a été pressé, alors sa valeur de retour est 1
PAUSE>NUL
::#Menu
::Window "Faites un choix" 205 190
::Button "open" "Ouvrir" 10 10 180 40
::Button "save" "Enregister" 10 60 180 40
::Button "close" "Fermer" 10 110 180 40
::#EndGui
GOTO:EOF

:ShowGui_
FOR /F "tokens=1,* delims=:" %%A IN ('AGRAF "%~1" %2') DO SET %%A=%%B
Goto:Eof



Capture d'écran des exemples si dessus







Se simplifier le travail avec AGraf's Visual Editor


Vous aussi vous trouvez ça chiant de devoir faire vos gui à la main, bah alors AGraf's Visual Editor permet d'éditer visuellement les GUI que vous voulez utiliser avec AGraf !
Ensuite, il ne vous reste plus qu'a créer le code en apuyant sur "générer le code source".

Lien de téléchargement https://www.box.com/s/7d69786b5db6ef9f9d6c

Voilà !
Pour l'instant il y'a peu de controles mais je vais en ajouter peu à peu.

le code source est sous le spoiler
AGraf.c:
Code:
[lang=c]#include <stdio>
#include <stdlib>
#define _WIN32_WINNT 0x0500

#include "DOS9_API.h"
#include <wingdi>

#include "AGRAF.h"
#include "AGRAF_FUNCT.c"

int APIENTRY WinMain (HINSTANCE cetteInstance, HINSTANCE precedenteInstance, LPSTR lignesDeCommande, int modeDAffichage)
{
    HWND hWindow;
    MSG mMessage;
    WNDCLASS wClass;
    char* ptrString;
    hInstance=cetteInstance;
    //InitCommonControls();
    hConsoleWindow=GetConsoleWindow();
    wClass.style = 0;
    wClass.lpfnWndProc = CallBackProc;
    wClass.cbClsExtra = 0;
    wClass.cbWndExtra = 0;
    wClass.hInstance = cetteInstance;
    wClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wClass.hCursor = LoadCursor(NULL, IDC_ARROW);
    wClass.hbrBackground = (HBRUSH)(1 + COLOR_BTNFACE);
    wClass.lpszMenuName =  NULL;
    wClass.lpszClassName = "wClass";
    if(!RegisterClass(&wClass))
    {
        Agraf_ShowError(FATAL_ERROR, FATAL_MESSAGE);
        exit(1);
    }
    hWindow=CreateWindow("wClass", "[AGraf] Fenêtre d'aide", WS_CAPTION | WS_SYSMENU,
                                   CW_USEDEFAULT, CW_USEDEFAULT, 450, 320,
                                                   NULL, NULL, cetteInstance, NULL);

    if(!hWindow)
    {
        Agraf_ShowError(FATAL_ERROR, FATAL_MESSAGE);
        exit(2);
    }
    ShowWindow(hConsoleWindow, 0);
    ShowWindow(hWindow, modeDAffichage);
    UpdateWindow(hWindow);
    while (GetMessage(&mMessage, NULL, 0, 0))
    {
        TranslateMessage(&mMessage);
        DispatchMessage(&mMessage);
    }
    return mMessage.wParam;
}

/* pour fixer la fonte dans les contrôles */
LRESULT EnumWindowsProc(HWND hWnd, LPARAM lParam)
{
    SendMessage(hWnd, WM_SETFONT, (WPARAM) lParam, FALSE);
    return 1;
}

/* pour récupérer les fontes de la gui */
void Agraf_SetDefaultGuiFont(HWND hWnd)
{
    NONCLIENTMETRICS clientNonMetrics;
    HFONT hFont;
    clientNonMetrics.cbSize=sizeof(NONCLIENTMETRICS);
    SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), &clientNonMetrics,0);
    hFont=CreateFontIndirect(&clientNonMetrics.lfMessageFont);
    EnumChildWindows(hWnd, EnumWindowsProc, hFont);
}

/* fonction callback de la fenêtre */
LRESULT CallBackProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
    int i, iLoop=1;
    unsigned int iFilePos;
    HFONT hFont;
    int(*lpProc)(HWND,char**);
    LPCOMMANDLIST lpclList;
    FILE* ptrSource=NULL;
    ESTR* lpCmdLine, *lpRead;
    COMMANDFLAG cfFlag;
    char* lpArgs[256];
    char buffer[1024];
    LPCREATESTRUCT lpCreateStruct;
    int argc;
    char** argv;
    char** bin;
    switch (Msg)
    {
        case WM_CREATE:
            /* on récupère les infos de la fenêtre */
            lpCreateStruct=lParam;
            iDefX=lpCreateStruct->x;
            iDefY=lpCreateStruct->y;
            lpCmdLine=Dos9_EsInit();
            lpRead=Dos9_EsInit();
            __getmainargs(&argc, &argv, &bin, 0, &bin); /* on récupère les arguments du programme */
            if (argc!=3)
            {
                /* on affiche la fenêtre d'aide */
                CreateWindow(
                    "STATIC",
                    "AGraf [version 0.0.1] - Utilitaire de création dynamique d'interfaces graphique\nCopyright (c) DarkBatcher 2012\n\nSyntaxe:\n\tAGraf fichier #section\n\t- fichier : script décrivant la GUI\n\t- #section : section du fichier qui décrit la fenêtre.\n\nExemple de script:\n\t::#GuiNom\n\t::Window \"Bonjour ! Ceci est un exemple utilisant AGraf\" 500 165\n\t::Text \"Quel est ton nom ?\" 10 10 480 25\n\t::Edit \"name\" \"\" 10 50 450 25\n\t::Button \"valid\" \"Valider\" 375 90 100 30\n\t::#EndGui\n\nPour plus d'informations, vous pouvez consulter le tutoriel sur batch.xoo.it",
                    WS_CHILD|0x2000|WS_VISIBLE|SS_NOTIFY,
                    10,10,
                    430,300,
                    hWnd,
                    0,
                    hInstance,
                    NULL);
                Agraf_SetDefaultGuiFont(hWnd);
                return 0;
            }
            iFilePos=SeekFileLabel(argv[1],argv[2]); /* on cherche la ressource dans le script */
            ptrSource=fopen(argv[1], "r");
            if (!ptrSource)
            {
                Agraf_ShowError(FATAL_ERROR, CANT_OPEN_SCRIPT); /* imposible d'ouvrir la source  */
                exit(3);
            }
            fseek(ptrSource, iFilePos, SEEK_SET);
            lpclList=Dos9_MapCommandInfo(lpciCommandInfo, 5);
            if (!lpclList)
            {
                Agraf_ShowError(FATAL_ERROR, FATAL_MESSAGE);
                exit(4);
            }
            /* on interprète le script */
            while (iLoop)
            {
                    if (Dos9_EsGet(lpRead, ptrSource)) iLoop=0;
                    Dos9_ReplaceVar(lpRead,'%', lpCmdLine);
                    switch (cfFlag=Dos9_GetCommandProc(EsToChar(lpCmdLine), lpclList, &lpProc))
                    {
                        case 0:
                            Dos9_GetParams(lpArgs, 256, EsToChar(lpCmdLine));
                            lpProc(hWnd, lpArgs);
                        default:;
                    }
                    if (cfFlag==1) break; /* on quitte quand on a trouvé la fin de la ressource */
            }
            Agraf_SetDefaultGuiFont(hWnd);
            return 0;
        case WM_COMMAND:
            if(controlTable[LOWORD(wParam)%256].isButton)
            {
                for (i=1;i<iLastId;i++)
                {
                    if (controlTable[i].isButton)
                    {
                        if ( i!=LOWORD(wParam)%256) printf("%s:0\n", controlTable[i].lpName);
                    }
                    else
                    {
                        GetWindowText(controlTable[i].hWnd, buffer, 1024);
                        printf("%s:%s\n", controlTable[i].lpName, buffer);
                    }
                }
                printf("%s:1\n", controlTable[LOWORD(wParam)%256].lpName);
                DestroyWindow(hWnd);
            }
            return 0;
        case WM_DESTROY:
            ShowWindow(hConsoleWindow, 1);
            SetForegroundWindow(hConsoleWindow);
            PostQuitMessage(0);
            return 0;
        default:
            DefWindowProc(hWnd, Msg, wParam, lParam);
    }
}

AGRAF.h
Code:
[lang=c]#ifndef AGRAF_H_INCLUDED
#define AGRAF_H_INCLUDED

int iDefX, iDefY, iLastId=1;
HINSTANCE hInstance;

typedef struct _WNDCONTROL {
    char* lpName;
    char isButton;
    HWND hWnd;
} WNDCONTROL,*LPWNDCONTROL;

WNDCONTROL controlTable[256];

#define FATAL_ERROR 0
#define SCRIPT_SYNTAX_ERROR 1
#define LINE_SYNTAX_ERROR 2

#define FATAL_MESSAGE 0
#define COMMANDLINE_INFO 1
#define CANT_OPEN_SCRIPT 2
#define WINDOW_CMD 3
#define TEXT_CMD 4
#define BUTTON_CMD 5
#define EDIT_CMD 6

HWND hConsoleWindow;
LRESULT CallBackProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);

int Agraf_SetButton(HWND hWnd, char** lpArgs);
int Agraf_SetWindow(HWND hWnd, char** lpArgs);
int Agraf_SetEdit(HWND hWnd, char** lpArgs);
int Agraf_SetText(HWND hWnd, char** lpArgs);

COMMANDINFO lpciCommandInfo[]={{"::WINDOW ", Agraf_SetWindow, 0},
                               {"::BUTTON ", Agraf_SetButton, 0},
                               {"::EDIT ", Agraf_SetEdit, 0},
                               {"::TEXT ", Agraf_SetText, 0},
                               {"::#EndGui", NULL, 1}};

#endif // AGRAF_H_INCLUDED

AGRAF_FUNCT.c
Code:
unsigned int SeekFileLabel(char* ptrFileName, char* ptrLblName)
{
    ESTR* ptrEstr=NULL;
    FILE* ptrFile=NULL;
    char* ptrString=NULL, *crLf=NULL;
    int iPos=0;
    ptrEstr=Dos9_EsInit();
    ptrFile=fopen(ptrFileName, "r");
    if (ptrFile==NULL) return 0;
    while(!Dos9_EsGet(ptrEstr, ptrFile))
    {
        ptrString=EsToChar(ptrEstr);
        crLf=strchr(ptrString, '\n');
        if (crLf!=NULL) *crLf='\0';
        if (*ptrString==':')
        {
            ptrString++;
            if (*ptrString==':')
            {
                ptrString++;
                if (!stricmp(ptrString, ptrLblName))
                {
                    iPos=ftell(ptrFile);
                    fclose(ptrFile);
                    Dos9_EsFree(ptrEstr);
                    return iPos;
                }
            }
        }
    }
    Dos9_EsFree(ptrEstr);
    fclose(ptrFile);
    return 0;
}

int  Agraf_SetWindow(HWND hWnd, char** lpArgs)
{
    int i, iPosX, iPosY, iWidth, iHeight;
    char title[256];
    for (i=1;lpArgs[i];i++)
    {
        switch (i)
        {
            case 1:
                Dos9_DeleteQuotes(title, lpArgs[i], 256);
                break;
            case 2:
                iPosX=atoi(lpArgs[i]);
                break;
            case 3:
                iPosY=atoi(lpArgs[i]);
                break;
            case 4:
                iWidth=atoi(lpArgs[i]);
                break;
            case 5:
                iHeight=atoi(lpArgs[i]);
            default:;
        }
    }
    if (i=4) {
        iHeight=iPosY;
        iWidth=iPosX;
        iPosX=iDefX;
        iPosY=iDefY;
    }
    else if (i!=6) {
        Agraf_ShowError(SCRIPT_SYNTAX_ERROR, WINDOW_CMD);
        return 0;
    }
    SetWindowText(hWnd, title);
    SetWindowPos(hWnd, NULL, iPosX, iPosX, iWidth, iHeight, 0);
    return 0;
}

int Agraf_SetText(HWND hWnd, char** lpArgs)
{
    int i, iPosX, iPosY, iHeight, iWidth;
    char title[512];
    for (i=1;lpArgs[i];i++)
    {
        switch (i)
        {
            case 1:
                Dos9_DeleteQuotes(title,lpArgs[i],512);
                break;
            case 2:
                iPosX=atoi(lpArgs[i]);
                break;
            case 3:
                iPosY=atoi(lpArgs[i]);
                break;
            case 4:
                iWidth=atoi(lpArgs[i]);
                break;
            case 5:
                iHeight=atoi(lpArgs[i]);
                break;
            default:;
        }
    }
    if (i!=6)
    {
        Agraf_ShowError(SCRIPT_SYNTAX_ERROR, TEXT_CMD);
        return 0;
    }
    CreateWindow(
        "STATIC",
        title,
        WS_CHILD|SS_SIMPLE|WS_VISIBLE,
        iPosX,iPosY,
        iWidth,iHeight,
        hWnd,
        0,
        hInstance,
        NULL);
}

int Agraf_SetButton(HWND hWnd, char** lpArgs)
{
    int i, iPosX, iPosY, iHeight, iWidth;
    char title[512], name[32];
    for (i=1;lpArgs[i];i++)
    {
        switch (i)
        {
            case 1:
                Dos9_DeleteQuotes(name,lpArgs[i],32);
                break;
            case 2:
                Dos9_DeleteQuotes(title,lpArgs[i],512);
                break;
            case 3:
                iPosX=atoi(lpArgs[i]);
                break;
            case 4:
                iPosY=atoi(lpArgs[i]);
                break;
            case 5:
                iWidth=atoi(lpArgs[i]);
                break;
            case 6:
                iHeight=atoi(lpArgs[i]);
                break;
            default:;
        }
    }
    if (i!=7)
    {
        Agraf_ShowError(SCRIPT_SYNTAX_ERROR, BUTTON_CMD);
        return 0;
    }
    controlTable[iLastId].lpName=_strdup(name);
    controlTable[iLastId].isButton=1;
    controlTable[iLastId].hWnd=CreateWindow(
        "BUTTON",
        title,
        WS_CHILD|WS_VISIBLE,
        iPosX,iPosY,
        iWidth,iHeight,
        hWnd,
        iLastId,
        hInstance,
        NULL);
    iLastId++;
    return 0;
}

int Agraf_SetEdit(HWND hWnd, char** lpArgs)
{
    int i, iPosX, iPosY, iHeight, iWidth;
    char title[512], name[32];
    for (i=1;lpArgs[i];i++)
    {
        switch (i)
        {
            case 1:
                Dos9_DeleteQuotes(name,lpArgs[i],32);
                break;
            case 2:
                Dos9_DeleteQuotes(title,lpArgs[i],512);
                break;
            case 3:
                iPosX=atoi(lpArgs[i]);
                break;
            case 4:
                iPosY=atoi(lpArgs[i]);
                break;
            case 5:
                iWidth=atoi(lpArgs[i]);
                break;
            case 6:
                iHeight=atoi(lpArgs[i]);
                break;
            default:;
        }
    }
    if (i!=7)
    {
        Agraf_ShowError(SCRIPT_SYNTAX_ERROR, EDIT_CMD);
        return 0;
    }
    controlTable[iLastId].lpName=_strdup(name);
    controlTable[iLastId].isButton=0;
    controlTable[iLastId].hWnd=CreateWindow(
        "EDIT",
        title,
        WS_CHILD|WS_VISIBLE|WS_BORDER,
        iPosX,iPosY,
        iWidth,iHeight,
        hWnd,
        iLastId,
        hInstance,
        NULL);
    iLastId++;
    return 0;
}

void Agraf_ShowError(int i, int j)
{
    const char* ptrErrorName[]={"[Erreur Fatale] AGraf doit fermer","[Erreur] Syntaxe du script incorecte !", "[Erreur] ligne de commande éronée"};
    const char* ptrComp[]={"AGraf a rencontré une erreur inatendue et doit fermer.","La syntaxe d'AGraf est:\nAGraf fichier #NomScript","L'ouverture du script AGraf est impossible.","La syntaxe de la commande ::Window est:\n::Window titre [posX posY] height width.","La syntaxe de la commande ::Text est:\n::Text texte posX posY height width.","La syntaxe de la commande ::Button est:\n::Button nom contenu posX posY height width.","La syntaxe de la commande ::Edit est:\n::EDIT nom contenu posX posY height width."};
    MessageBox(NULL, ptrComp[j], ptrErrorName[i], MB_OK);
}

Note: Les fonction qui commence par Dos9_ sont des fonction de l'API Dos9 (contactez moi pour les sources)

Vous pouvez discuter du fonctionnement de AGraf dans la rubrique Projet en Collaboration : http://batch.xoo.it/t2873-projet-createurs-d-interface-graphique.htm#p21979
toutes les idées et remarques sont bienvenues Very Happy

@+



Dernière édition par Darkbatcher le Lun 15 Oct 2012 - 22:40; édité 9 fois

______________________________________________________
--
> Que pensez vous de l'ajout du repertoire point dans $PATH ?
Ma version de troll 18.0.32 beta 3 vient de me faire un core dump.
-+- SE in Guide du Linuxien Pervers : Bien développer son troll -+-

[Dos9]
Visiter le site web du posteur Skype
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [BETA] AGraf - Créateur d'interface graphique - Darkbatcher 
Il manque un espace entre la fin du lien de téléchargement et la parenthèse Wink !!
Sinon bonne idée ,dommage qu'il n'y ait pas les sources de la commande externe Sad !!



Dernière édition par LG le Mar 21 Aoû 2012 - 12:06; édité 1 fois

______________________________________________________
Clickez sur Saturne pour voir mes tutoriels et sur la Terre pour voir mon Forum:


Skype
Répondre en citant
Message OMFG 
TU RÉVOLUTIONNE LE BATCH !!!!! CONTINU !!!!!

Shocked Shocked Shocked Shocked Shocked Shocked Shocked Shocked




______________________________________________________
Un petit coup d'oeil : http://batch.xoo.it/t2861-EBootz-V1-1-B124-beta.htm Wink
Répondre en citant
Message [BETA] AGraf - Créateur d'interface graphique - Darkbatcher 
Le lien ne marche pas Question Question




______________________________________________________
Expert Réseau & Anonymat !
" Les shell codes ??..c'est juste des boite a outils ! "


Visiter le site web du posteur
Répondre en citant
Message [BETA] AGraf - Créateur d'interface graphique - Darkbatcher 
Il faut toujours des problèmes avec floflo Mr. Green ^
Sinon dark, il faudrait changé le lien de telechargement.




______________________________________________________
Skype
Répondre en citant
Message [BETA] AGraf - Créateur d'interface graphique - Darkbatcher 
Re !

et zut je croyais l'avoir modifié Sad
c'est bon le lien est correct, Sinon je vais poster les sources bientôt, c'est juste que c'est un petit peu le bordel xD

@+




______________________________________________________
--
> Que pensez vous de l'ajout du repertoire point dans $PATH ?
Ma version de troll 18.0.32 beta 3 vient de me faire un core dump.
-+- SE in Guide du Linuxien Pervers : Bien développer son troll -+-

[Dos9]
Visiter le site web du posteur Skype
Répondre en citant
Message [BETA] AGraf - Créateur d'interface graphique - Darkbatcher 
J'ai testé c'est excellent, dis penses tu u 'il soit possible de cacher la fenetre batch qui s ouvre avant de lancer l interface graphique ?
quand on appuie sur enter une fois avoir cliquer sur les boutons, le fenetre d aide de la commande exe s ouvre , c'est normal ?




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [BETA] AGraf - Créateur d'interface graphique - Darkbatcher 
Laddy a écrit:
J'ai testé c'est excellent, dis penses tu u 'il soit possible de cacher la fenetre batch qui s ouvre avant de lancer l interface graphique ?

euh normalement oui, je vois ça dès que j'ai le temps Smile

Citation:
quand on appuie sur enter une fois avoir cliquer sur les boutons, le fenetre d aide de la commande exe s ouvre , c'est normal ?

Heu oui c'esf normal dans la mesure ou j'ai oublié dans les sources de mettre GOTO:EOF, avant la procédure :ShowGui_ Mr. Green normalement l'aide est affichée si la syntaxe de la commande incorrecte, genre oubli du second paramète...

@+




______________________________________________________
--
> Que pensez vous de l'ajout du repertoire point dans $PATH ?
Ma version de troll 18.0.32 beta 3 vient de me faire un core dump.
-+- SE in Guide du Linuxien Pervers : Bien développer son troll -+-

[Dos9]
Visiter le site web du posteur Skype
Répondre en citant
Message [BETA] AGraf - Créateur d'interface graphique - Darkbatcher 
C'est enorme Dark !

Ce n'est qu'un début mais tu est entrain de révolutionner le langage batch Wink

Bonne continuation Okay




______________________________________________________
Expert Réseau & Anonymat !
" Les shell codes ??..c'est juste des boite a outils ! "


Visiter le site web du posteur
Répondre en citant
Message [BETA] AGraf - Créateur d'interface graphique - Darkbatcher 
Il y a toujours un début Okay




______________________________________________________
Skype
Répondre en citant
Message [BETA] AGraf - Créateur d'interface graphique - Darkbatcher 
Re !

Version mise à jour qui suit les conseils de laddy, et qui gère mieux le positionnement des controles ... certains l'avaient peut être remarqué, mais les coordonnées et dimensions n'étaient pas exactes, maintenant, elle le sont Very Happy

Sinon j'ai aussi posté un éditeur visuel, il n'utilise pas encode la souris pour placer les controles, mais c'est drolement plus simpe à faire Smile

Prochains controles : checkbox et Edit Multiligne

@+




______________________________________________________
--
> Que pensez vous de l'ajout du repertoire point dans $PATH ?
Ma version de troll 18.0.32 beta 3 vient de me faire un core dump.
-+- SE in Guide du Linuxien Pervers : Bien développer son troll -+-

[Dos9]
Visiter le site web du posteur Skype
Répondre en citant
Message [BETA] AGraf - Créateur d'interface graphique - Darkbatcher 
Plusieurs mois que je suis pas passé ici et quand je reviens je vois cette petite merveille... Bravo DarkBatcher Very Happy




______________________________________________________
Mon site web : http://textquestrpg.weebly.com/
Un petit jeu sympa : http://teacher-story.com/t/kT81
Visiter le site web du posteur
Répondre en citant
Message [BETA] AGraf - Créateur d'interface graphique - Darkbatcher 
Darkbatcher a écrit:
Re !

Version mise à jour qui suit les conseils de laddy, et qui gère mieux le positionnement des controles ... certains l'avaient peut être remarqué, mais les coordonnées et dimensions n'étaient pas exactes, maintenant, elle le sont Very Happy

Sinon j'ai aussi posté un éditeur visuel, il n'utilise pas encode la souris pour placer les controles, mais c'est drolement plus simpe à faire Smile

Prochains controles : checkbox et Edit Multiligne

@+




C est à dire ?


j ai telechargé de nouveau l exe, et la fenetre batch s ouvre avant de lancer l interface graphique.



Si je clique sur le croix rouge pour fermer le gui, une fenetre cmd s ouvre. ça serait bien que le controle ferme la gui.


Positionnement de la Gui ; penses tu que ce soit possible de faire un positionnement de la gui par rapport à l ecran ?
lorsque j ouvre ton exemple, la gui se met toujours en haut à gauche de mon écran.
Penses tu que ce soit possible d'ajouter une commande qui positionne la gui pour une ouverture au centre par exemple ?

Citation:

Se simplifier le travail avec AGraf's Visual Editor


Vous aussi vous trouvez ça chiant de devoir faire vos gui à la main, bah alors AGraf's Visual Editor permet d'éditer visuellement les GUI que vous voulez utiliser avec AGraf !
Ensuite, il ne vous reste plus qu'a créer le code en apuyant sur "générer le code source".

Lien de téléchargement https://www.box.com/files/0/f/360373311/1/f_2915417185#/files/0/f/360373311…

Le lien n est pas juste Wink




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [BETA] AGraf - Créateur d'interface graphique - Darkbatcher 
Laddy a écrit:

C est à dire ?

j ai telechargé de nouveau l exe, et la fenetre batch s ouvre avant de lancer l interface graphique.
Si je clique sur le croix rouge pour fermer le gui, une fenetre cmd s ouvre. ça serait bien que le controle ferme la gui.


Positionnement de la Gui ; penses tu que ce soit possible de faire un positionnement de la gui par rapport à l ecran ?
lorsque j ouvre ton exemple, la gui se met toujours en haut à gauche de mon écran.
Penses tu que ce soit possible d'ajouter une commande qui positionne la gui pour une ouverture au centre par exemple ?


Si bien sur ^^ mais la la fênetre utilise la position par défaut que lui donne windows, je peux modifier pour le centrage si tu veux. Et pour la console, il faudrait utiliser une autre commande, car imagine que l'utilisateur veuille récupérer la console, ce sera chiant sinon

Citation:
Citation:

Se simplifier le travail avec AGraf's Visual Editor


Vous aussi vous trouvez ça chiant de devoir faire vos gui à la main, bah alors AGraf's Visual Editor permet d'éditer visuellement les GUI que vous voulez utiliser avec AGraf !
Ensuite, il ne vous reste plus qu'a créer le code en apuyant sur "générer le code source".

Lien de téléchargement https://www.box.com/files/0/f/360373311/1/f_2915417185#/files/0/f/360373311…

Le lien n est pas juste Wink


Zut Zut Zut Zut et Re-Zut Mr. Green le saint patron des liens doit être contre moi Mort de Rire je crois que c'est corrigé Smile

@+




______________________________________________________
--
> Que pensez vous de l'ajout du repertoire point dans $PATH ?
Ma version de troll 18.0.32 beta 3 vient de me faire un core dump.
-+- SE in Guide du Linuxien Pervers : Bien développer son troll -+-

[Dos9]
Visiter le site web du posteur Skype
Répondre en citant
Message [BETA] AGraf - Créateur d'interface graphique - Darkbatcher 
Pour le positionnement je pense que ça serait intéressé d avoir une commande qui positionnerait la fenetre là ou l on veut, si on ne met pas de parametre le fenetre se positionne comme son habitude enfin les coordonnées par windows par défaut.


Agraf editor : lorsque je clique sur générer le code j ai un plantage de l exe , a cesser de fonctionner
os ; win 7 home prem 64 bit




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Message [BETA] AGraf - Créateur d'interface graphique - Darkbatcher 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 3
Aller à la page: 1, 2, 3  >
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch