Вверх ↑
Этот топик читают: Гость
Ответов: 194
Рейтинг: 4
#46: 2022-10-10 00:54:49 ЛС | профиль | цитата
Добрый вечер всем.
Отписываюсь о том что сделал:

-- Добавил больше категорий (чтобы пользователь мог создавать и редактировать категорию нужно продумать все до мелочи с тем как будет проверяться категория, есть ли в этой категории компоненты или нет. Пока наверное буду в ручную по необходимости добавляться категории чтобы избежать случайных удаление или еще чего там)
-- довожу до ума загрузку и скачивания ZIP(вроде как уже грузит) и RAR архивов (нужно еще немного переписать на сервере файлы протестировать чтобы программка правильно качала все как нужно)
-- добавил регистрацию пользователя - это нужно чтобы пользователь мог управлять своими компонентами редактирование и удаление и приватными их делать, осталось немого доработать API.
-- Добавил проверку на обновление программки (пока выводи только информацию)

Пока выкладываю то что есть все это работает на 30-50% (все это заготовка) буду еще работать и допиливать



Add(MainForm,2953706,91,28)
{
Width=840
Height=750
Caption="HiAsm Component Manager v1.0 BETA (build - 221005)"
BorderStyle=1
Icon=[ZIP610D000078DAC557FB5713D71A3D33196122AF01CB43413208283E40B02A284206A12852687429A0148CDAFA42252A0A3E6026A00405215405ADA0A9D0EAF505D62A084A22A22254A3B5E2EB6A0212A1460503282321B927D87BFF807B7FB833EBAC99B5CFFECE7CE7ACB3CFFE060004DEA60B012488B402C001BEEF1144CFB11A3E6A387CB58A981BB6000C7110809BC1C7B79B4EAE840FAE68EEE2CD00588C303504FC58E20480E5604458C8C2B492B7A5511B9C9BEDC36B0FC7353630CB42ADAF59E6A4D52F8BB9BE11DCBE87BE89FA6EDA74A9983633FB2DBB810ACF8C21EF9CD9633EEF2127AADF4D99A3AF39F5EEAA2A08BDDBF0C3A45FEB064AC70E48829EAB5415801CB7BF8F03402001A8E5FF55A3C66CAD7DFEF2E1DABE4D473BAA1E4C4DB0AF73AD3E658C91C7D2373F6DAC0F2028F4C3C060C4F88FA717F43EAB1F34B65E32AC1B1CADBD65351802DAD6553D1BF7BDD6F00EB961B4D7A406AF9F7E64554B01EF5326D835232828A1780A6D78A2A36F757CA2E3F8369DE628A11118E8C95E467F434FEF5F0FE4717C5E270725CA97B1854C004EE5596BE6A0F524709B59C4E3E66482302741860789A3845008094E38196065DD37981810E605503CEF5AD1B1587439C9C802BCF8760440B086F96C212522285F17188E992158FD460808088A400F400043305200015F82D96C59D03379770F8632C06584A85939512C24C109DCC4024840D849FD5CC50C5C313213A6931F02F2091FBE9D68382A9A9DA973472424308F1BFDFA88B1FFC4525F2990E0A50CC83BFF54A7A4032E1BB52AE336639BBEEC2096E6A9069830670B6BFC5030B09442B78580F0B4F17CBB462BD457110FD3482414C22B30D1760CB16CD801816042411E8729B4A38825B90402AE04B5EAB8890190148FED70058271D9880930A7A724637DF2208FDB990946952DC9F09071D1D53926822B2EB3D5F67D4A995253FEF1C69381651AFE3C993EEA74E41EED92F88EB328BA5A71E3C68DB229878A1737755168F1963B6737C70264AA6CE7D5BB311949DC3FA755DD4D40B04AE9DBAD03E596ED513775CE91EA5FCE5DDD62B81F022CC62FED086DE6A74954599EC2CA159567060F7FC60F77B0512DDEF2BE89E29A0F2DEC1C73645282624DCD2FFA9576D597EEF267E2C2BFD0E807A335FEFB15A54301918EA25DA0A4AECB781E04E7D9291CB5FAB22C50E44326236916841356496C457F3C78AC94B1A28045ABAFBABB78704E8065B50BEC88C6DAC2648D2463269AE07B029D330C99CAE48A6F0677EDC915FF2806A3AE6914D7D59BD4D924933D8B36E895DF53C669DFA2657CA241285121C144B91F2EF37B6D27D32F31ADDF3C46A71583993F8D459A2AB86867CE5ECC4BEE83CBBEBCEF49B1174300276702ECB0419DC2A672050697723BC586AA1D57969C4DBCDBA3BF64F97451AB567CFA5372DF8EBE55DB0707BDEC04DEF22D06D708376630835E509FBE28B32E5D41BC68397656FEE0E5F9B46266391BA4E9B2DA86FC39F1E6DEE7AAC19465AFD8072B2F6C6B79E9B7EDA0A9F35517770DE2F2EE6155BB5EAFEC3376BE7F7C25823AAF3FDAF331F30C18F5E2E48567CCF64246C42674742111484A7564C519CC8BDEC06DE4CA5E7AD704C9170EA6DB79DDA8AA29AF7A14A9CD61E3C77832F9ADA93CF4742C6A16F654D71C4985034E3DDCCE8FA2DD680B0FCCD777A7875A74E7808E179586C45DA58F6236B6E193F2961BDCB9DE80D363E3BCCE8DEBB59E950455CDDF65CF64751752EF749173C972E0B29BBFF69E77629B8F67DB4FC1A9ECC7B125C0255B958EA375768D959A6229E5850458C33DEB43C77177D952CC50A4E4008523D870FE059833C5AD760481D766CF654A659C9E6FDC19E6152FC6728E9DB039B972BA0E25707E166489B8D55F3082FEB2BD63B64C98C48E736084FDCF250AF541109F312769AC3B68EDAEB5B9467105199224C744C0ADEF0AC6381E143BBA62591CD25D18E7E64156F142FD8C22B4728AF17DA89F92DF94EEB5D29CDBB89E3DD863E30EB4DD05BC5CEF00CCCA938CCFD0E89F5B2822FB9B42D5EC4DA7F6AE50742CDAED50A723D2AE4C7360070A152224CD6AE9367CD67397FDFAF408E149704552118CB554DD1A4BD3764E6319AFD6552EA84E79C448206116FC6784947EA1AFB520D7F61FCE66F43DAF548BC0FDEBCA2958FB317FE30654C0E55FFFCCC029EF9D7D6EA4F10AEBEFC8AC859FA70CDB7A922780BEEE4592A1B8AFC1DF5AEE3169B9952719D27204D47271A97E9A2E790C939B9B3B47234E58C9555D23BE6D9956E513C4DE52CAF780A647DA75ADF13621099BB56DFB69BDDED14296B83EC6F55ED4CDEE7D922145B3B7F95B0DB9C304757725D950D3CA2C8942784BB078E0CB24444ABF8101C2A31DFED7EB53576668BD431276FC1B95CD9226D5FB3B67267D06E271757EF79D6CF55D3168E48B0C7E98BA375D5560AEBE7E12E9FF6136685779D32FD0868BB4E6E967C21B2CCF39381029B5F5A3AD39D32DE8C7CD75EE2E66BDA17FEA67D87AC9581BD11869D69BB20EE53F147ED73B160A751F374E10EDCE0DF92CF146D5831B94BD8FF968B362CE7E7945B358EEA736F4CA8330A8F07AA144893CE2E1B30DEF75C98642E1EB50D917C176A4D18737FCD44C6C6DAB3BA2EBFA705EBD3654E66482CFF99BCD1F893EEC2E046CAA7C5A5CAF9B006E59A9517A242B7C34DA67826D6A83D27E736B244CEC6568CE54EC546BD7D6DA5BA71FBED6CC522637AB6A26EC0C122D329ECDA83058B249AF927D181C8E6DC890F3C76B3216196EBEE5B8DE5A3FF8E453607B45A17C2292E68ADEE8D6DAAF3059E589476B8FF24D46D9CE0BA48BD1EE006C6F2BEF3FCA278D87D85A07E6849BC052DEBA6F666D50B8AE4AD59A3401D8C0F13324B5BD4DF3283FA300EDDF208CF2F1BC58537E010A3EBFAAF3833E66B7DEDD42B6FCA2A72FF94711FD78C538633B3A770A56D8AC1A9C21A537213936E2D96C2DDF51F78D0FB8EF26DD619CC5751D9377485E0E1AB2A935CDFC37970B4D2C4BF126E83DDDBA5A47456AD686F776A9E36D6DFA2E3BA7C030669EC23B24DBDB58D9F1B5E1F630621D3EC564B493682F041B99F93B34A66B4DBC687057C2E83A8AA86A5D6C3D57F1175139E20D7D3BE528D5A88B9D3D5CF184A8D4F8C71DB1640BC833A0C412D128BDC5F73415BB1C14A95F15CEB48F39A97F9E7BFC90716E3D9C49A5A7B0B96BB5E98CDAB70B98D9209AD4EAADC3D978D29D09091D927ABBFEACD48EEA8073E19DEE2F8CB3EDA90A8B06A5D9D486665A2FF8BDA760136FEFC8F17492C7B07B69F877108B5BE721FD556FBF1859384BE5743D923DE8A99E414F9E6B216B7BDF12F7A2A9621252C0EE989D08ECBFF1BFD5BB24E37B6E5A93CA793CD66DA57DB662C764F9AFD8ACF6AEC28568A5C73CF6A127909BFDDF7D7AFBC5C5231B8FE469FC8B1451093B868CD46101947411DD6D2D378F84921642497FC6A7287B8E9C89CFD0C6A25BDE9EED29B046E36A98072951EC1D0FD1FA523A8550FC31ACE497C0A6E4B1E2C0BF1D598D2301E92AE30A64A7932733F96F6BA75EC0C391F4C5856E6FB0A913F9818833031CEA97295A270F14889C4433604709DEB0872A0C0156EA85C2E861F9C3D1D5C091B32FFDC50847CE340E3235B3592C81566D05092345F4275591A2D306F37BDC9ACAD8606B2CD1D57935D0891D7019E714B4EAED24137D3282D125658299C7C74047B6403BBF4E81E7FE7A42018E9B3C3C0B98D946A107F8E6B8909C0F2DA08701662F1320E0882B40051C82A560E5B51F68945CD4B721177A4B22C1F8B5C08ECB21C03AE09F31FF6C5FB0FC74E476EDE64B89A914D850B9DD5351C4F7C715B65C385AA91894B84D429ABA084C4D84C0EF9E30158A30A1403324209C420FA860A1382346823B2B7EAA032403B09DA6701C2771310CE788016A0B597C58BC3AE5C3CA829309D0360104BC70D22BDFC4C802E84B13230096B7D91D5C51C9528091CCB589C825FD1812D89AC1395A88C12E2712699A6C861265657075489C925AC3191C27C1FC51264216D8B54694230D4D6F23C1C64BCFDEEEDF765435B88E6DEEDAF974DD74E5191EBF7718E22194AB8E9D89391DFBF3E32A1B2FE3D0E9D452E0FC290BD89D7FF6D6B578937C52FCC7AA9F3B637757989F7B2D7FD8F5F0D8F98C125F6B0C489DFE8776C888CAF62745ADAC76BC6AFA9D8AF82A3AECDC6C61E6BF004285E29D]
Position=1
link(onCreate,1517322:doEvent1,[])
}
Add(TreeView,1445528,252,252)
{
Top=10
Width=290
Height=695
Strings=#6:Разное|9:Интерфэйс|8:Контролы|7:Графика|4:Окна|7:Система|8:Интернет|2:БД|5:Файлы|11:Инструменты|11:Мультимедиа|7:Строики|6:Логика|7:Массивы|6:OpenGL|9:MT потоки|5:WinCE|
LinesRoot=1
Icons=['Icon'=[ZIP5E07000078DAC5957950136714C03F8FA9B6D3AA75AC3858CB11AAA9D2AA4DAD190F08102084280801954AACADE2512DDA111D2DF568B54AEA85E08110848061B321D70642E22691C39060849858905A1397433101AD98461310E84266A8A3B5B57F74FA76DFFEF1F6BDDFBEB7EFFBDE07C008FC9A32050C3E016D0C00930100445C711398033CF641A97C0DFC1F02730BCBF8102A95A0123102F1206EE1BF0AE75F28AE10C0E63ABDE54673ABC5DA8E6177B096F6DB98B5B9F99A562BE15D781588A0E0BC0EBD68D2E9D4E68B99A6BC2D0D196BAEFEB8A6FEC076233BFF3AD760D69AEBEA2E2B2A8A38797F03911617569521EACBC86E5D4AAC3A3CFA626C948249AB488C9427D0E431F40A6A3C4A395EBB4F57A3AE919743E7397F09292DE0A0A530AC3E9F0091A939EF51B2FC437203C34BC811A5416125E4E0DC598B4EF8071DF50FCD24AE8512552AB15A2C2C7E212BDC5251724120CF8F3846FE744BC0271BA6071D98BD53B1E94A476DB7BB5BFE8B887292404E9F46DAE83F9BE54BDA1CB0E21C1D2D172AF8BCE738725EB152C25F7A323830D97B56FCD405DB4852A3B4BFBF7F60482A1A65410703E7A71248EB023E5AE93B23C66BD6175E69BCF5A850202AFAB3895061811286D882F4996BBD7CA96F7D98E407EB600FC16AB31E457E6265C72D4A0F58B0637ACA99CFE1AA920F127DFCE8E33FDEE92B2E2BC47FC530475CCC5589847159A184D8F17ED4092C76525F7F1F0E519A95E1D99121B961C159E4A08CC0F85334DB231B6E3F2C384C88F122AE9EBCBB78B34A54CA2FE27A380A01FF920C99B787E04F1F478C9B8A1864B8F3DDDFEE328A1242E0A460218B02AFA0F399A60E93274977AF9BC55E454CF66666876BA492E1158533710E696F0031C99BF4F55C8BDD8A3B43666134BA214CBD3DA4329DAA4993B65E1A7846ECDD76EACE8551C7165E2A43E402BE87A3918A353284CA9E2FD20A6E7434F73CEDC13D6D4EFB4D472BFB3A145A7B9056B56B6BC9D634C9375D8E4EFC15D220DBCED9CAFC8E96981D55A3542845420FE76783A1C9680C3E16187328B2F351E7F0476B7FD5D2CAD650ABB785576E60542E4B35AEECEDEBC5EDFBCBD3837693C8DB662CE784B5DFB656A3A887535FABB5DC684AE02DA6EC9DF71527052F1F776EBBDFB65C12C9D02C8952273034718935745DA71AB73B9E38E2CE9217EFF20FF93E70878C75A7A54529433C1C545EDE8EDDDEA364513366861D9A715C7ED0E972AE17462F534C8A55CE655646A436A4E8BAAA3D49E6D56446664DA4ECF7627008B0FE6C9BD52A1408865BDF7AEB96BA5EBA42EA473DF24EF8F1B75767872E11BDB914199DAC26B639AD9E7270D134A28CFC77234E8E893A352E45310FC32C4D26D3B3EB595F53DDD971EF48752A53348D767A6C1467349D3762896454B22AC0D5E3F294734E9DC52898462F181B9DFFFA2AD5FB65F5455D361B22163FB7355AADD6F6366C8F765D323A87C17D83CE1DC9804632A5930EC1E9DFF2B7C49E9B13034D58CA1B1B0B4FFC52BB204FC77ED4DD6D3636BCB8DF254221CEBFDBD17A42F7439A71FD3A1565B9D4275EE21D2FF361CAFC1210C267E53337553376346C840CF94E8703B3585E367F24225197DDFEF87747D57534DB9079EA664E8E8573E656CE190B7EE79E68CCCCBB72BAC972ADA7C78D592DFF38129B9B1A5D4F1EF7B8DD775AB046A3D16C3098AF5E6D369BEFDBED7D7D7D4EA7B34EAF7BC5112D431093B1E1C183FB6E97AB77485C2E97EDDE3DBD5EFF5F1F2E784FC1C0FE01F014EC052EE0031E82F100036340E5908E02FB8674C44B75D067500763303CF621CE780A82413F181862FF011788E78E],'Icon'=[ZIP5E07000078DA636060044209090610C9E0C1CEC020C6C0C0A001C4402106030688380828B0330C41D0D8D818491CF0F6F6062AC6650E50F6E6F2DAD33D2EC420A0625CE6D44733FCFF7F06681441346A0EA9E620C735D01C868606F2CC418E6B8839400474157E04D482660EB25F80ECC565C422FCE6AC9A0F721250D9DC952004E442184004148448414882E61089F09803B405C8250661E62F2AA619B2E31AD31CF2E21ACD1CB2E31ACD1CB2E31AD31CF2E21A195012D78313FC87823F0CCC38F1019CD81E27860100C5814B1B],'Icon'=[ZIP5E07000078DA636060044209090610C9E0C1CEC020C6C0C0A001C4402106030688380828B0330C0EF01F0350CB1CEC4615E346380C21CD1C98634870125E1F51680EB2620ACD4163639284C307598AA00904E30B9B391426456A2569FA99336D1A01043707C625D31C885E64F68802C524225A9B330A30F3CB3F7686FF7F98191E006B39086600E3FF0F18A06C90183B18FFFF670F67C3C580F9049B180C0300039F19E2],'Icon'=[ZIP5E07000078DAED942170E5201086F75471F7D44D649FBBB88B8C45752291B1919191B14F229158241289452291586464EAB69BBC3E7315DC9CE94CA7CBC73F6407BE212201F841A369E048787902F80500BF69520BFEC0BD7FD4F3137CD7972B19E53B49AB6C4EACCA4E667F4795A893AF7A7AD977B2A3EC15BFC3B5106699DC6D4D4E613928B9EA6182C10040F9803A8C1F29DC6A1035A2DA4AFDC548C2E95A0FBAB33340335FD6286FC52DC52ED15435B49FCDE795EE920E2E73D31A3E847949AB7283B3AD337DFD3A6620D8C80E0FD946E8644BC7B5EDADBE26C97609455EAA9ED14F5398D872010130011B619D20CC1027C8F3C902716DAA9ECEF6ADEBAEB211BAE7BA578A67D9E7F51A46701CFC0041809FEB1EE9879BE7C68F25DD08DC34B1C7356B1E96D62F9D1D407356F5209D4D2BC60983C0309E88E3B14844BF671FF562675EF5EC516292E838DA16FD807E3CD694D9EC5B20102365D5B345B327B34745C26391EC03BDC5035A94A0FFC573EEA734B4FF235B50F4917DFF883EA510F1C37C859FFF3DFF76BD01F1D33520],'Icon'=[ZIP5E07000078DAED933F0E823014C69F716074336C98B838BA39B238987002E33DDC0CB01B6F60181C8C9E82C14D2FE0E64D9E5F53FEB6141A59187C7CAF295FDB5F5F49211AE1715D122D6D1CA229112D90B06849D2173173E81F438CA8D14DD3B43FEA27888AEA0129513690388EB7E62820E8074180C9260E46DFD7C3F3B8D655A944540507934D9C7047CC2FA0A4F40F9B9B91DC343F6E64CF91908A5F590B4E1DA573AAC0C22FB7D0088D1C6595EA488835C770AE0E0E7CBD1ECBE3281C08559964735FC1B9EC6DD57E7FEE892809D3CE3721BCCA0E04530EC9B69363A9160E7601CA46EDFFD77082D5F01366CF633EF9CC8F90F9C39C928F5C21E7C871964E96936CBC9E797C01EE1B51F8],'Icon'=[ZIP5E07000078DAAD95494BC35010C7C7538FDEA4478F1E3CF80DF4E8451111454402222A8816A1D6525CEA421109B6B5A0159120222556BBB8A22D6EB814172A58F098DCF456F10BC4491EBC84F89E68EBBF693A794C7ECCFCDFA401A8C08FD309FA191A1D00550050835F5C823A20EBBAAA1DF0A31AFE282644108462B1A8BC29A8FC6B1E55281472B95C369B4DA552D168541445BF21BCC4755555F11626CA35E6420E260483412926258962494992847E413F04017308048332DB6136A8699ADE053D7E2F231F34C033A29083BD68E5897230385B766723239925D76968E86471F0581C385AE83B9CEF3D08F4ECCD09E999EE94BF2B39D999186FDFF1B5C5BDADDB9E16D9DD2C8F365BEBC1E07CC5531A4A7955AC9C8B552F13C5F396A2CC7A149D73B9E663A23041FD26CCA755D93857EB134C14E1585D251CDA206E9D95732D4D31513C0EF5CA56CFCDC63413C5EB8BDA4EEB21C0DBCD59260A133EDF5F9487F4532294090FCBEEA6958E5ACCA73B68EBEB6E2B4050B67DE10D1E1D0693630C402E364F50BC46787365FA6370EEE50582E219CB1B51CA21C1435C24285E3DBC69A7F34C388FBB4182E219CB7B70CC7A0CA39E926182E219CB7B706C9C7C3A4251D42BDE30585126E74E0F9EF7974B435939F5E589FEB59629847C4025A8E0307EFDF8A6FB4FE9BC2F809C13CB],'Icon'=[ZIP5E07000078DAB595ED4F5B551CC7CFB2174BFC03CC5EFA42170831EEC5744B96BD50F029324D34B2A156602B0F6D61646390321C1468291D4F52A02D5CA42D5DE9A05D0BA5ED6EC7C32D7DE6F689AD74A3445895B2BA38914D25CA263F2F6985B815939AF83DF9DE73F2FB7DEE372739F7E620B48F1A070FA2ED277AEF00422F2284D22853257418C5EBDB7AE900DA433A132EEC91F005ADF5BCA62E4C8AFE557BC1BD22491F972BE3F2E43C9E84CDAEA017D28B194913266CAEBD60E7CD8990CF175B5959F4FB430E874E26B388C58DACD2AEFE81E7736C466352986A056CF6E8F2F26FEB8F22CB1152ADD1F3F924866945E2A4FB99B35A57EFDD8BC39EE760CF24E1ED6C0D6B5524B7DEC92C1597957DDD2DDA79F7FAC8709B80DFD32332CF38824BDFB9F0095F671B05BB9BB80E563905EF903EC2B1861DFB43911E15E5DD6AE04BB24F7DF819AD4FA1E4370B32ABDA5E608AF69FE9483B752E3F2FAFB2AE61A8077B2C3FB1A9485F119FB9C3658B29389796D82D3EF2E78D2C20DE8599B7C191B97593D55EFCC5A18C57DF3AFEC6910F3E3AA60F1FC7BF4FFFA4E09D13475F4ECB68AA380B44F6DF70D6539CD177BE289EB38863E0FC12C87CF09680271F089A80F629AF49E0250C0CAD2D9B5CCF21D74A46677D1663EB950EBDB012C8B3BBF0D4E7C2B244CEB2BE75CBCB80702D8439B0C8017785A4BC582C57C6BBDCC1EB0687F5F5CCF7A5CA6BA1D052D42C7C061696D2E3646CAA05221C58BF0ABFE8E0A741B8C513B20A7A9523F1AE6250110D5A5E3994766DCC10088413F0CFFF80E3E4BC4EBA6AEF8FCD691F2C8F6EC4D4B02818A8640EE94DF1EED521956D72BC90C19C76796C33F6904EB66AEB5F5DD03E58DA85778ECC69F7F8ADCE79B389542BE65412DDC0EE47880D0D67BC76B8EA72AD5CAD75078254C56DF7FA1CC9E1A492CA95FCDABA7676358FC56A60300B4E9FA6973035461CA52272D66B50A922C1E05D9773CE64B28F8D5931AC8E5ED4D0DC92528E7F7A7AC1EFFFE1FEFDF5CD275EFDB859A1307777DBC492DE6F64284579A7095226FFD662214522E262D5544D4D776BBB3BB8805257B88BBE263A1A95E405D817C77369591FE7A8C74DA986B8676C8FB43960CA00F39BBF1B4EFEAA2E925FA0D7B775A69AE332689E5A0BC1990B1EFAF68FE03B39515BFE95A03DD59C79CDC0139205B72F40E81284AA61F13C5EC3BA7CA523D59C85D17EB87B0EA29DF05001310C62CD37AA4B6A046DA9E6DCD60C3EF4756CAC0C6FFC68D85CD3C1E3BEC9EAA22661EF7F38AFD909BB638AB843E001A322E696E22D8DE87FD60C3422CED63E846A29533327B21F71A81B6FC7F9BBB644EA1170EA10A084B7D796C4FCAC2D800000FD0535F47BF1],'Icon'=[ZIP5E07000078DAB5943B4B034110C7470463A1850A92CE80412C6DF41358A88DB560A38285858285450A95103B5398C24645491311348512308AF1815A04157C200A41D1604021F80C17EFD8712E6B2E977B25419C9D1986BDFDFF6E5F770065D4EC76903374D800EA01A09982BAA00578BF6C0E1B1430CC7891663D58F31455FE178E61BF066EF11634EFD1CBF59CFF1B63B18A523960BE762CFD944D6C72DF7AC2D5932B1A37E68C470C3999F172D179956CBC666D376CE409BD89EFF670CC0035B601AE4D39EBA641725EF43C3335A773EFB172E14C8B1A5D932194751C9297C0195E962194B59BFFEBD3222BCC19F2E779D66CDE2D2EA7625D62A1141E7DE1439ABD88720EC63F7A77EEF23883F379AEE2703915E164AA653B561338AF5D8C3AFCD1D6C049932FE23B8D1B6CB58AA070B89C8AAEC3987E5D15EE9001A77F56CFE172658185F7D9643ECAFE14C531DF9FD238459CD78CC4DC028E08E86248F592C4066EBFAAFD9796F727C7E1722A98247C225E20D20992AF229213D6F23EE7388ABCCAB74B055D9BE30C81E633274A755341CBEF2B676A3961356EFEBD1B58B1F2BCFF8F6C1F9880F40145DA03C2A313DEBB29FA28263C802880B35C0047D91B388007C0FD6F1355916D6F3C68FC6BB9084283083F104F1CB5],'Icon'=[ZIP5E07000078DAC5956D4FD35014C70FE1C5BE81E11DBEF4A57E02DFFA4DCC904CD16014129C0625C164C38744103207991A232CA88B1825EC81B88932960CC7D8DC42D9D840923DD08DD132E1782E6DBAA5D46E9144CF7EE7E6E676FDE5DF9BDB14A0857E6D6DC046B8600038050067A86909CE82B4CEEAB401FE5B9935573D1ECFC9557F2551AB4E20A9A99A91BCBB6E5470F676BDBE7199705CBBF2FC6AE7B8E9922219ED30EA7BC64DC6ACDFA5495D1273C33CE4594F46713B881B0B98FC747C63313C715CE5B0DB559E377D5D9B690E3F5BD03F44A3EA2A5B8F4EE3B24BA5228F4AF571A07B2B9BC6624A82DDFBF33B217B7E7CC0980B2333B6CE8E3F19A4F2597B72B99C9247C63F54CBB3E6C6D539DA7C45A2E9F9FAA42F5F2862956794D38CA354B2271DC0352FC67DF561343DA1517371A754CB533F1EA1FF384A2DDBEFF0E53D3CF885951C83CF3068AF0A2B8CEC126E7C69E6BCAE3AEE962AFB1A496822CD499508CCF477EB7B12AF06CA7B22CB434861887252667B05338BCD78B8A9C15DB1AA9D479AC4FD383B3B77FFA6BE67F3BDA552A9A05487075815707F17851D79BBBE79D1E9449BCD6BE969E8110441230F9FA17773CC7891A049C3F7943CA2A09D87CEDEE1E2487EDA141ABBED7E30A8EFD9723F15451195925458261579F2D1A9C8447F43093BB191497A047E3D594C8689422C180B2F11A98579F2C45FDEF3DB1F36737E4AF32379DFE3C4DBE1C8E470F0C523BA4B41F2FC9BEF0A3E0B015AAD808176C0D479C0E22DE080752FF5396A3A5AF405E4A0556E0375BBFC1FAD46E05AA85B116897E1370BD04766],'Icon'=[ZIP5E07000078DA636060044209090610C9E0C1CEC020C6C0C0A001C4402106030688380828B0338C8261081AB08A1E38708072A3C83204DD28E20DE1E3E3C365147E43D0346A6B6B931726B8346233A481F8B0C03416D525A8463534E0D268626242420C02CD811985A6D1CECE8EB8386C40760CA646777777620D4135074D6360602079E6A0698C8A8A22C93BB834A6A4A49097E8D134E6E6E69697973734909054808A815A801A47CB3562C0FFFFFF51F0F1FF8F196EFEF9CD70E3C76F863B85BF19EE29FF66B8CF0EC4FD207A37C3056569860B05DC0CD72AA419EE555833DC29B066B87FA09AE1FEC3DF60BDE8E6010094876FB4]]
Point(Index)
link(onClick,2240176:doData,[])
}
Add(StyleXP,10767794,28,140)
{
}
Add(MenuEx,9082006,203,147)
{
Menu=#10:Компоненты|1:(|14:Добавить новый|1:)|9:Настройки|20:Проверить обновление|11:О програме!|
Bitmaps=[]
link(MenuItemIdx,13313392:doEvent,[])
}
Add(ChildGroupBox,1311481,896,168)
{
link(onEvent1,4494923:doString,[])
}
BEGIN_SDK
Add(EditMulti,10797057,21,21)
{
EventCount=1
WorkCount=4
Width=965
Height=599
link(doWork1,1711911:doPosition,[(105,27)(105,335)])
link(doWork2,1711911:doMax,[(95,34)(95,342)])
link(doWork3,4352214:doEvent1,[(210,41)(210,426)])
link(doWork4,6800831:doEvent2,[(308,48)(308,447)])
}
Add(GroupBox,7034333,34,35)
{
Left=295
Top=340
Width=527
Height=363
Caption="Описание компонент"
}
Add(Image,10187768,518,49)
{
Left=10
Top=15
Width=24
Height=24
Visible=1
}
Add(Button,16643337,112,49)
{
Left=50
Top=15
Visible=1
link(onClick,11279226:doExecute,[])
}
Add(ODialog,11279226,175,49)
{
link(onExecute,2670353:doEvent1,[])
}
Add(PictureStream,1814382,301,49)
{
link(onLoad,14883437:doEvent1,[])
}
Add(StreamConvertor,6136114,609,497)
{
Mode=3
link(onResult,4159490:doCharset,[])
}
Add(Hub,14883437,364,49)
{
link(onEvent1,10187768:doLoad,[])
}
Add(FileStream,1638046,287,140)
{
link(onLoad,4100310:doCompress,[(363,146)(363,230)])
}
Add(Hub,2670353,238,49)
{
link(onEvent1,1814382:doLoad,[])
link(onEvent2,1638046:doOpen,[(259,62)(259,146)])
}
Add(LZMA,4100310,497,224)
{
link(Stream,1638046:Stream,[(503,198)(293,198)])
}
Add(Button,13184118,294,567)
{
Left=375
Top=310
Width=145
Height=45
Caption="Скачать"
Point(doEnabled)
link(onClick,10797057:onEvent1,[(656,573)(656,27)])
}
Add(ProgressBar,1711911,189,329)
{
Left=5
Top=315
Width=365
Height=10
ProgressColor=16711680
Point(doMax)
}
Add(FormatStr,5735406,399,434)
{
Mask="https://labdev.ml/api/api.php?action=info&product=%1"
Point(FString)
link(onFString,3689454:doLoadString,[(443,440)(443,461)(387,461)(387,496)])
}
Add(HTTPClient,3689454,399,490)
{
URL="https://labdev.ml/api/api.php?action=component"
UserAgent="Mozilla/16.0 (Windows 10; rv:92.0) Gecko/20100101 Firefox/52.0"
URLCodePage=1
FileField="name"
FieldCharset=1
CookieManager="parent.coocki"
Point(UploadFile)
Point(onUploadProgress)
Point(CurrentURL)
Point(StatusText)
Point(PostData)
link(URL,5735406:FString,[])
link(onFinish,2258243:doSearch,[])
}
Add(BlockFind,2258243,539,497)
{
IncludeBlock=1
StartBlock="DiscriptComponent{"
EndBlock="}EndDiscriptComponent"
link(onSearch,6136114:doConvert,[])
}
Add(Charset,4159490,672,497)
{
Type=7
link(onCharset,6592669:doAdd,[(720,503)(720,433)])
}
Add(Hub,4352214,301,420)
{
link(onEvent1,6800831:doEvent1,[(525,426)(525,440)])
link(onEvent2,5735406:doString,[(357,433)(357,440)])
}
Add(RichEdit,6592669,770,427)
{
Left=5
Top=15
Width=515
Height=290
ScrollBars=2
ReadOnly=0
}
Add(Hub,6800831,595,434)
{
InCount=2
OutCount=1
link(onEvent1,6592669:doClear,[])
}
END_SDK
Add(ChildForm,3366350,392,126)
{
link(Data1,9809861:Var,[])
}
BEGIN_SDK
Add(EditMulti,13822210,21,21)
{
WorkCount=1
DataCount=1
Width=1315
Height=641
link(doWork1,4018753:doVisible,[(49,27)(49,76)])
}
Add(MainForm,4018753,105,42)
{
Left=35
Top=105
Width=682
Height=415
Visible=1
Caption="Загрузка нового компонента"
BorderStyle=3
Position=1
Point(doVisible)
}
Add(ODialog,9929441,469,399)
{
Filter="RAR|*.rar|ZIP|*.zip"
link(onExecute,150390:doText,[])
}
Add(Button,11196982,406,399)
{
Left=10
Top=15
Width=135
Caption="Архив компонента"
link(onClick,9929441:doExecute,[])
}
Add(HTTPClient,5181362,511,504)
{
URL="https://labdev.ml/up.php"
Method=1
UserAgent="Mozilla/16.0 (Windows 10; rv:92.0) Gecko/20100101 Firefox/52.0"
URLCodePage=1
FileField="name"
FieldCharset=1
CookieManager="parent.cooc"
Point(UploadFile)
Point(onUploadProgress)
Point(CurrentURL)
Point(StatusText)
Point(PostData)
link(onFinish,963309:doSearch,[])
link(UploadFile,150390:Text,[])
link(PostData,12739542:GetData,[])
}
Add(LineBreakEx,15402714,525,574)
{
Caption="head"
Type=3
link(_Data,5181362:CurrentURL,[])
}
Add(FormatStr,4867230,826,266)
{
DataCount=7
Mask="componentAutor=%1\r\ncomponentName=%2\r\ncomponentDescription=%3\r\ncomponentSmallDiscript=%7\r\ncomponentData=%4\r\ncomponentCategory=%5\r\ncomponentPrivat=%6"
link(onFString,2359846:In,[])
link(Str1,13465189:Var,[])
link(Str2,3695110:GetData,[])
link(Str3,13071942:Value,[(846,252)(761,252)(761,322)(699,322)])
link(Str4,11441031:Value,[])
link(Str5,10281975:Value,[(860,219)(1049,219)])
link(Str6,4898642:Checked,[(867,233)(1133,233)])
link(Str7,1335870:GetData,[(874,230)(706,230)])
}
Add(EventFromData,12739542,532,266)
{
link(onEvent,3439030:doCharset,[])
}
Add(Button,12479344,315,504)
{
Left=525
Top=350
Width=140
Height=25
Caption="Загрузить"
link(onClick,2905758:doEvent1,[])
}
Add(Thread,11610816,441,504)
{
FastStop=0
link(onExec,5181362:doLoadString,[])
}
Add(Edit,150390,525,399)
{
Left=145
Top=15
Width=520
Text=""
ReadOnly=0
}
Add(Memo,14048041,581,196)
{
Left=10
Top=210
Width=655
Height=130
ScrollBars=2
}
Add(Edit,16732158,875,77)
{
Left=195
Top=55
Width=470
Text=""
MaxLenField=30
}
Add(Label,8764517,189,98)
{
Left=10
Top=55
Width=171
Height=20
Font=[MS Sans Serif,10,1,0,1]
Caption="Название компонента"
}
Add(StreamConvertor,2793735,637,266)
{
Mode=2
link(onResult,13071942:doValue,[])
}
Add(LineBreak,7388981,441,266)
{
link(Out,12739542:doData,[])
Primary=[2359846,644,0]
}
Add(Memory,13071942,693,266)
{
link(onData,4867230:doString,[])
}
Add(Message,10141285,819,511)
{
Message="Успешно загружен!!!"
Caption="Успех!!"
Icon=4
}
Add(ComboBox,16438619,994,119)
{
Left=195
Top=135
Width=210
Height=21
Strings=#6:Разное|9:Интерфэйс|8:Контролы|7:Графика|4:Окна|7:Система|8:Интернет|2:БД|5:Файлы|11:Инструменты|
ReadOnly=0
DropDownCount=20
link(onClick,10281975:doValue,[])
}
Add(Memory,10281975,1043,126)
{
Default=Integer(0)
}
Add(Label,9755189,189,147)
{
Left=10
Top=135
Width=174
Height=20
Font=[MS Sans Serif,10,1,0,1]
Caption="Категория компонента"
}
Add(Label,6282097,189,203)
{
Left=10
Top=175
Width=174
Height=20
Font=[MS Sans Serif,10,1,0,1]
Caption="Описание компонента:"
}
Add(Label,60337,1127,119)
{
Left=425
Top=135
Width=175
Height=20
Font=[MS Sans Serif,10,1,0,1]
Visible=1
Hint="Компонет будет доступен только вам"
HintManager="parent.HitMan"
Caption="Приватный компонент:"
Point(doVisible)
}
Add(CheckBox,4898642,1127,161)
{
Left=605
Top=135
Width=15
Visible=1
Hint="Компонет будет доступен только вам"
HintManager="parent.HitMan"
Caption=""
Point(doVisible)
}
Add(Message,15746558,1134,490)
{
Message="Размер файла превышает допустимые"
Caption="Файл отклонен"
Icon=3
}
Add(BlockFind,963309,651,511)
{
StartBlock="100"
EndBlock="0"
link(onSearch,10141285:doMessage,[])
link(onEndSearch,15704545:doSearch,[(747,524)(747,566)])
}
Add(BlockFind,15704545,770,560)
{
StartBlock="100"
EndBlock="0"
}
Add(Message,1040920,1036,308)
{
Message="Ошибка загрузки файла"
Caption="Ошибка"
Icon=3
}
Add(Hub,2905758,392,504)
{
link(onEvent1,11610816:doStart,[])
}
Add(Charset,3439030,581,266)
{
Type=6
link(onCharset,2793735:doConvert,[])
link(Text,14048041:Text,[])
}
Add(Charset,10276971,875,133)
{
Type=6
link(onCharset,11806471:doConvert,[])
link(Text,16732158:Text,[])
}
Add(EventFromData,3695110,833,133)
{
link(onEvent,10276971:doCharset,[])
}
Add(Edit,2664290,749,77)
{
Left=195
Top=90
Width=470
Text=""
MaxLenField=60
}
Add(Charset,8264150,749,126)
{
Type=6
link(onCharset,10232846:doConvert,[(793,132)(793,120)(632,120)(632,132)])
link(Text,2664290:Text,[])
}
Add(EventFromData,1335870,700,126)
{
link(onEvent,8264150:doCharset,[])
}
Add(Label,16619768,186,46)
{
Left=10
Top=90
Width=149
Height=20
Font=[MS Sans Serif,10,1,0,1]
Caption="Короткое описание"
}
Add(Memory,11441031,847,175)
{
Default=String(0)
}
Add(Message,8434188,1078,490)
{
}
Add(StreamConvertor,10232846,651,126)
{
Mode=2
link(onResult,1335870:doData,[])
}
Add(LineBreak,14000906,49,140)
{
Type=1
link(Data,13822210:Data1,[(55,109)(27,109)])
Primary=[13465189,777,91]
}
Add(StreamConvertor,11806471,917,133)
{
Mode=2
link(onResult,3695110:doData,[(963,139)(963,121)(821,121)(821,139)])
}
END_SDK
Add(IndexToChanel,13313392,259,147)
{
Count=4
link(onEvent2,3366350:doWork1,[(351,160)(351,132)])
link(onEvent3,11973386:doWork1,[])
link(onEvent4,5492733:In,[(363,174)(363,209)])
}
Add(HintManager,13499757,28,182)
{
Name="HitMan"
Font=[Tahoma,8,0,0,1]
}
Add(DoData,2240176,308,259)
{
link(onEventData,9780368:doString,[])
link(Data,1445528:Index,[(314,247)(290,247)(290,303)(272,303)])
}
Add(HTTPClient,15306379,378,455)
{
URL="http://labdev.ml/api/api.php?action=component"
UserAgent="Mozilla/16.0 (Windows 10; rv:92.0) Gecko/20100101 Firefox/52.0"
URLCodePage=1
FileField="name"
FieldCharset=1
CookieManager="coocki"
Point(UploadFile)
Point(onUploadProgress)
Point(CurrentURL)
Point(StatusText)
Point(PostData)
link(URL,8106996:Value,[])
link(onFinish,168374:doSearch,[])
}
Add(FormatStr,9780368,350,259)
{
Mask="https://labdev.ml/api/api.php?action=component&gorup=%1"
link(onFString,6584055:doEvent1,[])
}
Add(GlobalVar,9809861,392,91)
{
Name="ComponentAutor"
Data=Integer(0)
}
Add(BlockFind,168374,462,462)
{
IncludeBlock=1
StartBlock="ListComponent{"
EndBlock="}EndListComponent"
link(onSearch,5195972:doCase,[])
link(onEndSearch,556823:In,[(509,475)(509,510)])
}
Add(Thread,7459929,308,455)
{
Delay=500
FastStop=0
link(onExec,15306379:doLoadString,[])
}
Add(Memo,142645,882,469)
{
Width=0
Height=0
Visible=1
ScrollBars=3
}
Add(Replace,6303994,728,462)
{
SubStr="||"
DestStr="\r\n"
link(onReplace,14305296:doEvent1,[])
}
Add(ArrayEnum,14913786,896,546)
{
link(onItem,11770970:doWork1,[])
link(Array,142645:Array,[])
}
Add(Hub,14305296,784,462)
{
OutCount=5
link(onEvent1,142645:doClear,[(872,468)(872,482)])
link(onEvent2,142645:doAdd,[])
link(onEvent5,14913786:doEnum,[(847,496)(847,552)])
}
Add(LineBreak,6151617,252,322)
{
link(Out,14034708:doClear,[])
Primary=[2650288,0,56]
}
Add(MTStrTbl,4342183,876,63)
{
Left=295
Top=10
Width=530
Height=325
Name="mainTable"
Columns=#4:ID=0|12:Название=100|21:Короткое описание=250|7:Рейтинг|10:Скачиваний|0:|
link(onClick,14098709:doEvent1,[])
}
Add(MST_RowAction,9996067,994,546)
{
MSTControl="mainTable"
}
Add(MST_Clear,14034708,301,322)
{
MSTControl="mainTable"
}
Add(LineBreakEx,5973898,504,231)
{
Caption="URL"
}
Add(Memory,8106996,378,385)
{
}
Add(LineBreakEx,14631820,308,385)
{
Caption="URL"
Type=1
link(OnEvent,8106996:doValue,[])
}
Add(Hub,12400916,189,427)
{
OutCount=5
link(onEvent1,2650288:In,[(227,433)(227,384)])
link(onEvent2,10058268:doData,[(235,440)(235,426)])
link(onEvent3,5233152:In,[])
link(onEvent5,14358783:doEvent1,[])
}
Add(MultiElement,11770970,945,546)
{
link(onEvent1,9996067:doRowAction,[])
}
BEGIN_SDK
Add(EditMulti,9519678,21,21)
{
EventCount=1
WorkCount=1
Width=1105
Height=578
link(doWork1,16175210:doSplit,[(179,27)(179,167)])
}
Add(Charset,14896126,329,161)
{
Type=7
link(onCharset,1584482:doValue,[])
link(Text,15112750:Var,[])
}
Add(MT_String,4434834,952,427)
{
link(onResult,9519678:onEvent1,[(1048,433)(1048,27)])
}
Add(MultiStrPart,16175210,273,161)
{
Count=5
link(onSplit,14896126:doCharset,[])
}
Add(FormatStr,8937527,273,434)
{
DataCount=5
Mask="%1;%2;%3;%4;%5"
link(onFString,4434834:doMT,[])
link(Str1,16175210:Part1,[])
link(Str2,9951694:Var,[])
link(Str3,11458537:Var,[])
link(Str4,16175210:Part4,[])
link(Str5,16175210:Part5,[])
}
Add(Memory,1584482,385,161)
{
link(onData,12226558:doCharset,[])
}
Add(LineBreak,8293037,385,210)
{
Type=1
link(Data,1584482:Value,[])
Primary=[9951694,-105,140]
}
Add(Charset,12226558,448,161)
{
Type=7
link(onCharset,15648966:doValue,[])
link(Text,11403982:Var,[])
}
Add(Memory,15648966,497,161)
{
link(onData,6014722:In,[])
}
Add(LineBreak,10469954,497,210)
{
Type=1
link(Data,15648966:Value,[])
Primary=[11458537,-210,168]
}
Add(LineBreak,6227155,287,231)
{
Type=1
link(Data,16175210:Part3,[])
Primary=[11403982,161,-119]
}
Add(LineBreak,2243713,280,203)
{
Type=1
link(Data,16175210:Part2,[])
Primary=[15112750,49,-84]
}
Add(LineBreak,14018043,203,434)
{
link(Out,8937527:doString,[])
Primary=[6014722,357,-273]
}
END_SDK
Add(Case,5195972,532,462)
{
Value=String(9000)
link(onNextCase,5236353:doEvent1,[])
link(onTrue,10555497:doEvent1,[(576,475)(576,580)])
}
Add(Label,11190739,806,560)
{
Left=505
Top=155
Width=317
Height=20
Color=16777215
Font=[MS Sans Serif,10,1,12632256,1]
Visible=1
Caption="ПУСТАЯ КАТЕГОРИЯ"
Alignment=2
Point(doVisible)
Point(doAlignment)
}
Add(ChanelToIndex,3899279,672,567)
{
link(onIndex,11190739:doVisible,[])
}
Add(Hub,5236353,679,462)
{
link(onEvent1,6303994:doReplace,[])
link(onEvent2,3899279:doWork1,[(705,475)(705,524)(660,524)(660,573)])
}
Add(MST_SelectRow,9126783,966,63)
{
MSTControl="mainTable"
link(onSelectRow,16338090:doSeparateMT,[(1010,69)(1010,101)(954,101)(954,118)])
}
Add(DoData,10058268,252,420)
{
Data=String(ЗАГРУЗКА...)
link(onEventData,1470920:doWork,[])
}
Add(LineBreakEx,654696,714,546)
{
Caption="tablLable"
Type=1
link(OnEvent,11190739:doText,[(791,552)(791,566)])
}
Add(LineBreakEx,1470920,301,420)
{
Caption="tablLable"
}
Add(LineBreakEx,3652376,742,644)
{
Caption="tablLable"
}
Add(DoData,11864813,672,644)
{
Data=String(ПУСТАЯ КАТЕГОРИЯ)
link(onEventData,3652376:doWork,[])
}
Add(Hub,10555497,581,574)
{
link(onEvent1,6693983:In,[(599,580)(599,552)])
link(onEvent2,4180861:doEvent1,[])
}
Add(Hub,4180861,630,581)
{
InCount=2
OutCount=1
link(onEvent1,3899279:doWork2,[(658,587)(658,580)])
}
Add(Hub,14098709,924,63)
{
link(onEvent1,9126783:doSelect,[])
}
Add(MT_MultiData,16338090,966,112)
{
Point(Data)
link(onData1,3566141:doValue,[(1020,118)(1020,90)])
link(onData2,9545182:doString,[])
link(Data,9126783:Select,[])
}
Add(BlockFind,13288734,245,574)
{
IncludeBlock=1
StartBlock="ListComponent{"
EndBlock="}EndListComponent"
}
Add(LineBreak,10331182,196,574)
{
link(Out,13288734:doSearch,[])
Primary=[556823,329,-70]
}
Add(LineBreak,10230240,574,602)
{
link(Out,4180861:doEvent2,[(617,608)(617,594)])
Primary=[5233152,-357,-161]
}
Add(LineBreak,10220222,140,427)
{
link(Out,12400916:doEvent1,[])
Primary=[5045620,364,-175]
}
Add(Hub,6584055,399,259)
{
OutCount=3
link(onEvent1,5973898:doWork,[(427,265)(427,237)])
link(onEvent2,5045620:In,[(469,272)(469,258)])
link(onEvent3,5865849:In,[])
}
Add(Hub,14358783,266,455)
{
InCount=2
OutCount=1
link(onEvent1,7459929:doStart,[])
}
Add(LineBreak,4488455,616,644)
{
link(Out,11864813:doData,[])
Primary=[6693983,0,-98]
}
Add(FormatStr,4494923,1043,168)
{
Mask="https://labdev.ml/dl.php?file=%1"
Point(FString)
link(onFString,6776829:doLoadString,[(1087,174)(1087,209)(1031,209)(1031,244)])
link(Str1,3566141:Value,[])
}
Add(Memory,3566141,1043,84)
{
link(onData,16699147:In,[])
}
Add(HTTPClient,6776829,1043,238)
{
URL="http://labdev.ml/api/api.php?action=component"
UserAgent="Mozilla/16.0 (Windows 10; rv:92.0) Gecko/20100101 Firefox/52.0"
URLCodePage=1
FileField="name"
FieldCharset=1
CookieManager="coocki"
Point(UploadFile)
Point(onUploadProgress)
Point(CurrentURL)
Point(StatusText)
Point(PostData)
link(URL,4494923:FString,[])
link(onFinish,14400312:doCase,[])
}
Add(HTTPClient,7295397,1330,238)
{
URL="http://labdev.ml/api/api.php?action=component"
UserAgent="Mozilla/16.0 (Windows 10; rv:92.0) Gecko/20100101 Firefox/52.0"
URLCodePage=1
FileField="name"
FieldCharset=1
CookieManager="coocki"
Point(UploadFile)
Point(onUploadProgress)
Point(CurrentURL)
Point(StatusText)
Point(PostData)
link(URL,610293:Value,[(1336,226)(1287,226)(1287,289)(1238,289)])
link(FileName,6837076:Value,[])
link(onHeadersAvail,13807972:In,[])
link(onDownloadProgress,1265898:In,[])
}
Add(Case,14400312,1099,245)
{
Value=String(ERROR)
link(onNextCase,15371013:doSearch,[])
}
Add(BlockFind,15371013,1169,245)
{
IncludeBlock=1
StartBlock="DownL{"
EndBlock="}DownLEnd"
link(onSearch,610293:doValue,[])
}
Add(Memory,6837076,1337,119)
{
}
Add(FormatStr,9545182,1267,119)
{
Mask="%1.rar"
link(onFString,6837076:doValue,[])
}
Add(Memory,610293,1232,245)
{
link(onData,7295397:doLoadFile,[])
}
Add(LineBreakEx,10269870,1512,14)
{
Caption="len"
Type=2
}
Add(DoData,4089202,1512,42)
{
link(onEventData,7341392:In,[])
link(Data,10269870:getVar,[])
}
Add(Synchronize,13932024,735,91)
{
link(onSync,1311481:doWork1,[(841,97)(841,174)])
}
Add(LineBreakEx,16033729,1337,308)
{
Caption="len"
Type=3
link(_Data,7295397:ContentLength,[])
}
Add(LineBreak,11503162,686,91)
{
link(Out,13932024:doSynchronize,[])
Primary=[1265898,742,161]
}
Add(LineBreak,12677387,1449,42)
{
link(Out,4089202:doData,[])
Primary=[13807972,-63,196]
}
Add(MultiElement,14142284,315,49)
{
link(onEvent1,8302917:In,[])
}
BEGIN_SDK
Add(EditMulti,13015470,21,21)
{
EventCount=1
WorkCount=2
Width=1063
Height=690
link(doWork1,8589721:doEvent1,[(98,27)(98,125)])
link(doWork2,12628805:doWork1,[(78,34)(78,391)])
}
Add(FormatStr,6238253,294,119)
{
DataCount=3
Mask="https://labdev.ml/api/api.php?action=ping&set=%1&product=%2&debug=%3"
Point(FString)
link(onFString,15974543:doLoadString,[])
link(Str1,11701310:ProcessorId,[(300,107)(254,107)(254,163)(209,163)])
link(Str2,6212975:Var2,[])
link(Str3,4976816:Var3,[(314,91)(277,91)(277,236)])
}
Add(HTTPClient,15974543,399,119)
{
URL="https://labdev.ml/api/api.php?action=component"
UserAgent="Mozilla/16.0 (Windows 10; rv:92.0) Gecko/20100101 Firefox/52.0"
URLCodePage=1
FileField="name"
FieldCharset=1
CookieManager="parent.cooc"
Point(UploadFile)
Point(onUploadProgress)
Point(CurrentURL)
Point(StatusText)
Point(PostData)
link(URL,6238253:FString,[(405,107)(353,107)(353,163)(300,163)])
link(onFinish,14587768:doSearch,[])
}
Add(ProcInfo,11701310,175,119)
{
Point(ProcessorId)
link(onInfo,6238253:doString,[])
}
Add(BlockFind,14587768,462,126)
{
IncludeBlock=1
StartBlock="Ping{"
EndBlock="}EndPing"
link(onSearch,9245932:doCase,[])
}
Add(Case,9245932,553,126)
{
}
Add(Memory,9457584,301,28)
{
@Hint=#27:Кодовое название приложения|
Default=String(HiACM)
AddHint(101,4,174,13,@Hint)
}
Add(AntiDebug,8738607,210,182)
{
}
Add(DoData,3664197,210,259)
{
link(onEventData,8226661:doEvent,[])
link(Data,4976816:Var2,[])
}
Add(Hub,8589721,126,119)
{
link(onEvent1,11701310:doInfo,[])
link(onEvent2,3664197:doData,[(154,132)(154,265)])
}
Add(GetDataEx,4976816,210,231)
{
link(Data,8738607:isDebug,[])
}
Add(IndexToChanel,8226661,329,259)
{
link(onEvent2,13015470:onEvent1,[(723,272)(723,27)])
}
Add(MultiElement,12628805,378,385)
{
link(Data1,301135:Var,[])
link(Data2,13206525:Value,[(391,355)(433,355)])
}
BEGIN_SDK
Add(EditMulti,2605927,21,21)
{
WorkCount=1
DataCount=2
Width=1147
Height=760
link(doWork1,4718659:doString,[(95,27)(95,174)])
}
Add(HTTPClient,7840923,238,168)
{
URL="http://labdev.ml/api/api.php?action=update"
UserAgent="Mozilla/16.0 (Windows 10; rv:92.0) Gecko/20100101 Firefox/52.0"
URLCodePage=1
FileField="name"
FieldCharset=1
CookieManager="cooc"
Point(UploadFile)
Point(onUploadProgress)
Point(CurrentURL)
Point(StatusText)
Point(PostData)
link(URL,4718659:FString,[(244,156)(209,156)(209,212)(174,212)])
link(onFinish,7960831:doSearch,[])
}
Add(BlockFind,7960831,371,175)
{
IncludeBlock=1
StartBlock="UpgradeProduct{"
EndBlock="}EndUpgradeProduct"
link(onSearch,16214512:doSplit,[])
}
Add(FormatStr,4718659,168,168)
{
Mask="http://labdev.ml/api/api.php?action=upgrade&set=%1"
Point(FString)
link(onFString,7840923:doLoadString,[])
link(Str1,2605927:Data1,[(174,94)(27,94)])
}
Add(Message,1078027,798,364)
{
Caption="Доступно обновление"
}
Add(MultiStrPart,16214512,490,175)
{
Count=3
link(onSplit,533792:doCompare,[])
}
Add(Charset,967167,497,364)
{
Type=7
link(onCharset,11150352:doString,[])
link(Text,16214512:Part2,[])
}
Add(If_else,533792,609,175)
{
link(onTrue,5480710:doMessage,[])
link(onFalse,967167:doCharset,[(653,188)(653,279)(485,279)(485,370)])
link(Op1,16214512:Part1,[(615,163)(555,163)(555,219)(496,219)])
link(Op2,2605927:Data2,[(622,151)(34,151)])
}
Add(FormatStr,11150352,623,364)
{
Mask="Обновление от %2\r\nЧто сделано \r\n%1"
link(onFString,1078027:doMessage,[])
link(Str2,16214512:Part3,[(636,286)(510,286)])
}
Add(Message,5480710,784,175)
{
Message="Обновление Component Manager не требуется."
Caption="У Вас актуальная версия"
}
Add(Message,8798844,371,63)
{
}
END_SDK
Add(GetDataEx,6212975,301,70)
{
link(Data,9457584:Value,[])
}
Add(LineBreak,691143,203,98)
{
Type=1
link(Data,6212975:Var1,[(209,75)])
Primary=[301135,175,217]
}
Add(Memory,13206525,427,294)
{
@Hint=#27:Проядковый номер обновление|
Default=Integer(3)
MakeExt(Default,,NumUpgrade)
AddHint(82,-17,177,13,@Hint)
}
END_SDK
Add(LineBreak,13534994,28,49)
{
link(Out,2953706:doClose,[])
Primary=[8302917,357,0]
}
Add(Version,5341620,28,98)
{
Description="HiAsm Component Manager v1.0"
InternalName="HiACM"
E-mail="https://labdev.ml/"
}
Add(Hub,1517322,210,42)
{
link(onEvent2,14142284:doWork1,[])
}
Add(LineBreak,8573872,791,182)
{
link(Out,1311481:doWork3,[])
Primary=[16699147,322,-98]
}
Add(LineBreak,9113953,721,175)
{
link(Out,1311481:doWork2,[])
Primary=[7341392,1631,-133]
}
Add(LineBreak,9880773,840,189)
{
link(Out,1311481:doWork4,[])
Primary=[5865849,-336,84]
}
Add(LineBreak,12661039,70,70)
{
Caption="проверка обновления"
link(Out,14142284:doWork2,[(283,76)(283,62)])
Primary=[5492733,399,133]
}
Add(CookieManager,904568,28,231)
{
Name="coocki"
}
Add(ChildForm,11973386,560,161)
{
}
BEGIN_SDK
Add(EditMulti,6614865,21,21)
{
WorkCount=1
Width=853
Height=424
link(doWork1,1851634:doVisible,[(28,27)(28,69)])
}
Add(ChildGroupBox,12037121,413,371)
{
}
BEGIN_SDK
Add(EditMulti,15087519,21,21)
{
WorkCount=1
Width=1049
Height=557
link(doWork1,2338499:doEvent1,[(91,27)(91,286)])
}
Add(GroupBox,7218433,273,301)
{
Width=660
Height=375
Visible=1
Point(doVisible)
Point(doBringToFront)
Point(doSendToBack)
}
Add(Edit,9114469,672,231)
{
Left=145
Top=35
Width=350
Height=35
Font=[MS Sans Serif,15,1,0,1]
Text=""
Alignment=2
}
Add(Edit,163405,518,224)
{
Left=145
Top=165
Width=350
Height=35
Font=[MS Sans Serif,15,1,0,1]
Text=""
Alignment=2
Password=0
Point(doColor)
}
Add(Edit,3760789,476,224)
{
Left=145
Top=120
Width=350
Height=35
Font=[MS Sans Serif,15,1,0,1]
Text=""
Alignment=2
Password=0
Point(doColor)
}
Add(Label,15592660,210,70)
{
Left=75
Top=40
Width=65
Height=29
Font=[MS Sans Serif,15,1,0,1]
Caption="Логин"
}
Add(Label,16537651,224,154)
{
Left=60
Top=125
Width=76
Height=28
Font=[MS Sans Serif,14,1,0,1]
Caption="Пароль"
}
Add(Button,16619967,392,378)
{
Left=205
Top=250
Width=245
Height=40
Font=[MS Sans Serif,15,1,0,1]
Caption="Регистрация"
link(onClick,5463111:doCompare,[])
}
Add(Label,4095235,42,322)
{
Left=15
Top=340
Width=93
Height=24
Font=[MS Sans Serif,12,1,0,1]
Caption="<< НАЗАД"
Underline=0
link(onClick,16254698:doEvent1,[])
}
Add(Hub,16254698,98,322)
{
InCount=2
link(onEvent1,11634768:doWork1,[(136,328)(136,279)])
link(onEvent2,7218433:doSendToBack,[(192,335)(192,321)])
}
Add(ChanelToIndex,11634768,161,273)
{
link(onIndex,7218433:doVisible,[(233,279)(233,307)])
}
Add(Hub,2338499,105,280)
{
link(onEvent1,11634768:doWork2,[])
link(onEvent2,7218433:doBringToFront,[(196,293)(196,314)])
}
Add(If_else,5463111,497,378)
{
link(onTrue,8483375:doString,[])
link(onFalse,5461123:doWork1,[(569,391)(569,475)])
link(Op1,3760789:Text,[(503,320)(482,320)])
link(Op2,807781:Var2,[])
}
Add(FormatStr,8483375,672,378)
{
Mask="https://labdev.ml/api/api.php?action=reg&login=%1&passw=%2"
Point(FString)
link(onFString,3779418:doLoadString,[])
link(Str1,9114469:Text,[])
link(Str2,807781:Var3,[(685,341)])
}
Add(HTTPClient,3779418,763,378)
{
CookieManager="parent.parent.coocki"
Point(PostData)
link(URL,8483375:FString,[(769,366)(723,366)(723,422)(678,422)])
link(onFinish,9993490:doCase,[])
}
Add(GetDataEx,807781,504,336)
{
link(Data,163405:Text,[(510,320)(524,320)])
}
Add(Label,9508140,756,462)
{
Left=240
Top=210
Width=171
Height=17
Font=[MS Sans Serif,10,1,255,1]
Visible=1
Caption="Пароли не совпадают"
Alignment=2
Point(doVisible)
}
Add(MultiElement,5461123,609,469)
{
link(onEvent1,9508140:doVisible,[])
}
BEGIN_SDK
Add(EditMulti,12753647,21,21)
{
EventCount=1
WorkCount=1
Width=692
Height=592
link(doWork1,4874735:doEvent1,[(217,27)(217,132)])
}
Add(ChanelToIndex,1676343,413,119)
{
link(onIndex,12753647:onEvent1,[(660,125)(660,27)])
}
Add(Timer,12534243,336,224)
{
Interval=2000
Enable=1
AutoStop=1
link(onTimer,1676343:doWork1,[(390,230)(390,125)])
}
Add(Hub,4874735,266,126)
{
link(onEvent1,1676343:doWork2,[])
link(onEvent2,12534243:doTimer,[(315,139)(315,230)])
}
END_SDK
Add(Label,5207826,875,112)
{
Left=270
Top=80
Width=95
Height=20
Font=[MS Sans Serif,10,1,255,1]
Visible=1
Caption="Логин занят"
Alignment=2
Point(doVisible)
}
Add(MultiElement,16576985,819,119)
{
link(onEvent1,5207826:doVisible,[])
}
BEGIN_SDK
Add(EditMulti,16039975,21,21)
{
EventCount=1
WorkCount=1
Width=692
Height=592
link(doWork1,415422:doEvent1,[(217,27)(217,132)])
}
Add(ChanelToIndex,10689356,413,119)
{
link(onIndex,16039975:onEvent1,[(660,125)(660,27)])
}
Add(Timer,8291756,336,224)
{
Interval=2000
Enable=1
AutoStop=1
link(onTimer,10689356:doWork1,[(390,230)(390,125)])
}
Add(Hub,415422,266,126)
{
link(onEvent1,10689356:doWork2,[])
link(onEvent2,8291756:doTimer,[(315,139)(315,230)])
}
END_SDK
Add(Message,1437214,980,469)
{
Message="Вы успешно прошли регистрацию"
Caption="Регистрация"
}
Add(Case,9993490,840,385)
{
Value=String(REG_ok)
link(onNextCase,4102711:In,[])
link(onTrue,2078740:doEvent1,[(902,398)(902,475)])
}
Add(LineBreak,9918438,763,119)
{
link(Out,16576985:doWork1,[])
Primary=[4102711,203,266]
}
Add(Hub,2078740,910,469)
{
link(onEvent1,1437214:doMessage,[])
link(onEvent2,7996367:In,[(931,482)(931,517)])
}
Add(LineBreak,6612119,42,371)
{
link(Out,16254698:doEvent2,[(87,377)(87,335)])
Primary=[7996367,896,140]
}
END_SDK
Add(MainForm,1851634,70,35)
{
Left=35
Top=105
Width=668
Height=438
Visible=1
Caption="Настройки"
BorderStyle=3
Position=1
Point(doVisible)
}
Add(ChildGroupBox,8044443,301,371)
{
link(onEvent1,12037121:doWork1,[])
}
BEGIN_SDK
Add(EditMulti,14286663,21,21)
{
EventCount=1
WorkCount=1
Width=1385
Height=578
link(doWork1,9500661:In,[])
}
Add(GroupBox,7267663,56,56)
{
Left=10
Top=20
Width=240
Height=171
Caption="Авторизация"
}
Add(Edit,614345,616,56)
{
Left=80
Top=20
Width=145
Text=""
}
Add(Label,14688305,147,56)
{
Left=15
Top=25
Width=38
Height=17
Caption="Логин:"
}
Add(Edit,11931601,728,49)
{
Left=80
Top=45
Width=145
Text=""
Password=0
}
Add(Label,3731925,203,56)
{
Left=15
Top=50
Width=45
Height=17
Caption="Пароль:"
}
Add(HTTPClient,5435225,434,329)
{
URL="http://labdev.ml/api/api.php?action=auth&login=admin&passw=12345"
Method=1
CookieManager="parent.parent.coocki"
Point(PostData)
link(URL,1594050:GetData,[])
}
Add(FormatStr,3576882,504,259)
{
DataCount=1
Mask="http://labdev.ml/api/api.php?action=auth&%1"
link(onFString,9567034:doCharset,[])
link(Str1,6196290:Var2,[])
}
Add(EventFromData,1594050,434,259)
{
link(onEvent,3576882:doString,[])
}
Add(Charset,9567034,623,259)
{
Type=6
link(onCharset,1594050:doData,[(668,265)(668,227)(422,227)(422,265)])
}
Add(Label,16221126,98,434)
{
Left=10
Top=140
Width=69
Height=17
Caption="Регистрация"
Underline=0
link(onClick,2092998:In,[])
}
Add(Button,7004495,210,329)
{
Left=140
Top=135
Width=75
Caption="Проверка"
link(onClick,5435225:doLoadString,[])
}
Add(FormatStr,2358365,616,133)
{
Mask="login=%1&passw=%2"
link(onFString,14717093:doData,[(660,139)(660,127)(492,127)(492,139)])
link(Str1,614345:Text,[])
link(Str2,11931601:Text,[(629,111)(734,111)])
}
Add(EventFromData,14717093,504,133)
{
link(onEvent,2358365:doString,[])
}
Add(MultiElement,6116112,896,273)
{
link(onEvent1,12498854:In,[])
link(onEvent2,9303007:In,[(961,286)(961,300)])
link(Data1,6196290:Var3,[(902,194)])
}
BEGIN_SDK
Add(EditMulti,2902401,21,21)
{
EventCount=2
WorkCount=1
DataCount=1
Width=895
Height=473
link(doWork1,2392617:In,[(101,27)(101,62)])
}
Add(MultiStrData,16533884,560,259)
{
Char="&"
link(onPart1,11738531:doSplit,[(646,265)(646,237)])
link(onPart2,244227:doSplit,[(646,272)(646,286)])
}
Add(MultiStrData,11738531,700,231)
{
Char="="
link(onPart2,2902401:onEvent1,[(785,244)(785,27)])
}
Add(MultiStrData,244227,700,280)
{
Char="="
link(onPart2,2902401:onEvent2,[(802,293)(802,34)])
}
Add(Ini,15690211,280,259)
{
FileName="setings.ini"
Section="general"
Key="auth"
Type=1
link(onResult,13714987:doConvert,[])
link(Value,11966206:GetData,[(307,240)(342,240)])
}
Add(LineBreak,3134822,147,343)
{
link(Out,15690211:doWrite,[(229,349)(229,272)])
Primary=[2392617,-7,-287]
}
Add(Timer,8286070,140,259)
{
Interval=1
AutoStop=1
link(onTimer,15690211:doRead,[])
}
Add(EnCrypt,16607341,399,189)
{
Key="general"
link(onEnCrypt,9493174:doConvert,[])
link(Data,2902401:Data1,[(405,105)(27,105)])
link(Key,9738917:getVar,[])
}
Add(Memory,16710217,679,63)
{
Default=String(general)
}
Add(DeCrypt,8316386,462,259)
{
link(onDeCrypt,16533884:doSplit,[])
link(Key,13830073:getVar,[(475,252)(510,252)])
}
Add(EventFromData,11966206,336,189)
{
link(onEvent,16607341:doEnCrypt,[])
}
Add(LineBreakEx,9738917,406,126)
{
Caption="name"
Type=2
}
Add(LineBreakEx,1000356,679,119)
{
Caption="name"
Type=3
link(_Data,16710217:Value,[])
}
Add(LineBreakEx,13830073,504,231)
{
Caption="name"
Type=2
}
Add(StreamConvertor,9493174,455,189)
{
Mode=2
link(onResult,11966206:doData,[(499,195)(499,183)(324,183)(324,195)])
}
Add(StreamConvertor,13714987,392,259)
{
Mode=3
link(onResult,8316386:doDeCrypt,[])
}
Add(Message,8590988,336,343)
{
}
END_SDK
Add(LineBreak,15624874,560,56)
{
link(Out,614345:doText,[])
Primary=[12498854,434,217]
}
Add(LineBreak,8086684,686,49)
{
link(Out,11931601:doText,[])
Primary=[9303007,308,245]
}
Add(LineBreak,6537489,833,273)
{
link(Out,6116112:doWork1,[])
Primary=[9500661,-798,-252]
}
Add(GetDataEx,6196290,504,189)
{
link(Data,14717093:GetData,[])
}
Add(LineBreak,4874892,1344,35)
{
link(Out,14286663:onEvent1,[(1401,41)(1401,27)])
Primary=[2092998,-1204,399]
}
END_SDK
Add(Button,2048424,35,406)
{
Left=535
Top=380
Width=115
Caption="Сохранить"
link(onClick,4350032:doEvent1,[])
}
Add(Hub,4350032,119,406)
{
link(onEvent1,8044443:doWork1,[(143,412)(143,377)])
}
END_SDK





Простите что задерживаю с исправлениями и обновлением, выходные проходили активно друзья приехали погостить на выходные)))

Редактировалось 2 раз(а), последний 2022-10-10 00:57:43
карма: 0

0
Ответов: 194
Рейтинг: 4
#47: 2022-10-11 01:32:16 ЛС | профиль | цитата
Добрый вечер всем)

Сделал авторизацию
Настройки -> Авторизация -> Регистрация
Регистрация

if($action=='reg' AND $authLogin!="" AND $authPassw!="")
{
$user_arr=mysql_fetch_array(mysql_query("SELECT * FROM `user` WHERE `name`='$authLogin' AND `pass`='$authPassw'"));
if($user_arr[0]!="")
{
echo'REG_falled';
}
else
{
$query_array = mysql_query("INSERT INTO `user` (`name`, `pass`) VALUES ('$authLogin', '$authPassw')");
echo'REG_ok';
}
}

Авторизация

Пароль кэшируется на стороне приложения с добавлением "соли"
elseif ($action=='auth' AND $authLogin!="" AND $authPassw!="")
{
$user_arr=mysql_fetch_array(mysql_query("SELECT * FROM `user` WHERE `name`='$authLogin' AND `pass`='$authPassw'"));
if($user_arr[0]!="")
{
$_SESSION['uid']=$user_arr['id'];
$_SESSION['uip']=$ip;
define("auth",true);
echo '200';
}
else
{
define("auth",false);
echo'falled';
}
}


Прикрепил скрин. При успешной проверки происходит авторизация в заголовки формы добавиться надпись пример: (Пользователь: Admin)
Скрин



Выборка компонентов из таблицы

elseif ($action == 'component' AND $group !='' )
{
if(auth===true)
{
$selectComponents = mysql_query("SELECT * FROM `components` WHERE (`Privat`= 1 AND `Autor`='".$user_arr['id']."' AND `ComponentGroup`='$group') OR (`Privat`= 0 AND `ComponentGroup`='$group') ORDER BY `id` ASC");
}
else
{
$selectComponents = mysql_query("SELECT * FROM `components` WHERE `Privat`= 0 AND `ComponentGroup`='$group' ORDER BY `id` ASC");

}
$countComponents = mysql_num_rows($selectComponents);
if( $countComponents != 0 )
{
echo "ListComponent{";
while($selectedArrey=mysql_fetch_array($selectComponents))
{
echo $selectedArrey['id'].";".$selectedArrey['ComponentName'].";".$selectedArrey['SmallDiscript'].";".$selectedArrey['reiting'].";".$selectedArrey['counDownload']."||";
}
echo "}EndListComponent";
}
else
{
echo "ListComponent{";
echo 9000;
echo "}EndListComponent";
}

}


После авторизации у вас также появится в форме Загрузка нового компонента (меню: Компоненты -> Добавить новый) возможность сделать Приватный компонент который будет доступным только вам.
Скрин




Исходник


Add(MainForm,2953706,91,28)
{
Width=840
Height=764
Caption="HiAsm Component Manager"
BorderStyle=1
Icon=[ZIP610D000078DAC557FB5713D71A3D33196122AF01CB43413208283E40B02A284206A12852687429A0148CDAFA42252A0A3E6026A00405215405ADA0A9D0EAF505D62A084A22A22254A3B5E2EB6A0212A1460503282321B927D87BFF807B7FB833EBAC99B5CFFECE7CE7ACB3CFFE060004DEA60B012488B402C001BEEF1144CFB11A3E6A387CB58A981BB6000C7110809BC1C7B79B4EAE840FAE68EEE2CD00588C303504FC58E20480E5604458C8C2B492B7A5511B9C9BEDC36B0FC7353630CB42ADAF59E6A4D52F8BB9BE11DCBE87BE89FA6EDA74A9983633FB2DBB810ACF8C21EF9CD9633EEF2127AADF4D99A3AF39F5EEAA2A08BDDBF0C3A45FEB064AC70E48829EAB5415801CB7BF8F03402001A8E5FF55A3C66CAD7DFEF2E1DABE4D473BAA1E4C4DB0AF73AD3E658C91C7D2373F6DAC0F2028F4C3C060C4F88FA717F43EAB1F34B65E32AC1B1CADBD65351802DAD6553D1BF7BDD6F00EB961B4D7A406AF9F7E64554B01EF5326D835232828A1780A6D78A2A36F757CA2E3F8369DE628A11118E8C95E467F434FEF5F0FE4717C5E270725CA97B1854C004EE5596BE6A0F524709B59C4E3E66482302741860789A3845008094E38196065DD37981810E605503CEF5AD1B1587439C9C802BCF8760440B086F96C212522285F17188E992158FD460808088A400F400043305200015F82D96C59D03379770F8632C06584A85939512C24C109DCC4024840D849FD5CC50C5C313213A6931F02F2091FBE9D68382A9A9DA973472424308F1BFDFA88B1FFC4525F2990E0A50CC83BFF54A7A4032E1BB52AE336639BBEEC2096E6A9069830670B6BFC5030B09442B78580F0B4F17CBB462BD457110FD3482414C22B30D1760CB16CD801816042411E8729B4A38825B90402AE04B5EAB8890190148FED70058271D9880930A7A724637DF2208FDB990946952DC9F09071D1D53926822B2EB3D5F67D4A995253FEF1C69381651AFE3C993EEA74E41EED92F88EB328BA5A71E3C68DB229878A1737755168F1963B6737C70264AA6CE7D5BB311949DC3FA755DD4D40B04AE9DBAD03E596ED513775CE91EA5FCE5DDD62B81F022CC62FED086DE6A74954599EC2CA159567060F7FC60F77B0512DDEF2BE89E29A0F2DEC1C73645282624DCD2FFA9576D597EEF267E2C2BFD0E807A335FEFB15A54301918EA25DA0A4AECB781E04E7D9291CB5FAB22C50E44326236916841356496C457F3C78AC94B1A28045ABAFBABB78704E8065B50BEC88C6DAC2648D2463269AE07B029D330C99CAE48A6F0677EDC915FF2806A3AE6914D7D59BD4D924933D8B36E895DF53C669DFA2657CA241285121C144B91F2EF37B6D27D32F31ADDF3C46A71583993F8D459A2AB86867CE5ECC4BEE83CBBEBCEF49B1174300276702ECB0419DC2A672050697723BC586AA1D57969C4DBCDBA3BF64F97451AB567CFA5372DF8EBE55DB0707BDEC04DEF22D06D708376630835E509FBE28B32E5D41BC68397656FEE0E5F9B46266391BA4E9B2DA86FC39F1E6DEE7AAC19465AFD8072B2F6C6B79E9B7EDA0A9F35517770DE2F2EE6155BB5EAFEC3376BE7F7C25823AAF3FDAF331F30C18F5E2E48567CCF64246C42674742111484A7564C519CC8BDEC06DE4CA5E7AD704C9170EA6DB79DDA8AA29AF7A14A9CD61E3C77832F9ADA93CF4742C6A16F654D71C4985034E3DDCCE8FA2DD680B0FCCD777A7875A74E7808E179586C45DA58F6236B6E193F2961BDCB9DE80D363E3BCCE8DEBB59E950455CDDF65CF64751752EF749173C972E0B29BBFF69E77629B8F67DB4FC1A9ECC7B125C0255B958EA375768D959A6229E5850458C33DEB43C77177D952CC50A4E4008523D870FE059833C5AD760481D766CF654A659C9E6FDC19E6152FC6728E9DB039B972BA0E25707E166489B8D55F3082FEB2BD63B64C98C48E736084FDCF250AF541109F312769AC3B68EDAEB5B9467105199224C744C0ADEF0AC6381E143BBA62591CD25D18E7E64156F142FD8C22B4728AF17DA89F92DF94EEB5D29CDBB89E3DD863E30EB4DD05BC5CEF00CCCA938CCFD0E89F5B2822FB9B42D5EC4DA7F6AE50742CDAED50A723D2AE4C7360070A152224CD6AE9367CD67397FDFAF408E149704552118CB554DD1A4BD3764E6319AFD6552EA84E79C448206116FC6784947EA1AFB520D7F61FCE66F43DAF548BC0FDEBCA2958FB317FE30654C0E55FFFCCC029EF9D7D6EA4F10AEBEFC8AC859FA70CDB7A922780BEEE4592A1B8AFC1DF5AEE3169B9952719D27204D47271A97E9A2E790C939B9B3B47234E58C9555D23BE6D9956E513C4DE52CAF780A647DA75ADF13621099BB56DFB69BDDED14296B83EC6F55ED4CDEE7D922145B3B7F95B0DB9C304757725D950D3CA2C8942784BB078E0CB24444ABF8101C2A31DFED7EB53576668BD431276FC1B95CD9226D5FB3B67267D06E271757EF79D6CF55D3168E48B0C7E98BA375D5560AEBE7E12E9FF6136685779D32FD0868BB4E6E967C21B2CCF39381029B5F5A3AD39D32DE8C7CD75EE2E66BDA17FEA67D87AC9581BD11869D69BB20EE53F147ED73B160A751F374E10EDCE0DF92CF146D5831B94BD8FF968B362CE7E7945B358EEA736F4CA8330A8F07AA144893CE2E1B30DEF75C98642E1EB50D917C176A4D18737FCD44C6C6DAB3BA2EBFA705EBD3654E66482CFF99BCD1F893EEC2E046CAA7C5A5CAF9B006E59A9517A242B7C34DA67826D6A83D27E736B244CEC6568CE54EC546BD7D6DA5BA71FBED6CC522637AB6A26EC0C122D329ECDA83058B249AF927D181C8E6DC890F3C76B3216196EBEE5B8DE5A3FF8E453607B45A17C2292E68ADEE8D6DAAF3059E589476B8FF24D46D9CE0BA48BD1EE006C6F2BEF3FCA278D87D85A07E6849BC052DEBA6F666D50B8AE4AD59A3401D8C0F13324B5BD4DF3283FA300EDDF208CF2F1BC58537E010A3EBFAAF3833E66B7DEDD42B6FCA2A72FF94711FD78C538633B3A770A56D8AC1A9C21A537213936E2D96C2DDF51F78D0FB8EF26DD619CC5751D9377485E0E1AB2A935CDFC37970B4D2C4BF126E83DDDBA5A47456AD686F776A9E36D6DFA2E3BA7C030669EC23B24DBDB58D9F1B5E1F630621D3EC564B493682F041B99F93B34A66B4DBC687057C2E83A8AA86A5D6C3D57F1175139E20D7D3BE528D5A88B9D3D5CF184A8D4F8C71DB1640BC833A0C412D128BDC5F73415BB1C14A95F15CEB48F39A97F9E7BFC90716E3D9C49A5A7B0B96BB5E98CDAB70B98D9209AD4EAADC3D978D29D09091D927ABBFEACD48EEA8073E19DEE2F8CB3EDA90A8B06A5D9D486665A2FF8BDA760136FEFC8F17492C7B07B69F877108B5BE721FD556FBF1859384BE5743D923DE8A99E414F9E6B216B7BDF12F7A2A9621252C0EE989D08ECBFF1BFD5BB24E37B6E5A93CA793CD66DA57DB662C764F9AFD8ACF6AEC28568A5C73CF6A127909BFDDF7D7AFBC5C5231B8FE469FC8B1451093B868CD46101947411DD6D2D378F84921642497FC6A7287B8E9C89CFD0C6A25BDE9EED29B046E36A98072951EC1D0FD1FA523A8550FC31ACE497C0A6E4B1E2C0BF1D598D2301E92AE30A64A7932733F96F6BA75EC0C391F4C5856E6FB0A913F9818833031CEA97295A270F14889C4433604709DEB0872A0C0156EA85C2E861F9C3D1D5C091B32FFDC50847CE340E3235B3592C81566D05092345F4275591A2D306F37BDC9ACAD8606B2CD1D57935D0891D7019E714B4EAED24137D3282D125658299C7C74047B6403BBF4E81E7FE7A42018E9B3C3C0B98D946A107F8E6B8909C0F2DA08701662F1320E0882B40051C82A560E5B51F68945CD4B721177A4B22C1F8B5C08ECB21C03AE09F31FF6C5FB0FC74E476EDE64B89A914D850B9DD5351C4F7C715B65C385AA91894B84D429ABA084C4D84C0EF9E30158A30A1403324209C420FA860A1382346823B2B7EAA032403B09DA6701C2771310CE788016A0B597C58BC3AE5C3CA829309D0360104BC70D22BDFC4C802E84B13230096B7D91D5C51C9528091CCB589C825FD1812D89AC1395A88C12E2712699A6C861265657075489C925AC3191C27C1FC51264216D8B54694230D4D6F23C1C64BCFDEEEDF765435B88E6DEEDAF974DD74E5191EBF7718E22194AB8E9D89391DFBF3E32A1B2FE3D0E9D452E0FC290BD89D7FF6D6B578937C52FCC7AA9F3B637757989F7B2D7FD8F5F0D8F98C125F6B0C489DFE8776C888CAF62745ADAC76BC6AFA9D8AF82A3AECDC6C61E6BF004285E29D]
Position=1
link(onCreate,1517322:doEvent1,[])
}
Add(TreeView,1445528,252,252)
{
Top=10
Width=290
Height=695
Font=[MS Sans Serif,10,1,0,1]
Strings=#6:Разное|9:Интерфэйс|8:Контролы|7:Графика|4:Окна|7:Система|8:Интернет|2:БД|5:Файлы|11:Инструменты|11:Мультимедиа|7:Строики|6:Логика|7:Массивы|6:OpenGL|9:MT потоки|5:WinCE|
LinesRoot=1
Icons=['Icon'=[ZIP5E07000078DAC5957950136714C03F8FA9B6D3AA75AC3858CB11AAA9D2AA4DAD190F08102084280801954AACADE2512DDA111D2DF568B54AEA85E08110848061B321D70642E22691C39060849858905A1397433101AD98461310E84266A8A3B5B57F74FA76DFFEF1F6BDDFBEB7EFFBDE07C008FC9A32050C3E016D0C00930100445C711398033CF641A97C0DFC1F02730BCBF8102A95A0123102F1206EE1BF0AE75F28AE10C0E63ABDE54673ABC5DA8E6177B096F6DB98B5B9F99A562BE15D781588A0E0BC0EBD68D2E9D4E68B99A6BC2D0D196BAEFEB8A6FEC076233BFF3AD760D69AEBEA2E2B2A8A38797F03911617569521EACBC86E5D4AAC3A3CFA626C948249AB488C9427D0E431F40A6A3C4A395EBB4F57A3AE919743E7397F09292DE0A0A530AC3E9F0091A939EF51B2FC437203C34BC811A5416125E4E0DC598B4EF8071DF50FCD24AE8512552AB15A2C2C7E212BDC5251724120CF8F3846FE744BC0271BA6071D98BD53B1E94A476DB7BB5BFE8B887292404E9F46DAE83F9BE54BDA1CB0E21C1D2D172AF8BCE738725EB152C25F7A323830D97B56FCD405DB4852A3B4BFBF7F60482A1A65410703E7A71248EB023E5AE93B23C66BD6175E69BCF5A850202AFAB3895061811286D882F4996BBD7CA96F7D98E407EB600FC16AB31E457E6265C72D4A0F58B0637ACA99CFE1AA920F127DFCE8E33FDEE92B2E2BC47FC530475CCC5589847159A184D8F17ED4092C76525F7F1F0E519A95E1D99121B961C159E4A08CC0F85334DB231B6E3F2C384C88F122AE9EBCBB78B34A54CA2FE27A380A01FF920C99B787E04F1F478C9B8A1864B8F3DDDFEE328A1242E0A460218B02AFA0F399A60E93274977AF9BC55E454CF66666876BA492E1158533710E696F0031C99BF4F55C8BDD8A3B43666134BA214CBD3DA4329DAA4993B65E1A7846ECDD76EACE8551C7165E2A43E402BE87A3918A353284CA9E2FD20A6E7434F73CEDC13D6D4EFB4D472BFB3A145A7B9056B56B6BC9D634C9375D8E4EFC15D220DBCED9CAFC8E96981D55A3542845420FE76783A1C9680C3E16187328B2F351E7F0476B7FD5D2CAD650ABB785576E60542E4B35AEECEDEBC5EDFBCBD3837693C8DB662CE784B5DFB656A3A887535FABB5DC684AE02DA6EC9DF71527052F1F776EBBDFB65C12C9D02C8952273034718935745DA71AB73B9E38E2CE9217EFF20FF93E70878C75A7A54529433C1C545EDE8EDDDEA364513366861D9A715C7ED0E972AE17462F534C8A55CE655646A436A4E8BAAA3D49E6D56446664DA4ECF7627008B0FE6C9BD52A1408865BDF7AEB96BA5EBA42EA473DF24EF8F1B75767872E11BDB914199DAC26B639AD9E7270D134A28CFC77234E8E893A352E45310FC32C4D26D3B3EB595F53DDD971EF48752A53348D767A6C1467349D3762896454B22AC0D5E3F294734E9DC52898462F181B9DFFFA2AD5FB65F5455D361B22163FB7355AADD6F6366C8F765D323A87C17D83CE1DC9804632A5930EC1E9DFF2B7C49E9B13034D58CA1B1B0B4FFC52BB204FC77ED4DD6D3636BCB8DF254221CEBFDBD17A42F7439A71FD3A1565B9D4275EE21D2FF361CAFC1210C267E53337553376346C840CF94E8703B3585E367F24225197DDFEF87747D57534DB9079EA664E8E8573E656CE190B7EE79E68CCCCBB72BAC972ADA7C78D592DFF38129B9B1A5D4F1EF7B8DD775AB046A3D16C3098AF5E6D369BEFDBED7D7D7D4EA7B34EAF7BC5112D431093B1E1C183FB6E97AB77485C2E97EDDE3DBD5EFF5F1F2E784FC1C0FE01F014EC052EE0031E82F100036340E5908E02FB8674C44B75D067500763303CF621CE780A82413F181862FF011788E78E],'Icon'=[ZIP5E07000078DA636060044209090610C9E0C1CEC020C6C0C0A001C4402106030688380828B0330C41D0D8D818491CF0F6F6062AC6650E50F6E6F2DAD33D2EC420A0625CE6D44733FCFF7F06681441346A0EA9E620C735D01C868606F2CC418E6B8839400474157E04D482660EB25F80ECC565C422FCE6AC9A0F721250D9DC952004E442184004148448414882E61089F09803B405C8250661E62F2AA619B2E31AD31CF2E21ACD1CB2E31ACD1CB2E31AD31CF2E21A195012D78313FC87823F0CCC38F1019CD81E27860100C5814B1B],'Icon'=[ZIP5E07000078DA636060044209090610C9E0C1CEC020C6C0C0A001C4402106030688380828B0330C0EF01F0350CB1CEC4615E346380C21CD1C98634870125E1F51680EB2620ACD4163639284C307598AA00904E30B9B391426456A2569FA99336D1A01043707C625D31C885E64F68802C524225A9B330A30F3CB3F7686FF7F98191E006B39086600E3FF0F18A06C90183B18FFFF670F67C3C580F9049B180C0300039F19E2],'Icon'=[ZIP5E07000078DAED942170E5201086F75471F7D44D649FBBB88B8C45752291B1919191B14F229158241289452291586464EAB69BBC3E7315DC9CE94CA7CBC73F6407BE212201F841A369E048787902F80500BF69520BFEC0BD7FD4F3137CD7972B19E53B49AB6C4EACCA4E667F4795A893AF7A7AD977B2A3EC15BFC3B5106699DC6D4D4E613928B9EA6182C10040F9803A8C1F29DC6A1035A2DA4AFDC548C2E95A0FBAB33340335FD6286FC52DC52ED15435B49FCDE795EE920E2E73D31A3E847949AB7283B3AD337DFD3A6620D8C80E0FD946E8644BC7B5EDADBE26C97609455EAA9ED14F5398D872010130011B619D20CC1027C8F3C902716DAA9ECEF6ADEBAEB211BAE7BA578A67D9E7F51A46701CFC0041809FEB1EE9879BE7C68F25DD08DC34B1C7356B1E96D62F9D1D407356F5209D4D2BC60983C0309E88E3B14844BF671FF562675EF5EC516292E838DA16FD807E3CD694D9EC5B20102365D5B345B327B34745C26391EC03BDC5035A94A0FFC573EEA734B4FF235B50F4917DFF883EA510F1C37C859FFF3DFF76BD01F1D33520],'Icon'=[ZIP5E07000078DAED933F0E823014C69F716074336C98B838BA39B238987002E33DDC0CB01B6F60181C8C9E82C14D2FE0E64D9E5F53FEB6141A59187C7CAF295FDB5F5F49211AE1715D122D6D1CA229112D90B06849D2173173E81F438CA8D14DD3B43FEA27888AEA0129513690388EB7E62820E8074180C9260E46DFD7C3F3B8D655A944540507934D9C7047CC2FA0A4F40F9B9B91DC343F6E64CF91908A5F590B4E1DA573AAC0C22FB7D0088D1C6595EA488835C770AE0E0E7CBD1ECBE3281C08559964735FC1B9EC6DD57E7FEE892809D3CE3721BCCA0E04530EC9B69363A9160E7601CA46EDFFD77082D5F01366CF633EF9CC8F90F9C39C928F5C21E7C871964E96936CBC9E797C01EE1B51F8],'Icon'=[ZIP5E07000078DAAD95494BC35010C7C7538FDEA4478F1E3CF80DF4E8451111454402222A8816A1D6525CEA421109B6B5A0159120222556BBB8A22D6EB814172A58F098DCF456F10BC4491EBC84F89E68EBBF693A794C7ECCFCDFA401A8C08FD309FA191A1D00550050835F5C823A20EBBAAA1DF0A31AFE282644108462B1A8BC29A8FC6B1E55281472B95C369B4DA552D168541445BF21BCC4755555F11626CA35E6420E260483412926258962494992847E413F04017308048332DB6136A8699ADE053D7E2F231F34C033A29083BD68E5897230385B766723239925D76968E86471F0581C385AE83B9CEF3D08F4ECCD09E999EE94BF2B39D999186FDFF1B5C5BDADDB9E16D9DD2C8F365BEBC1E07CC5531A4A7955AC9C8B552F13C5F396A2CC7A149D73B9E663A23041FD26CCA755D93857EB134C14E1585D251CDA206E9D95732D4D31513C0EF5CA56CFCDC63413C5EB8BDA4EEB21C0DBCD59260A133EDF5F9487F4532294090FCBEEA6958E5ACCA73B68EBEB6E2B4050B67DE10D1E1D0693630C402E364F50BC46787365FA6370EEE50582E219CB1B51CA21C1435C24285E3DBC69A7F34C388FBB4182E219CB7B70CC7A0CA39E926182E219CB7B706C9C7C3A4251D42BDE30585126E74E0F9EF7974B435939F5E589FEB59629847C4025A8E0307EFDF8A6FB4FE9BC2F809C13CB],'Icon'=[ZIP5E07000078DAB595ED4F5B551CC7CFB2174BFC03CC5EFA42170831EEC5744B96BD50F029324D34B2A156602B0F6D61646390321C1468291D4F52A02D5CA42D5DE9A05D0BA5ED6EC7C32D7DE6F689AD74A3445895B2BA38914D25CA263F2F6985B815939AF83DF9DE73F2FB7DEE372739F7E620B48F1A070FA2ED277AEF00422F2284D22853257418C5EBDB7AE900DA433A132EEC91F005ADF5BCA62E4C8AFE557BC1BD22491F972BE3F2E43C9E84CDAEA017D28B194913266CAEBD60E7CD8990CF175B5959F4FB430E874E26B388C58DACD2AEFE81E7736C466352986A056CF6E8F2F26FEB8F22CB1152ADD1F3F924866945E2A4FB99B35A57EFDD8BC39EE760CF24E1ED6C0D6B5524B7DEC92C1597957DDD2DDA79F7FAC8709B80DFD32332CF38824BDFB9F0095F671B05BB9BB80E563905EF903EC2B1861DFB43911E15E5DD6AE04BB24F7DF819AD4FA1E4370B32ABDA5E608AF69FE9483B752E3F2FAFB2AE61A8077B2C3FB1A9485F119FB9C3658B29389796D82D3EF2E78D2C20DE8599B7C191B97593D55EFCC5A18C57DF3AFEC6910F3E3AA60F1FC7BF4FFFA4E09D13475F4ECB68AA380B44F6DF70D6539CD177BE289EB38863E0FC12C87CF09680271F089A80F629AF49E0250C0CAD2D9B5CCF21D74A46677D1663EB950EBDB012C8B3BBF0D4E7C2B244CEB2BE75CBCB80702D8439B0C8017785A4BC582C57C6BBDCC1EB0687F5F5CCF7A5CA6BA1D052D42C7C061696D2E3646CAA05221C58BF0ABFE8E0A741B8C513B20A7A9523F1AE6250110D5A5E3994766DCC10088413F0CFFF80E3E4BC4EBA6AEF8FCD691F2C8F6EC4D4B02818A8640EE94DF1EED521956D72BC90C19C76796C33F6904EB66AEB5F5DD03E58DA85778ECC69F7F8ADCE79B389542BE65412DDC0EE47880D0D67BC76B8EA72AD5CAD75078254C56DF7FA1CC9E1A492CA95FCDABA7676358FC56A60300B4E9FA6973035461CA52272D66B50A922C1E05D9773CE64B28F8D5931AC8E5ED4D0DC92528E7F7A7AC1EFFFE1FEFDF5CD275EFDB859A1307777DBC492DE6F64284579A7095226FFD662214522E262D5544D4D776BBB3BB8805257B88BBE263A1A95E405D817C77369591FE7A8C74DA986B8676C8FB43960CA00F39BBF1B4EFEAA2E925FA0D7B775A69AE332689E5A0BC1990B1EFAF68FE03B39515BFE95A03DD59C79CDC0139205B72F40E81284AA61F13C5EC3BA7CA523D59C85D17EB87B0EA29DF05001310C62CD37AA4B6A046DA9E6DCD60C3EF4756CAC0C6FFC68D85CD3C1E3BEC9EAA22661EF7F38AFD909BB638AB843E001A322E696E22D8DE87FD60C3422CED63E846A29533327B21F71A81B6FC7F9BBB644EA1170EA10A084B7D796C4FCAC2D800000FD0535F47BF1],'Icon'=[ZIP5E07000078DAB5943B4B034110C7470463A1850A92CE80412C6DF41358A88DB560A38285858285450A95103B5398C24645491311348512308AF1815A04157C200A41D1604021F80C17EFD8712E6B2E977B25419C9D1986BDFDFF6E5F770065D4EC76903374D800EA01A09982BAA00578BF6C0E1B1430CC7891663D58F31455FE178E61BF066EF11634EFD1CBF59CFF1B63B18A523960BE762CFD944D6C72DF7AC2D5932B1A37E68C470C3999F172D179956CBC666D376CE409BD89EFF670CC0035B601AE4D39EBA641725EF43C3335A773EFB172E14C8B1A5D932194751C9297C0195E962194B59BFFEBD3222BCC19F2E779D66CDE2D2EA7625D62A1141E7DE1439ABD88720EC63F7A77EEF23883F379AEE2703915E164AA653B561338AF5D8C3AFCD1D6C049932FE23B8D1B6CB58AA070B89C8AAEC3987E5D15EE9001A77F56CFE172658185F7D9643ECAFE14C531DF9FD238459CD78CC4DC028E08E86248F592C4066EBFAAFD9796F727C7E1722A98247C225E20D20992AF229213D6F23EE7388ABCCAB74B055D9BE30C81E633274A755341CBEF2B676A3961356EFEBD1B58B1F2BCFF8F6C1F9880F40145DA03C2A313DEBB29FA28263C802880B35C0047D91B388007C0FD6F1355916D6F3C68FC6BB9084283083F104F1CB5],'Icon'=[ZIP5E07000078DAC5956D4FD35014C70FE1C5BE81E11DBEF4A57E02DFFA4DCC904CD16014129C0625C164C38744103207991A232CA88B1825EC81B88932960CC7D8DC42D9D840923DD08DD132E1782E6DBAA5D46E9144CF7EE7E6E676FDE5DF9BDB14A0857E6D6DC046B8600038050067A86909CE82B4CEEAB401FE5B9935573D1ECFC9557F2551AB4E20A9A99A91BCBB6E5470F676BDBE7199705CBBF2FC6AE7B8E9922219ED30EA7BC64DC6ACDFA5495D1273C33CE4594F46713B881B0B98FC747C63313C715CE5B0DB559E377D5D9B690E3F5BD03F44A3EA2A5B8F4EE3B24BA5228F4AF571A07B2B9BC6624A82DDFBF33B217B7E7CC0980B2333B6CE8E3F19A4F2597B72B99C9247C63F54CBB3E6C6D539DA7C45A2E9F9FAA42F5F2862956794D38CA354B2271DC0352FC67DF561343DA1517371A754CB533F1EA1FF384A2DDBEFF0E53D3CF885951C83CF3068AF0A2B8CEC126E7C69E6BCAE3AEE962AFB1A496822CD499508CCF477EB7B12AF06CA7B22CB434861887252667B05338BCD78B8A9C15DB1AA9D479AC4FD383B3B77FFA6BE67F3BDA552A9A05487075815707F17851D79BBBE79D1E9449BCD6BE969E8110441230F9FA17773CC7891A049C3F7943CA2A09D87CEDEE1E2487EDA141ABBED7E30A8EFD9723F15451195925458261579F2D1A9C8447F43093BB191497A047E3D594C8689422C180B2F11A98579F2C45FDEF3DB1F36737E4AF32379DFE3C4DBE1C8E470F0C523BA4B41F2FC9BEF0A3E0B015AAD808176C0D479C0E22DE080752FF5396A3A5AF405E4A0556E0375BBFC1FAD46E05AA85B116897E1370BD04766],'Icon'=[ZIP5E07000078DA636060044209090610C9E0C1CEC020C6C0C0A001C4402106030688380828B0338C8261081AB08A1E38708072A3C83204DD28E20DE1E3E3C365147E43D0346A6B6B931726B8346233A481F8B0C03416D525A8463534E0D268626242420C02CD811985A6D1CECE8EB8386C40760CA646777777620D4135074D6360602079E6A0698C8A8A22C93BB834A6A4A49097E8D134E6E6E69697973734909054808A815A801A47CB3562C0FFFFFF51F0F1FF8F196EFEF9CD70E3C76F863B85BF19EE29FF66B8CF0EC4FD207A37C3056569860B05DC0CD72AA419EE555833DC29B066B87FA09AE1FEC3DF60BDE8E6010094876FB4],'Icon'=[ZIP5E07000078DA636060044209090610C9E0C1CEC020C6C0C0A001C4402106030688380828B0338C82410CCED5C69EAE08DE99EBBCA134826C43DE35A6FDAD4804A20FE57167EA22D715049367CECFC5B5FF8FCDF8BF7FD2DFAEBCC7B5893BEB1388D1B5A17FC2BEDADADD65E51B264D86887CDE3FE5FFDFA7FFDF1EF8B7B4E1436DD2F9D949040D59DCD6DE1F1ADA111030292CEC696FEFA9458B20E24F2EEFFC7965E99B45D540F6952EC241B4B7B0E8565BDBC39E9E3519195D818177DADB31D5C0CD59EE2080CB9C9BFD13FEBF79F3FFCA95F7D3A6015D75A8B41497393B2BFC2F0618E071D2970307FFDFBEFD69FA7420FB445D1D56738ED464020DC16F0E3278DED606612CF5F7870B7E5A54F429C10768C8DAC5B34832A72D39F94C7131B2393782CD8E2F98457CCA019A73A8BAE6646E2E9A396B273593940281E62CF1F73F121BBB66EE7C4AB2D5B39933ABACAC76747652983D81E6CC9A326DB4981A54E0FFFFFF98F803103FA807E31F09F50C1F0C81D83E1F88FD197EECE767F8BF1D8897CB33FC6FB70762A0DA7E209EFF1FAB5900056ADA9F],'Icon'=[ZIP5E07000078DA636060044209090610C9E0C1CEC020C6C0C0A001C4402106030688380828B0338C48909797472D736E110DE8664E0303034134A8DC331A3EA3E1434F7F0D12F750C51C92C04828DBFF23810F0CFC54C1C80000A85226B7],'Icon'=[ZIP5E07000078DA636060044209090610C9E0C1CEC020C6C0C0A001C4402106030688380828B0338C826109AA762210B20819A06C0B08E1E2120F8AD681102E2EF1206F0508E1E2120FB2168110321B598478903607847071890749D3400817977810371184B07291C50982A86E1042E3424490C50982B05610C2144113240882EA418842E0558C40A3603882FF38C03F49206189840D90F9FBFFFFB700629BFAFFFFED816AE5FFE30400B53E8C44],'Icon'=[],'Icon'=[],'Icon'=[],'Icon'=[]]
Point(Index)
link(onClick,2240176:doData,[])
}
Add(StyleXP,10767794,28,140)
{
}
Add(MenuEx,9082006,203,147)
{
Menu=#10:Компоненты|1:(|14:Добавить новый|1:)|9:Настройки|20:Проверить обновление|11:О програме!|
Bitmaps=[]
link(MenuItemIdx,13313392:doEvent,[])
}
Add(ChildGroupBox,1311481,896,168)
{
link(onEvent1,4494923:doString,[])
}
BEGIN_SDK
Add(EditMulti,10797057,21,21)
{
EventCount=1
WorkCount=4
Width=965
Height=599
link(doWork1,1711911:doPosition,[(105,27)(105,216)])
link(doWork2,1711911:doMax,[(95,34)(95,223)])
link(doWork3,4352214:doEvent1,[(210,41)(210,426)])
link(doWork4,6800831:doEvent2,[(308,48)(308,447)])
}
Add(GroupBox,7034333,34,35)
{
Left=295
Top=340
Width=527
Height=363
Caption="Описание компонент"
}
Add(Image,10187768,518,49)
{
Left=10
Top=15
Width=24
Height=24
Visible=1
}
Add(Button,16643337,112,49)
{
Left=50
Top=15
Visible=1
link(onClick,11279226:doExecute,[])
}
Add(ODialog,11279226,175,49)
{
link(onExecute,2670353:doEvent1,[])
}
Add(PictureStream,1814382,301,49)
{
link(onLoad,14883437:doEvent1,[])
}
Add(StreamConvertor,6136114,609,497)
{
Mode=3
link(onResult,4159490:doCharset,[])
}
Add(Hub,14883437,364,49)
{
link(onEvent1,10187768:doLoad,[])
}
Add(FileStream,1638046,287,140)
{
link(onLoad,4100310:doCompress,[(363,146)(363,230)])
}
Add(Hub,2670353,238,49)
{
link(onEvent1,1814382:doLoad,[])
link(onEvent2,1638046:doOpen,[(259,62)(259,146)])
}
Add(LZMA,4100310,497,224)
{
link(Stream,1638046:Stream,[(503,198)(293,198)])
}
Add(Button,13184118,294,567)
{
Left=375
Top=310
Width=145
Height=45
Caption="Скачать"
Point(doEnabled)
link(onClick,10797057:onEvent1,[(656,573)(656,27)])
}
Add(ProgressBar,1711911,133,210)
{
Left=5
Top=315
Width=365
Height=10
ProgressColor=16711680
Point(doMax)
}
Add(FormatStr,5735406,399,434)
{
Mask="https://labdev.ml/api/api.php?action=info&product=%1"
Point(FString)
link(onFString,3689454:doLoadString,[(443,440)(443,461)(387,461)(387,496)])
}
Add(HTTPClient,3689454,399,490)
{
URL="https://labdev.ml/api/api.php?action=component"
UserAgent="Mozilla/16.0 (Windows 10; rv:92.0) Gecko/20100101 Firefox/52.0"
URLCodePage=1
FileField="name"
FieldCharset=1
CookieManager="parent.coocki"
Point(UploadFile)
Point(onUploadProgress)
Point(CurrentURL)
Point(StatusText)
Point(PostData)
link(URL,5735406:FString,[])
link(onFinish,2258243:doSearch,[])
}
Add(BlockFind,2258243,539,497)
{
IncludeBlock=1
StartBlock="DiscriptComponent{"
EndBlock="}EndDiscriptComponent"
link(onSearch,6136114:doConvert,[])
}
Add(Charset,4159490,672,497)
{
Type=7
link(onCharset,6592669:doAdd,[(720,503)(720,433)])
}
Add(Hub,4352214,301,420)
{
link(onEvent1,6800831:doEvent1,[(525,426)(525,440)])
link(onEvent2,5735406:doString,[(357,433)(357,440)])
}
Add(RichEdit,6592669,770,427)
{
Left=5
Top=15
Width=515
Height=290
ScrollBars=2
ReadOnly=0
}
Add(Hub,6800831,595,434)
{
InCount=2
OutCount=1
link(onEvent1,6592669:doClear,[])
}
END_SDK
Add(ChildForm,3366350,392,126)
{
link(Data1,9809861:Var,[])
}
BEGIN_SDK
Add(EditMulti,13822210,21,21)
{
WorkCount=1
DataCount=1
Width=1315
Height=641
link(doWork1,12202656:doEvent1,[(49,27)(49,76)])
}
Add(MainForm,4018753,105,42)
{
Left=35
Top=105
Width=682
Height=415
Visible=1
Caption="Загрузка нового компонента"
BorderStyle=3
Position=1
Point(doVisible)
}
Add(ODialog,9929441,469,399)
{
Filter="RAR|*.rar|ZIP|*.zip"
link(onExecute,150390:doText,[])
}
Add(Button,11196982,406,399)
{
Left=10
Top=15
Width=135
Caption="Архив компонента"
link(onClick,9929441:doExecute,[])
}
Add(HTTPClient,5181362,511,504)
{
URL="https://labdev.ml/up.php"
Method=1
UserAgent="Mozilla/16.0 (Windows 10; rv:92.0) Gecko/20100101 Firefox/52.0"
URLCodePage=1
FileField="name"
FieldCharset=1
CookieManager="parent.coocki"
Point(UploadFile)
Point(onUploadProgress)
Point(CurrentURL)
Point(StatusText)
Point(PostData)
link(onFinish,963309:doSearch,[])
link(UploadFile,150390:Text,[])
link(PostData,12739542:GetData,[])
}
Add(LineBreakEx,15402714,525,574)
{
Caption="head"
Type=3
link(_Data,5181362:CurrentURL,[])
}
Add(FormatStr,4867230,826,266)
{
DataCount=7
Mask="componentAutor=%1\r\ncomponentName=%2\r\ncomponentDescription=%3\r\ncomponentSmallDiscript=%7\r\ncomponentData=%4\r\ncomponentCategory=%5\r\ncomponentPrivat=%6"
link(onFString,2359846:In,[])
link(Str1,13465189:Var,[])
link(Str2,3695110:GetData,[])
link(Str3,13071942:Value,[(846,252)(761,252)(761,322)(699,322)])
link(Str4,11441031:Value,[])
link(Str5,10281975:Value,[(860,219)(1049,219)])
link(Str6,4898642:Checked,[(867,233)(1217,233)])
link(Str7,1335870:GetData,[(874,230)(706,230)])
}
Add(EventFromData,12739542,532,266)
{
link(onEvent,3439030:doCharset,[])
}
Add(Button,12479344,315,504)
{
Left=525
Top=350
Width=140
Height=25
Caption="Загрузить"
link(onClick,2905758:doEvent1,[])
}
Add(Thread,11610816,441,504)
{
FastStop=0
link(onExec,5181362:doLoadString,[])
}
Add(Edit,150390,525,399)
{
Left=145
Top=15
Width=520
Text=""
ReadOnly=0
}
Add(Memo,14048041,581,196)
{
Left=10
Top=210
Width=655
Height=130
ScrollBars=2
}
Add(Edit,16732158,875,77)
{
Left=195
Top=55
Width=470
Text=""
MaxLenField=30
}
Add(Label,8764517,189,98)
{
Left=10
Top=55
Width=171
Height=20
Font=[MS Sans Serif,10,1,0,1]
Caption="Название компонента"
}
Add(StreamConvertor,2793735,637,266)
{
Mode=2
link(onResult,13071942:doValue,[])
}
Add(LineBreak,7388981,441,266)
{
link(Out,12739542:doData,[])
Primary=[2359846,644,0]
}
Add(Memory,13071942,693,266)
{
link(onData,4867230:doString,[])
}
Add(Message,10141285,819,511)
{
Message="Успешно загружен!!!"
Caption="Успех!!"
Icon=4
}
Add(ComboBox,16438619,994,119)
{
Left=195
Top=135
Width=210
Height=21
Strings=#6:Разное|9:Интерфэйс|8:Контролы|7:Графика|4:Окна|7:Система|8:Интернет|2:БД|5:Файлы|11:Инструменты|
ReadOnly=0
DropDownCount=20
link(onClick,10281975:doValue,[])
}
Add(Memory,10281975,1043,126)
{
Default=Integer(0)
}
Add(Label,9755189,189,147)
{
Left=10
Top=135
Width=174
Height=20
Font=[MS Sans Serif,10,1,0,1]
Caption="Категория компонента"
}
Add(Label,6282097,189,203)
{
Left=10
Top=175
Width=174
Height=20
Font=[MS Sans Serif,10,1,0,1]
Caption="Описание компонента:"
}
Add(Label,60337,1211,119)
{
Left=425
Top=135
Width=175
Height=20
Font=[MS Sans Serif,10,1,0,1]
Visible=1
Hint="Компонет будет доступен только вам"
HintManager="parent.HitMan"
Caption="Приватный компонент:"
Point(doVisible)
}
Add(CheckBox,4898642,1211,161)
{
Left=605
Top=135
Width=15
Visible=1
Hint="Компонет будет доступен только вам"
HintManager="parent.HitMan"
Caption=""
Point(doVisible)
}
Add(Message,15746558,1134,490)
{
Message="Размер файла превышает допустимые"
Caption="Файл отклонен"
Icon=3
}
Add(BlockFind,963309,651,511)
{
StartBlock="100"
EndBlock="0"
link(onSearch,10141285:doMessage,[])
link(onEndSearch,15704545:doSearch,[(747,524)(747,566)])
}
Add(BlockFind,15704545,770,560)
{
StartBlock="100"
EndBlock="0"
}
Add(Message,1040920,1036,308)
{
Message="Ошибка загрузки файла"
Caption="Ошибка"
Icon=3
}
Add(Hub,2905758,392,504)
{
link(onEvent1,11610816:doStart,[])
}
Add(Charset,3439030,581,266)
{
Type=6
link(onCharset,2793735:doConvert,[])
link(Text,14048041:Text,[])
}
Add(Charset,10276971,875,133)
{
Type=6
link(onCharset,11806471:doConvert,[])
link(Text,16732158:Text,[])
}
Add(EventFromData,3695110,833,133)
{
link(onEvent,10276971:doCharset,[])
}
Add(Edit,2664290,749,77)
{
Left=195
Top=90
Width=470
Text=""
MaxLenField=60
}
Add(Charset,8264150,749,126)
{
Type=6
link(onCharset,10232846:doConvert,[(793,132)(793,120)(632,120)(632,132)])
link(Text,2664290:Text,[])
}
Add(EventFromData,1335870,700,126)
{
link(onEvent,8264150:doCharset,[])
}
Add(Label,16619768,186,46)
{
Left=10
Top=90
Width=149
Height=20
Font=[MS Sans Serif,10,1,0,1]
Caption="Короткое описание"
}
Add(Memory,11441031,847,175)
{
Default=String(0)
}
Add(Message,8434188,1078,490)
{
}
Add(StreamConvertor,10232846,651,126)
{
Mode=2
link(onResult,1335870:doData,[])
}
Add(LineBreak,14000906,49,140)
{
Type=1
link(Data,13822210:Data1,[(55,109)(27,109)])
Primary=[13465189,777,91]
}
Add(StreamConvertor,11806471,917,133)
{
Mode=2
link(onResult,3695110:doData,[(963,139)(963,121)(821,121)(821,139)])
}
Add(If_else,16569072,287,77)
{
Op2=Integer(0)
link(onTrue,9519564:doWork1,[])
link(onFalse,9519564:doWork2,[])
link(Op1,13909698:Var,[])
}
Add(GlobalVar,13909698,287,42)
{
Name="AUTH"
}
Add(Hub,12202656,63,70)
{
link(onEvent1,4018753:doVisible,[])
link(onEvent2,16569072:doCompare,[])
}
Add(ChanelToIndex,9519564,343,77)
{
Count=3
link(onIndex,13194102:In,[])
}
Add(Hub,3954890,1155,161)
{
link(onEvent1,60337:doVisible,[(1190,167)(1190,132)])
link(onEvent2,4898642:doVisible,[])
}
Add(LineBreak,3059539,1106,161)
{
link(Out,3954890:doEvent1,[])
Primary=[13194102,-707,-84]
}
END_SDK
Add(IndexToChanel,13313392,259,147)
{
Count=4
link(onEvent2,3366350:doWork1,[(341,160)(341,132)])
link(onEvent3,11973386:doWork1,[])
link(onEvent4,5492733:In,[(341,174)(341,216)])
}
Add(HintManager,13499757,28,182)
{
Name="HitMan"
Font=[Tahoma,8,0,0,1]
}
Add(DoData,2240176,308,259)
{
link(onEventData,9780368:doString,[])
link(Data,1445528:Index,[(314,247)(290,247)(290,303)(272,303)])
}
Add(HTTPClient,15306379,378,455)
{
URL="http://labdev.ml/api/api.php?action=component"
UserAgent="Mozilla/16.0 (Windows 10; rv:92.0) Gecko/20100101 Firefox/52.0"
URLCodePage=1
FileField="name"
FieldCharset=1
CookieManager="coocki"
Point(UploadFile)
Point(onUploadProgress)
Point(CurrentURL)
Point(StatusText)
Point(PostData)
link(URL,8106996:Value,[])
link(onFinish,168374:doSearch,[])
}
Add(FormatStr,9780368,350,259)
{
Mask="https://labdev.ml/api/api.php?action=component&gorup=%1"
link(onFString,6584055:doEvent1,[])
}
Add(GlobalVar,9809861,392,91)
{
Name="ComponentAutor"
Data=Integer(0)
}
Add(BlockFind,168374,434,462)
{
IncludeBlock=1
StartBlock="ListComponent{"
EndBlock="}EndListComponent"
link(onSearch,5195972:doCase,[])
link(onEndSearch,556823:In,[(493,475)(493,510)])
}
Add(Thread,7459929,308,455)
{
Delay=500
FastStop=0
link(onExec,15306379:doLoadString,[])
}
Add(Memo,142645,882,469)
{
Width=0
Height=0
Visible=1
ScrollBars=3
}
Add(Replace,6303994,728,462)
{
SubStr="||"
DestStr="\r\n"
link(onReplace,14305296:doEvent1,[])
}
Add(ArrayEnum,14913786,896,546)
{
link(onItem,11770970:doWork1,[])
link(Array,142645:Array,[])
}
Add(Hub,14305296,784,462)
{
OutCount=5
link(onEvent1,142645:doClear,[(872,468)(872,482)])
link(onEvent2,142645:doAdd,[])
link(onEvent5,14913786:doEnum,[(847,496)(847,552)])
}
Add(LineBreak,6151617,252,322)
{
link(Out,14034708:doClear,[])
Primary=[2650288,0,56]
}
Add(MTStrTbl,4342183,876,63)
{
Left=295
Top=10
Width=530
Height=325
Name="mainTable"
Columns=#4:ID=0|12:Название=100|21:Короткое описание=250|7:Рейтинг|10:Скачиваний|0:|
link(onClick,14098709:doEvent1,[])
}
Add(MST_RowAction,9996067,994,546)
{
MSTControl="mainTable"
}
Add(MST_Clear,14034708,301,322)
{
MSTControl="mainTable"
}
Add(LineBreakEx,5973898,504,231)
{
Caption="URL"
}
Add(Memory,8106996,378,385)
{
}
Add(LineBreakEx,14631820,308,385)
{
Caption="URL"
Type=1
link(OnEvent,8106996:doValue,[])
}
Add(Hub,12400916,189,427)
{
OutCount=5
link(onEvent1,2650288:In,[(227,433)(227,384)])
link(onEvent2,10058268:doData,[(235,440)(235,426)])
link(onEvent3,5233152:In,[])
link(onEvent5,14358783:doEvent1,[])
}
Add(MultiElement,11770970,945,546)
{
link(onEvent1,9996067:doRowAction,[])
}
BEGIN_SDK
Add(EditMulti,9519678,21,21)
{
EventCount=1
WorkCount=1
Width=1105
Height=578
link(doWork1,16175210:doSplit,[(179,27)(179,167)])
}
Add(Charset,14896126,329,161)
{
Type=7
link(onCharset,1584482:doValue,[])
link(Text,15112750:Var,[])
}
Add(MT_String,4434834,952,427)
{
link(onResult,9519678:onEvent1,[(1048,433)(1048,27)])
}
Add(MultiStrPart,16175210,273,161)
{
Count=5
link(onSplit,14896126:doCharset,[])
}
Add(FormatStr,8937527,273,434)
{
DataCount=5
Mask="%1;%2;%3;%4;%5"
link(onFString,4434834:doMT,[])
link(Str1,16175210:Part1,[])
link(Str2,9951694:Var,[])
link(Str3,11458537:Var,[])
link(Str4,16175210:Part4,[])
link(Str5,16175210:Part5,[])
}
Add(Memory,1584482,385,161)
{
link(onData,12226558:doCharset,[])
}
Add(LineBreak,8293037,385,210)
{
Type=1
link(Data,1584482:Value,[])
Primary=[9951694,-105,140]
}
Add(Charset,12226558,448,161)
{
Type=7
link(onCharset,15648966:doValue,[])
link(Text,11403982:Var,[])
}
Add(Memory,15648966,497,161)
{
link(onData,6014722:In,[])
}
Add(LineBreak,10469954,497,210)
{
Type=1
link(Data,15648966:Value,[])
Primary=[11458537,-210,168]
}
Add(LineBreak,6227155,287,231)
{
Type=1
link(Data,16175210:Part3,[])
Primary=[11403982,161,-119]
}
Add(LineBreak,2243713,280,203)
{
Type=1
link(Data,16175210:Part2,[])
Primary=[15112750,49,-84]
}
Add(LineBreak,14018043,203,434)
{
link(Out,8937527:doString,[])
Primary=[6014722,357,-273]
}
END_SDK
Add(Case,5195972,504,462)
{
Value=String(9000)
link(onNextCase,5236353:doEvent1,[])
link(onTrue,10555497:doEvent1,[(558,475)(558,580)])
}
Add(Label,11190739,806,560)
{
Left=505
Top=155
Width=317
Height=20
Color=16777215
Font=[MS Sans Serif,10,1,12632256,1]
Visible=1
Caption="ПУСТАЯ КАТЕГОРИЯ"
Alignment=2
Point(doVisible)
Point(doAlignment)
}
Add(ChanelToIndex,3899279,672,567)
{
link(onIndex,11190739:doVisible,[])
}
Add(Hub,5236353,679,462)
{
link(onEvent1,6303994:doReplace,[])
link(onEvent2,3899279:doWork1,[(705,475)(705,524)(660,524)(660,573)])
}
Add(MST_SelectRow,9126783,966,63)
{
MSTControl="mainTable"
link(onSelectRow,16338090:doSeparateMT,[(1010,69)(1010,101)(954,101)(954,118)])
}
Add(DoData,10058268,252,420)
{
Data=String(ЗАГРУЗКА...)
link(onEventData,1470920:doWork,[])
}
Add(LineBreakEx,654696,714,546)
{
Caption="tablLable"
Type=1
link(OnEvent,11190739:doText,[(791,552)(791,566)])
}
Add(LineBreakEx,1470920,301,420)
{
Caption="tablLable"
}
Add(LineBreakEx,3652376,742,644)
{
Caption="tablLable"
}
Add(DoData,11864813,672,644)
{
Data=String(ПУСТАЯ КАТЕГОРИЯ)
link(onEventData,3652376:doWork,[])
}
Add(Hub,10555497,581,574)
{
link(onEvent1,6693983:In,[(613,580)(613,552)])
link(onEvent2,4180861:doEvent1,[])
}
Add(Hub,4180861,630,581)
{
InCount=2
OutCount=1
link(onEvent1,3899279:doWork2,[(658,587)(658,580)])
}
Add(Hub,14098709,924,63)
{
link(onEvent1,9126783:doSelect,[])
}
Add(MT_MultiData,16338090,966,112)
{
Point(Data)
link(onData1,3566141:doValue,[(1020,118)(1020,90)])
link(onData2,9545182:doString,[])
link(Data,9126783:Select,[])
}
Add(BlockFind,13288734,147,546)
{
IncludeBlock=1
StartBlock="ListComponent{"
EndBlock="}EndListComponent"
}
Add(LineBreak,10331182,294,567)
{
Primary=[556823,217,-63]
}
Add(LineBreak,10230240,518,588)
{
link(Out,4180861:doEvent2,[])
Primary=[5233152,-301,-147]
}
Add(LineBreak,10220222,140,427)
{
link(Out,12400916:doEvent1,[])
Primary=[5045620,364,-175]
}
Add(Hub,6584055,399,259)
{
OutCount=3
link(onEvent1,5973898:doWork,[(427,265)(427,237)])
link(onEvent2,5045620:In,[(469,272)(469,258)])
link(onEvent3,5865849:In,[])
}
Add(Hub,14358783,266,455)
{
InCount=2
OutCount=1
link(onEvent1,7459929:doStart,[])
}
Add(LineBreak,4488455,595,644)
{
link(Out,11864813:doData,[])
Primary=[6693983,35,-98]
}
Add(FormatStr,4494923,1043,168)
{
Mask="https://labdev.ml/dl.php?file=%1"
Point(FString)
link(onFString,6776829:doLoadString,[(1087,174)(1087,209)(1031,209)(1031,244)])
link(Str1,3566141:Value,[])
}
Add(Memory,3566141,1043,84)
{
link(onData,16699147:In,[])
}
Add(HTTPClient,6776829,1043,238)
{
URL="http://labdev.ml/api/api.php?action=component"
UserAgent="Mozilla/16.0 (Windows 10; rv:92.0) Gecko/20100101 Firefox/52.0"
URLCodePage=1
FileField="name"
FieldCharset=1
CookieManager="coocki"
Point(UploadFile)
Point(onUploadProgress)
Point(CurrentURL)
Point(StatusText)
Point(PostData)
link(URL,4494923:FString,[])
link(onFinish,14400312:doCase,[])
}
Add(HTTPClient,7295397,1330,238)
{
URL="http://labdev.ml/api/api.php?action=component"
UserAgent="Mozilla/16.0 (Windows 10; rv:92.0) Gecko/20100101 Firefox/52.0"
URLCodePage=1
FileField="name"
FieldCharset=1
CookieManager="coocki"
Point(UploadFile)
Point(onUploadProgress)
Point(CurrentURL)
Point(StatusText)
Point(PostData)
link(URL,610293:Value,[(1336,226)(1287,226)(1287,289)(1238,289)])
link(FileName,6837076:Value,[])
link(onHeadersAvail,13807972:In,[])
link(onDownloadProgress,1265898:In,[])
}
Add(Case,14400312,1106,245)
{
Value=String(ERROR)
link(onNextCase,15371013:doSearch,[])
}
Add(BlockFind,15371013,1169,245)
{
IncludeBlock=1
StartBlock="DownL{"
EndBlock="}DownLEnd"
link(onSearch,610293:doValue,[])
}
Add(Memory,6837076,1337,119)
{
}
Add(FormatStr,9545182,1253,119)
{
Mask="%1.rar"
link(onFString,6837076:doValue,[])
}
Add(Memory,610293,1232,245)
{
link(onData,7295397:doLoadFile,[])
}
Add(LineBreakEx,10269870,1512,14)
{
Caption="len"
Type=2
}
Add(DoData,4089202,1512,42)
{
link(onEventData,7341392:In,[])
link(Data,10269870:getVar,[])
}
Add(Synchronize,13932024,721,133)
{
link(onSync,1311481:doWork1,[(841,139)(841,174)])
}
Add(LineBreakEx,16033729,1337,308)
{
Caption="len"
Type=3
link(_Data,7295397:ContentLength,[])
}
Add(LineBreak,11503162,672,133)
{
link(Out,13932024:doSynchronize,[])
Primary=[1265898,756,119]
}
Add(LineBreak,12677387,1449,42)
{
link(Out,4089202:doData,[])
Primary=[13807972,-63,196]
}
Add(MultiElement,14142284,315,49)
{
link(onEvent1,8302917:In,[])
link(onEvent2,5331724:In,[])
}
BEGIN_SDK
Add(EditMulti,13015470,21,21)
{
EventCount=2
WorkCount=2
Width=1063
Height=690
link(doWork1,8589721:doEvent1,[(98,27)(98,125)])
link(doWork2,12628805:doWork1,[(78,34)(78,391)])
}
Add(FormatStr,6238253,294,119)
{
DataCount=3
Mask="https://labdev.ml/api/api.php?action=ping&set=%1&product=%2&debug=%3"
Point(FString)
link(onFString,15974543:doLoadString,[])
link(Str1,11701310:ProcessorId,[(300,107)(254,107)(254,163)(209,163)])
link(Str2,6212975:Var2,[])
link(Str3,4976816:Var3,[(314,91)(277,91)(277,236)])
}
Add(HTTPClient,15974543,399,119)
{
URL="https://labdev.ml/api/api.php?action=component"
UserAgent="Mozilla/16.0 (Windows 10; rv:92.0) Gecko/20100101 Firefox/52.0"
URLCodePage=1
FileField="name"
FieldCharset=1
CookieManager="parent.cooc"
Point(UploadFile)
Point(onUploadProgress)
Point(CurrentURL)
Point(StatusText)
Point(PostData)
link(URL,6238253:FString,[(405,107)(353,107)(353,163)(300,163)])
link(onFinish,14587768:doSearch,[])
}
Add(ProcInfo,11701310,175,119)
{
Point(ProcessorId)
link(onInfo,6238253:doString,[])
}
Add(BlockFind,14587768,462,126)
{
IncludeBlock=1
StartBlock="Ping{"
EndBlock="}EndPing"
link(onSearch,9245932:doCase,[])
}
Add(Case,9245932,553,126)
{
}
Add(Memory,9457584,301,28)
{
@Hint=#27:Кодовое название приложения|
Default=String(HiACM)
AddHint(101,4,174,13,@Hint)
}
Add(AntiDebug,8738607,210,182)
{
}
Add(DoData,3664197,210,259)
{
link(onEventData,8226661:doEvent,[])
link(Data,4976816:Var2,[])
}
Add(Hub,8589721,126,119)
{
OutCount=3
link(onEvent1,11701310:doInfo,[])
link(onEvent2,3664197:doData,[(154,132)(154,265)])
link(onEvent3,8216976:doEvent2,[(168,139)(168,580)])
}
Add(GetDataEx,4976816,210,231)
{
link(Data,8738607:isDebug,[])
}
Add(IndexToChanel,8226661,329,259)
{
link(onEvent2,13015470:onEvent1,[(723,272)(723,27)])
}
Add(MultiElement,12628805,378,385)
{
link(Data1,301135:Var,[])
link(Data2,13206525:Value,[(391,355)(433,355)])
}
BEGIN_SDK
Add(EditMulti,2605927,21,21)
{
WorkCount=1
DataCount=2
Width=1147
Height=760
link(doWork1,4718659:doString,[(95,27)(95,174)])
}
Add(HTTPClient,7840923,238,168)
{
URL="http://labdev.ml/api/api.php?action=update"
UserAgent="Mozilla/16.0 (Windows 10; rv:92.0) Gecko/20100101 Firefox/52.0"
URLCodePage=1
FileField="name"
FieldCharset=1
CookieManager="cooc"
Point(UploadFile)
Point(onUploadProgress)
Point(CurrentURL)
Point(StatusText)
Point(PostData)
link(URL,4718659:FString,[(244,156)(209,156)(209,212)(174,212)])
link(onFinish,7960831:doSearch,[])
}
Add(BlockFind,7960831,371,175)
{
IncludeBlock=1
StartBlock="UpgradeProduct{"
EndBlock="}EndUpgradeProduct"
link(onSearch,16214512:doSplit,[])
}
Add(FormatStr,4718659,168,168)
{
Mask="http://labdev.ml/api/api.php?action=upgrade&set=%1"
Point(FString)
link(onFString,7840923:doLoadString,[])
link(Str1,2605927:Data1,[(174,94)(27,94)])
}
Add(Message,1078027,812,364)
{
Caption="Доступно обновление"
}
Add(MultiStrPart,16214512,490,175)
{
Count=3
link(onSplit,533792:doCompare,[])
}
Add(Charset,967167,497,364)
{
Type=7
link(onCharset,11150352:doString,[])
link(Text,16214512:Part2,[])
}
Add(If_else,533792,609,175)
{
link(onTrue,5480710:doMessage,[])
link(onFalse,967167:doCharset,[(653,188)(653,279)(485,279)(485,370)])
link(Op1,16214512:Part1,[(615,163)(555,163)(555,219)(496,219)])
link(Op2,2605927:Data2,[(622,151)(34,151)])
}
Add(FormatStr,11150352,623,364)
{
Mask="Обновление от %2\r\nЧто сделано \r\n%1"
link(onFString,1078027:doMessage,[])
link(Str2,16214512:Part3,[(636,286)(510,286)])
}
Add(Message,5480710,784,175)
{
Message="Обновление Component Manager не требуется."
Caption="У Вас актуальная версия"
}
Add(Message,8798844,371,63)
{
}
END_SDK
Add(GetDataEx,6212975,301,70)
{
link(Data,9457584:Value,[])
}
Add(LineBreak,691143,203,98)
{
Type=1
link(Data,6212975:Var1,[(209,75)])
Primary=[301135,175,217]
}
Add(Memory,13206525,427,294)
{
@Hint=#27:Проядковый номер обновление|
Default=Integer(3)
MakeExt(Default,,NumUpgrade)
AddHint(82,-17,177,13,@Hint)
}
Add(FormatStr,9495942,238,567)
{
DataCount=4
Mask="HiAsm Component Manager %1 %2 %3 %4"
link(onFString,13015470:onEvent2,[(742,573)(742,34)])
link(Str1,4324946:Value,[])
link(Str2,9072035:Value,[(251,523)(293,523)])
link(Str3,2796252:Value,[(258,534)(342,534)])
link(Str4,11282969:Var1,[(265,541)(391,541)])
}
Add(Memory,4324946,238,448)
{
Default=String(v1.0.1)
MakeExt(Default,,VERSION)
}
Add(Memory,9072035,287,448)
{
Default=String(Pre-alpha)
MakeExt(Default,Этап развития проекта,ProjectStage)
}
Add(Memory,2796252,336,448)
{
Default=String((build - 221010))
MakeExt(Default,Сборка приложения,Build)
}
Add(MultiElement,11282969,385,448)
{
}
BEGIN_SDK
Add(EditMulti,5574642,21,21)
{
EventCount=1
VarCount=1
Width=762
Height=543
link(Var1,1600203:GetData,[(27,400)(265,400)])
}
Add(If_else,966702,315,203)
{
Op2=Integer(1)
link(onTrue,16424655:doString,[])
link(onFalse,15678787:doData,[(377,216)(377,258)])
link(Op1,8956983:Var,[])
}
Add(EventFromData,1600203,259,203)
{
link(onEvent,966702:doCompare,[])
}
Add(FormatStr,16424655,420,203)
{
Mask="(Пользоветель: %1 )"
link(onFString,163861:doEvent1,[])
link(Str1,6983946:Var,[])
}
Add(GlobalVar,8956983,315,84)
{
Name="AUTH"
link(onValue,5574642:onEvent1,[(574,90)(574,27)])
}
Add(GlobalVar,6983946,420,112)
{
Name="USER"
}
Add(Hub,163861,525,203)
{
InCount=2
OutCount=1
link(onEvent1,1600203:doData,[(554,209)(554,180)(247,180)(247,209)])
}
Add(DoData,15678787,420,252)
{
link(onEventData,163861:doEvent2,[(485,258)(485,216)])
}
END_SDK
Add(LineBreak,916700,147,567)
{
link(Out,8216976:doEvent1,[])
Primary=[15664797,0,-70]
}
Add(Timer,7497208,63,497)
{
Interval=2000
link(onTimer,15664797:In,[])
}
Add(Hub,8216976,196,567)
{
InCount=2
OutCount=1
link(onEvent1,9495942:doString,[])
}
END_SDK
Add(LineBreak,13534994,28,49)
{
link(Out,2953706:doClose,[])
Primary=[8302917,357,0]
}
Add(Version,5341620,28,98)
{
Description="HiAsm Component Manager v1.0"
InternalName="HiACM"
E-mail="https://labdev.ml/"
}
Add(Hub,1517322,210,42)
{
link(onEvent2,14142284:doWork1,[])
}
Add(LineBreak,8573872,721,196)
{
link(Out,1311481:doWork3,[(823,202)(823,188)])
Primary=[16699147,392,-112]
}
Add(LineBreak,9113953,721,175)
{
link(Out,1311481:doWork2,[])
Primary=[7341392,1631,-133]
}
Add(LineBreak,9880773,721,217)
{
link(Out,1311481:doWork4,[(834,223)(834,195)])
Primary=[5865849,-217,56]
}
Add(LineBreak,12661039,28,70)
{
Caption="проверка обновления"
link(Out,14142284:doWork2,[(283,76)(283,62)])
Primary=[5492733,364,140]
}
Add(CookieManager,904568,28,231)
{
Name="coocki"
}
Add(ChildForm,11973386,392,161)
{
}
BEGIN_SDK
Add(EditMulti,6614865,21,21)
{
WorkCount=1
Width=853
Height=424
link(doWork1,1851634:doVisible,[(28,27)(28,69)])
}
Add(ChildGroupBox,12037121,315,371)
{
}
BEGIN_SDK
Add(EditMulti,15087519,21,21)
{
WorkCount=1
Width=1049
Height=557
link(doWork1,2338499:doEvent1,[(91,27)(91,286)])
}
Add(GroupBox,7218433,273,301)
{
Width=660
Height=375
Visible=1
Point(doVisible)
Point(doBringToFront)
Point(doSendToBack)
}
Add(Edit,9114469,672,231)
{
Left=145
Top=35
Width=350
Height=35
Font=[MS Sans Serif,15,1,0,1]
Text=""
Alignment=2
}
Add(Edit,163405,399,224)
{
Left=145
Top=165
Width=350
Height=35
Font=[MS Sans Serif,15,1,0,1]
Text=""
Alignment=2
Password=0
Point(doColor)
}
Add(Edit,3760789,357,224)
{
Left=145
Top=120
Width=350
Height=35
Font=[MS Sans Serif,15,1,0,1]
Text=""
Alignment=2
Password=0
Point(doColor)
}
Add(Label,15592660,210,70)
{
Left=75
Top=40
Width=65
Height=29
Font=[MS Sans Serif,15,1,0,1]
Caption="Логин"
}
Add(Label,16537651,224,154)
{
Left=60
Top=125
Width=76
Height=28
Font=[MS Sans Serif,14,1,0,1]
Caption="Пароль"
}
Add(Button,16619967,273,378)
{
Left=205
Top=250
Width=245
Height=40
Font=[MS Sans Serif,15,1,0,1]
Caption="Регистрация"
link(onClick,5463111:doCompare,[])
}
Add(Label,4095235,42,322)
{
Left=15
Top=340
Width=93
Height=24
Font=[MS Sans Serif,12,1,0,1]
Caption="<< НАЗАД"
Underline=0
link(onClick,16254698:doEvent1,[])
}
Add(Hub,16254698,98,322)
{
InCount=2
link(onEvent1,11634768:doWork1,[(136,328)(136,279)])
link(onEvent2,7218433:doSendToBack,[(192,335)(192,321)])
}
Add(ChanelToIndex,11634768,161,273)
{
link(onIndex,7218433:doVisible,[(233,279)(233,307)])
}
Add(Hub,2338499,105,280)
{
link(onEvent1,11634768:doWork2,[])
link(onEvent2,7218433:doBringToFront,[(196,293)(196,314)])
}
Add(If_else,5463111,378,378)
{
link(onTrue,4684963:doStrCatDlm,[])
link(onFalse,5461123:doWork1,[(444,391)(444,475)])
link(Op1,3760789:Text,[(384,320)(363,320)])
link(Op2,807781:Var2,[])
}
Add(FormatStr,8483375,672,378)
{
Mask="https://labdev.ml/api/api.php?action=reg&login=%1&passw=%2"
Point(FString)
link(onFString,3779418:doLoadString,[])
link(Str1,9114469:Text,[])
link(Str2,5065709:Value,[(685,351)(636,351)(636,433)(587,433)])
}
Add(HTTPClient,3779418,763,378)
{
CookieManager="parent.parent.coocki"
Point(PostData)
link(URL,8483375:FString,[(769,366)(723,366)(723,422)(678,422)])
link(onFinish,9993490:doCase,[])
}
Add(GetDataEx,807781,385,336)
{
link(Data,163405:Text,[(391,320)(405,320)])
}
Add(Label,9508140,756,462)
{
Left=240
Top=210
Width=171
Height=17
Font=[MS Sans Serif,10,1,255,1]
Visible=1
Caption="Пароли не совпадают"
Alignment=2
Point(doVisible)
}
Add(MultiElement,5461123,553,469)
{
link(onEvent1,9508140:doVisible,[])
}
BEGIN_SDK
Add(EditMulti,12753647,21,21)
{
EventCount=1
WorkCount=1
Width=692
Height=592
link(doWork1,4874735:doEvent1,[(217,27)(217,132)])
}
Add(ChanelToIndex,1676343,413,119)
{
link(onIndex,12753647:onEvent1,[(660,125)(660,27)])
}
Add(Timer,12534243,336,224)
{
Interval=2000
Enable=1
AutoStop=1
link(onTimer,1676343:doWork1,[(390,230)(390,125)])
}
Add(Hub,4874735,266,126)
{
link(onEvent1,1676343:doWork2,[])
link(onEvent2,12534243:doTimer,[(315,139)(315,230)])
}
END_SDK
Add(Label,5207826,875,112)
{
Left=270
Top=80
Width=95
Height=20
Font=[MS Sans Serif,10,1,255,1]
Visible=1
Caption="Логин занят"
Alignment=2
Point(doVisible)
}
Add(MultiElement,16576985,819,119)
{
link(onEvent1,5207826:doVisible,[])
}
BEGIN_SDK
Add(EditMulti,16039975,21,21)
{
EventCount=1
WorkCount=1
Width=692
Height=592
link(doWork1,415422:doEvent1,[(217,27)(217,132)])
}
Add(ChanelToIndex,10689356,413,119)
{
link(onIndex,16039975:onEvent1,[(660,125)(660,27)])
}
Add(Timer,8291756,336,224)
{
Interval=2000
Enable=1
AutoStop=1
link(onTimer,10689356:doWork1,[(390,230)(390,125)])
}
Add(Hub,415422,266,126)
{
link(onEvent1,10689356:doWork2,[])
link(onEvent2,8291756:doTimer,[(315,139)(315,230)])
}
END_SDK
Add(Message,1437214,980,469)
{
Message="Вы успешно прошли регистрацию"
Caption="Регистрация"
}
Add(Case,9993490,840,385)
{
Value=String(REG_ok)
link(onNextCase,4102711:In,[])
link(onTrue,2078740:doEvent1,[(902,398)(902,475)])
}
Add(LineBreak,9918438,763,119)
{
link(Out,16576985:doWork1,[])
Primary=[4102711,203,266]
}
Add(Hub,2078740,910,469)
{
link(onEvent1,1437214:doMessage,[])
link(onEvent2,7996367:In,[(931,482)(931,517)])
}
Add(LineBreak,6612119,42,371)
{
link(Out,16254698:doEvent2,[(87,377)(87,335)])
Primary=[7996367,896,140]
}
Add(Hashsum,6605340,525,378)
{
link(onResult,5065709:doValue,[])
link(Data,4684963:Result,[(531,366)(510,366)(510,426)(468,426)])
}
Add(Memory,5065709,581,378)
{
link(onData,8483375:doString,[])
}
Add(StrCatDelim,4684963,462,378)
{
Delimiter="\"
Str1="x1sdiNenEjdQ"
link(onStrCatDlm,6605340:doHashsum,[])
link(Str1,16136971:Value,[])
link(Str2,807781:Var3,[(475,341)])
}
Add(Memory,16136971,462,273)
{
Default=String(x1sdiNenEjdQ)
}
END_SDK
Add(MainForm,1851634,70,35)
{
Left=35
Top=105
Width=668
Height=438
Visible=1
Caption="Настройки"
BorderStyle=3
Position=1
Point(doVisible)
}
Add(ChildGroupBox,8044443,203,371)
{
link(onEvent1,12037121:doWork1,[])
}
BEGIN_SDK
Add(EditMulti,14286663,21,21)
{
EventCount=2
WorkCount=1
Width=1385
Height=578
link(doWork1,9500661:In,[])
}
Add(GroupBox,7267663,56,56)
{
Left=10
Top=20
Width=240
Height=171
Caption="Авторизация"
}
Add(Edit,614345,455,42)
{
Left=80
Top=20
Width=145
Text=""
}
Add(Label,14688305,147,56)
{
Left=15
Top=25
Width=38
Height=17
Caption="Логин:"
}
Add(Edit,11931601,875,35)
{
Left=80
Top=45
Width=145
Text=""
Password=0
}
Add(Label,3731925,203,56)
{
Left=15
Top=50
Width=45
Height=17
Caption="Пароль:"
}
Add(HTTPClient,5435225,434,329)
{
Method=1
CookieManager="parent.parent.coocki"
Point(PostData)
link(URL,1594050:GetData,[])
link(onFinish,3362946:doWork1,[])
}
Add(FormatStr,3576882,504,259)
{
DataCount=1
Mask="http://labdev.ml/api/api.php?action=auth&%1"
link(onFString,9567034:doCharset,[])
link(Str1,6196290:Var2,[])
}
Add(EventFromData,1594050,434,259)
{
link(onEvent,3576882:doString,[])
}
Add(Charset,9567034,623,259)
{
Type=6
link(onCharset,1594050:doData,[(668,265)(668,227)(422,227)(422,265)])
}
Add(Label,16221126,98,434)
{
Left=10
Top=140
Width=69
Height=17
Caption="Регистрация"
Underline=0
link(onClick,2092998:In,[])
}
Add(Button,7004495,140,329)
{
Left=140
Top=135
Width=75
Caption="Проверка"
link(onClick,2444838:doEvent1,[])
}
Add(FormatStr,2358365,455,119)
{
Mask="login=%1&passw=%2"
link(onFString,14717093:doData,[])
link(Str1,9886339:Var2,[])
link(Str2,12206786:Value,[(468,100)(790,100)(790,163)(951,163)])
}
Add(EventFromData,14717093,504,119)
{
link(onEvent,7229491:doStrCatDlm,[])
}
Add(MultiElement,6116112,896,273)
{
link(onEvent1,12498854:In,[])
link(onEvent2,9303007:In,[(961,286)(961,300)])
link(Data1,6196290:Var3,[(902,194)])
link(onEvent3,1561457:In,[(949,293)(949,321)])
}
BEGIN_SDK
Add(EditMulti,2902401,21,21)
{
EventCount=3
WorkCount=1
DataCount=1
Width=895
Height=473
link(doWork1,2392617:In,[(101,27)(101,62)])
}
Add(MultiStrData,16533884,560,259)
{
Char="&"
link(onPart1,11738531:doSplit,[(646,265)(646,237)])
link(onPart2,244227:doSplit,[(646,272)(646,286)])
}
Add(MultiStrData,11738531,700,231)
{
Char="="
link(onPart2,2902401:onEvent1,[(785,244)(785,27)])
}
Add(MultiStrData,244227,700,280)
{
Char="="
link(onPart2,2902401:onEvent2,[(802,293)(802,34)])
}
Add(Ini,15690211,280,259)
{
FileName="setings.ini"
Section="general"
Key="auth"
Type=1
link(onResult,13714987:doConvert,[])
link(Value,11966206:GetData,[])
}
Add(LineBreak,3134822,147,343)
{
link(Out,15690211:doWrite,[(229,349)(229,272)])
Primary=[2392617,-7,-287]
}
Add(Timer,8286070,140,259)
{
Interval=1
AutoStop=1
link(onTimer,6417966:doEvent1,[])
}
Add(EnCrypt,16607341,364,189)
{
Key="general"
link(onEnCrypt,9493174:doConvert,[])
link(Data,2902401:Data1,[(370,105)(27,105)])
link(Key,9738917:getVar,[])
}
Add(Memory,16710217,679,63)
{
Default=String(general)
}
Add(DeCrypt,8316386,504,259)
{
link(onDeCrypt,16533884:doSplit,[])
link(Key,13830073:getVar,[])
}
Add(EventFromData,11966206,301,189)
{
link(onEvent,16607341:doEnCrypt,[])
}
Add(LineBreakEx,9738917,371,126)
{
Caption="name"
Type=2
}
Add(LineBreakEx,1000356,679,119)
{
Caption="name"
Type=3
link(_Data,16710217:Value,[])
}
Add(LineBreakEx,13830073,511,224)
{
Caption="name"
Type=2
}
Add(StreamConvertor,9493174,420,189)
{
Mode=2
link(onResult,11966206:doData,[(464,195)(464,183)(289,183)(289,195)])
}
Add(StreamConvertor,13714987,455,259)
{
Mode=3
link(onResult,8316386:doDeCrypt,[])
}
Add(Message,8590988,693,427)
{
}
Add(Hub,6417966,189,259)
{
link(onEvent1,15690211:doRead,[])
link(onEvent2,2902401:onEvent3,[(559,272)(559,41)])
}
END_SDK
Add(LineBreak,15624874,399,42)
{
link(Out,614345:doText,[])
Primary=[12498854,595,231]
}
Add(LineBreak,8086684,784,35)
{
link(Out,11931601:doText,[])
Primary=[9303007,210,259]
}
Add(LineBreak,6537489,833,273)
{
link(Out,6116112:doWork1,[])
Primary=[9500661,-798,-252]
}
Add(GetDataEx,6196290,504,189)
{
link(Data,14717093:GetData,[])
}
Add(LineBreak,4874892,1344,35)
{
link(Out,14286663:onEvent1,[(1401,41)(1401,27)])
Primary=[2092998,-1204,399]
}
Add(Hub,2444838,371,329)
{
InCount=2
OutCount=1
link(onEvent1,5435225:doLoadString,[])
}
Add(LineBreak,7108906,231,350)
{
link(Out,10001476:doStart,[])
Primary=[1561457,756,-35]
}
Add(MultiElement,3362946,560,336)
{
link(Data1,10773704:Var,[])
link(onEvent1,14286663:onEvent2,[(1183,342)(1183,34)])
}
BEGIN_SDK
Add(EditMulti,16449054,21,21)
{
EventCount=1
WorkCount=1
DataCount=1
Width=636
Height=382
link(doWork1,9855025:doCase,[(46,27)(46,111)])
}
Add(Case,9855025,98,105)
{
Value=Integer(200)
link(onNextCase,15003290:doWork1,[(230,111)(230,160)])
link(onTrue,9794699:doEvent1,[])
}
Add(ChanelToIndex,15003290,294,154)
{
link(onIndex,6668111:doValue,[])
}
Add(GlobalVar,6668111,378,154)
{
Name="AUTH"
}
Add(Hub,9794699,161,112)
{
link(onEvent1,13846425:doData,[])
link(onEvent2,15003290:doWork2,[(224,125)(224,167)])
}
Add(GlobalVar,15429667,378,112)
{
Name="USER"
}
Add(DoData,13846425,294,112)
{
link(onEventData,15429667:doValue,[])
link(Data,16449054:Data1,[(300,94)(27,94)])
}
END_SDK
Add(GetDataEx,9886339,455,84)
{
link(Data,614345:Text,[])
}
Add(LineBreak,2462086,413,98)
{
Type=1
link(Data,9886339:Var1,[(419,89)])
Primary=[10773704,147,210]
}
Add(Thread,10001476,273,350)
{
FastStop=0
link(onExec,2444838:doEvent2,[(316,356)(316,342)])
}
Add(Hashsum,12102409,889,119)
{
link(onResult,12206786:doValue,[])
link(Data,7229491:Result,[(895,107)(874,107)(874,167)(832,167)])
}
Add(Memory,12206786,945,119)
{
link(onData,2358365:doString,[(1000,125)(1000,180)(443,180)(443,125)])
}
Add(StrCatDelim,7229491,826,119)
{
Delimiter="\"
Str1="x1sdiNenEjdQ"
link(onStrCatDlm,12102409:doHashsum,[])
link(Str1,11818382:Value,[])
link(Str2,11931601:Text,[(839,100)(881,100)])
}
Add(Memory,11818382,826,56)
{
Default=String(x1sdiNenEjdQ)
}
END_SDK
Add(Button,2048424,49,371)
{
Left=535
Top=380
Width=115
Caption="Сохранить"
link(onClick,4350032:doEvent1,[])
}
Add(Hub,4350032,133,371)
{
link(onEvent1,8044443:doWork1,[])
}
END_SDK
Add(MultiElement,5861183,84,98)
{
}
BEGIN_SDK
Add(EditMulti,14612283,21,21)
{
Width=482
Height=319
}
END_SDK
Add(LineBreak,13212526,28,28)
{
link(Out,2953706:doCaption,[])
Primary=[5331724,399,28]
}
Add(Message,2981577,399,560)
{
}



Пожалуйста протестируйте функцию регистрации авторизации и привата у кого как работает

Редактировалось 2 раз(а), последний 2022-10-11 01:35:51
карма: 0

0
Ответов: 5179
Рейтинг: 577
#48: 2022-10-12 21:04:11 ЛС | профиль | цитата
hin4, ну ведь и ежу понятно что спустя 4 месяца халявы не переподает, и это то на что ты был способен
Может я скажу прямо что то омерзительное, но то именно так.
Если вы связываете свою жизнь с программированием то HiAsm это костыли, (которые дают на временное использование) потому надо знать, когда их нужно вернуть обратно.
Во всяком случае других доказательств тут почти не видел.
Если бы у тебя возникло желание сделать облако для схемотехнических творений сообщества я бы тебя подержал, но не нужно искать хитровыебанных путей для присвоения себе интеллектуальной собственности. Навряд ли тебе понять из каких стадий и какими трудо-часами + семейными обстоятельствами эта халява (по вашему) рождается на свет, так что пошёл на хуй! со своим тестированием.
з.ы привет дяде славе

--- Добавлено в 2022-10-12 21:35:45

sla8a А по существу
Мне то по фигу твои красные штаны, говори что хотел. Делом то своим пока ничего и не доказал
Мозг так и некогда включить получается

Редактировалось 2 раз(а), последний 2022-10-12 21:35:45
карма: 4
-1
Голосовали:sla8a
Ответов: 2092
Рейтинг: 660
#49: 2022-10-12 22:14:23 ЛС | профиль | цитата
andrestudio,
вам известно что мат на форуме запрещён. К "творению" ТС моя оценка отношения не имеет.
карма: 10

0
Ответов: 194
Рейтинг: 4
#50: 2022-10-12 23:28:15 ЛС | профиль | цитата

andrestudio писал(а):
Если вы связываете свою жизнь с программированием то HiAsm это костыли, (которые дают на временное использование)


я согласен, именно с Hiasma я и начал свой путь программиста) Спасибо Вам всем!

Cейчас благодаря этому я работаю в коммерческой компании разработчиком.(пишу на Python, php, недавно начал c# изучать)

Я до сих пор люблю Hiasm ( как будто что-то родной ) и собираю для себя разные прототипы


andrestudio писал(а):
Если бы у тебя возникло желание сделать облако для схемотехнических творений сообщества я бы тебя подержал


Я не против! andrestudio, давай сделаем для сообщества один репозиторий или облако или общую папку, как будет удобнее это называть.
Хочешь давай возьмём нейтральный хост, хранилище, облако, пусть все будет храниться хоть у тебя дома на компе))) мне лично без разницы где хранить.


этот проект я начал делать не для того чтобы воровать интеллектуальную собственность мне это не нужно, хотя вы вряд-ли мне поверите.
Это все для того чтобы немного оживить сообщество делать вместе какой то проект реализованный в HIAsme которым будем пользоваться.

В общем, сделаю как хотел программку, соберу в одно место все что найду на форуме, а там дальше кому нужно будет пользуйтесь на здоровье)

Редактировалось 2 раз(а), последний 2022-10-13 09:17:21
карма: 0

0
Ответов: 2092
Рейтинг: 660
#51: 2022-10-13 06:32:28 ЛС | профиль | цитата
hin4 писал(а):
sla8a писал(а):
Если вы связываете свою жизнь с программированием то HiAsm это костыли, (которые дают на временное использование)
я этого не писал

Редактировалось 1 раз(а), последний 2022-10-13 06:32:55
карма: 10

0
Ответов: 5179
Рейтинг: 577
#52: 2022-10-13 16:49:54 ЛС | профиль | цитата
hin4 писал(а):
Я не против! andrestudio, давай сделаем для сообщества один репозиторий или облако или общую папку, как будет удобнее это называть.
Хочешь давай возьмём нейтральный хост, хранилище, облако, пусть все будет храниться хоть у тебя дома на компе))) мне лично без разницы где хранить.

Во первых я не собираюсь наступать на грабли ради такого сообщества. (этап пройден, время утрачено, результата нет)
Во вторых, у каждой схемы есть автор. Значит он правообладатель сей собственности. И если он выкладывал её на этот ресурс добровольно то по появление его на любом другом останется под вопросом. (так что лучше давать ссылку на первоисточник, в котором автор будет хоть как то мотивирован признательностью и благодарению. Либо его схема получит дальнейшее развитие)
В третьих (смотрим пункт первый ), не располагаю ни желанием ни временем более развивать сеё болото. (так как всё что я делаю ровным счётом коту под хвост)

з.ы sla8a, а ты жлоб не хуже nesco . Что то я и не могу вспомнить даже когда ты оценивал мои труды коллега , зато как тебя мой мат затрагивает (ты чё их тут только в моих топах заметил мудрец бля с двойными стандартами) Как был ты плебеем так им и остался.
Не с такими коллегами мне не по пути однозначно
карма: 4
0
Разработчик
Ответов: 4695
Рейтинг: 425
#53: 2022-10-13 21:24:25 ЛС | профиль | цитата
andrestudio, не пойму, ты всегда что ли таким токсиком был? Или что-то возрастное началось? Вроде казался в меру адекватным человеком раньше. А нафига ты тогда продолжаешь сидеть на этом форуме, если тебе тут большинство актива так противны? Шел бы своей дорогой, совсем не надо кушать кактус. Подход hin4, конечно, не фонтан, но по крайней мере он адекватно реагирует даже на откровенную травлю с твоей стороны.

hin4, если позволишь пару советов от мимопрохожего:
1. Забей на этого перца.
2. Лучше почитай про PDO и prepared statements. То, как ты сейчас передаешь аргументы в SQL строку - полная свобода для любителей SQL-injection (погугли, если не в курсе что это).
3. Пароли лучше никогда не хранить в открытом виде в БД. Особенно в таком приложении, как у тебя сейчас. Кажется, сейчас ломать sql-инъекциями даже школьник может, и уведет всю твою базу паролей, если она вдруг наберется.
карма: 10
0
Ответов: 5179
Рейтинг: 577
#54: 2022-10-14 06:36:58 ЛС | профиль | цитата
Assasin, раз уж на ты тогда отвечу.
В отличии от тебя (когда ты в коммерцию свалил) я был здесь всегда и поддерживал ресурс всем чем мог на протяжении долгих лет.
Работая в гос. структуре занимался защитой персональных данных. А теперь задайся вопросом: "как я должен реагировать на это дырявое ведро в котором так сказать ты ему (hin4) ещё и помогаешь дырки затыкать"
Вы молоды и амбициозны (и это хорошо, это двигает процесс) но про кактус это уже перебор.
карма: 4
0
Ответов: 194
Рейтинг: 4
#55: 2022-10-14 12:52:38 ЛС | профиль | цитата
Assasin, спасибо
Assasin писал(а):
Лучше почитай про PDO и prepared statements

Переведу все PDO

То, как ты сейчас передаешь аргументы в SQL строку - полная свобода для любителей SQL-injection (погугли, если не в курсе что это).

Думаю такие вещи тоже будут полезны новичкам)))

Делаем пентест авторизации методом SQL-injection

у меня есть функция которую я использую dataprotect()
она как раз и сделана для того чтобы проверять входные данные и убирать всякую гадость
например:
буду использовать полученные данные без обработки в функции dataprotect()

было так
$authPassw = dataprotect($_GET['passw']);

стало так

$authPassw = $_GET['passw'];


приложу кусочек кода с которым будем работать
elseif ($action=='auth' AND $authLogin!="" AND $authPassw!="")
{
$user_arr=mysql_fetch_array(mysql_query("SELECT * FROM `user` WHERE `name`='$authLogin' AND `pass`='$authPassw'"));
if($user_arr[0]!="")
{

define("auth",true);
echo 'succes';
}
else
{
define("auth",false);
echo'falled';
}
}

Вот API для авторизации, делаем проверку добавляем вместо значения одинарную кавычку вот так passw='
https://labdev.ml/api/api.php?action=auth&login=admin&passw='

Соответственно получаем ошибку MySql такого типа
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in labdev.ml/api/api.php on line 87
falled

Отлично! значит защиты нет, идем дальше:

Встраиваем наше новое условие

https://labdev.ml/api/api.php?action=auth&login=admin&passw=' OR '1'='1

и запрос в MySQL у нас получается такой

SELECT * FROM `user` WHERE `name`='$authLogin' AND `pass`='' OR '1'='1'

Круто, не зная пароля мы получаем авторизацию
+ бонусом
весь список юзеров что есть у нас в таблице)))




ответ: succes


теперь возвращаю все как было с использованием функции dataprotect()

делаю запрос
https://labdev.ml/api/api.php?action=auth&login=admin&passw=' OR '1'='1

результат работы функции dataprotect($_GET['passw'])
\'OR\'1\'=\'1\'

получаем ответ: falled

Ура защита от SQL Injection сработала!!!


Отправляю на API уже хешированный пароль

в приложении я использую такой принцип, отправляю на API уже хешированный пароль

Add(FormatStr,3576882,504,259)
{
DataCount=1
Mask="http://labdev.ml/api/api.php?action=auth&%1"
link(onFString,9567034:doCharset,[])
link(Str1,14717093:GetData,[])
}
Add(EventFromData,1594050,434,259)
{
link(onEvent,3576882:doString,[])
}
Add(Charset,9567034,560,259)
{
Type=6
link(onCharset,1594050:doData,[(619,265)(619,227)(422,227)(422,265)])
}
Add(FormatStr,2358365,455,119)
{
Mask="login=%1&passw=%2"
link(onFString,14717093:doData,[])
link(Str1,13262524:getVar,[])
link(Str2,7507619:Var,[])
}
Add(EventFromData,14717093,504,119)
{
link(onEvent,7229491:doStrCatDlm,[])
}
Add(Hashsum,12102409,616,119)
{
link(onResult,12206786:doValue,[])
link(Data,7229491:Result,[(622,107)(601,107)(601,167)(559,167)])
}
Add(Memory,12206786,665,119)
{
link(onData,2358365:doString,[(719,125)(719,189)(443,189)(443,125)])
}
Add(StrCatDelim,7229491,553,119)
{
Delimiter="\"
Str1="x1sdiNenEjdQ"
link(onStrCatDlm,12102409:doHashsum,[])
link(Str1,11818382:Value,[])
link(Str2,1790314:getVar,[])
}
Add(Memory,11818382,553,49)
{
Default=String(x1sdiNenEjdQ)
}
Add(LineBreakEx,13262524,455,63)
{
Caption="login"
Type=2
}
Add(LineBreakEx,1790314,560,84)
{
Caption="pass"
Type=2
}
Add(LineBreak,442454,665,161)
{
Type=1
link(Data,12206786:Value,[])
Primary=[7507619,-203,-77]
}


Редактировалось 8 раз(а), последний 2022-10-14 13:42:35
карма: 0

0
Разработчик
Ответов: 4695
Рейтинг: 425
#56: 2022-10-15 01:15:57 ЛС | профиль | цитата
andrestudio писал(а):
В отличии от тебя (когда ты в коммерцию свалил) я был здесь всегда и поддерживал ресурс всем чем мог на протяжении долгих лет.

Да мало ли кто куда свалил, при чем тут это вообще? Что было, то прошло, не думаю, что кто-то из нас жалеет о своем выборе.
andrestudio писал(а):
А теперь задайся вопросом: "как я должен реагировать на это дырявое ведро в котором так сказать ты ему (hin4) ещё и помогаешь дырки затыкать"

Никак, пройти мимо. У меня на глазах выросло достаточно хороших разработчиков из таких же "дырявых ведер", как ты выражаешься. Не ошибается только тот, кто ничего не делает. А со стороны пока твои действия выглядят все-таки как поедание кактуса, и разрбасывание иголок заодно вокруг.
hin4 писал(а):
в приложении я использую такой принцип, отправляю на API уже хешированный пароль

Это на самом деле ничем не отличается от обычного пароля. Просто теперь паролем является сам хэш, который сейчас уже относительно просто подвергается реверсу в исходный пароль. Хранить надо хотя бы хэш с солью, и то вроде уже на что-то более продвинутое перешли.

Редактировалось 1 раз(а), последний 2022-10-15 01:16:53
карма: 10
0
Ответов: 194
Рейтинг: 4
#57: 2022-10-16 12:20:42 ЛС | профиль | цитата
Assasin писал(а):
Это на самом деле ничем не отличается от обычного пароля. Просто теперь паролем является сам хэш, который сейчас уже относительно просто подвергается реверсу в исходный пароль. Хранить надо хотя бы хэш с солью, и то вроде уже на что-то более продвинутое перешли.


Assasin, Спасибо, доработал и сделал функцию засолки паролей, немного подправил регистрацию и авторизацию

Функция засолки


function saltPass($pass)
{
$salt='';
$newSaltPass = md5($salt . $pass);
return $newSaltPass;
}

Теперь пароль в базе не храниться в чистом виде вот пример
Регистрация и авторизация


if($action=='reg' AND $authLogin!="" AND $authPassw!="")
{
$user_arr=mysql_fetch_array(mysql_query("SELECT * FROM `user` WHERE `name`='$authLogin'"));
if($user_arr[0]!="")
{
echo'REG_falled';
}
else
{
$query_array = mysql_query("INSERT INTO `user` (`name`, `pass`) VALUES ('$authLogin', '" . saltPass($authPassw) . "')");
echo'REG_ok';
}
}
elseif ($action=='auth' AND $authLogin!="" AND $authPassw!="")
{

$user_arr=mysql_fetch_array(mysql_query("SELECT * FROM `user` WHERE `name`='$authLogin' AND `pass`='" . saltPass($authPassw) . "'"));
if($user_arr[0]!="")
{
define("auth",true);
echo 'secces';
}
else
{
define("auth",false);
echo'falled';
}
}
карма: 0

0
Ответов: 1731
Рейтинг: 68
#58: 2022-10-25 22:38:27 ЛС | профиль | цитата
Прошу меня извинить, я тут мимо проходил, для паролей лучше использовать функции password_hash и password_verify.
карма: 1

0
Ответов: 194
Рейтинг: 4
#59: 2022-10-26 23:03:46 ЛС | профиль | цитата
Cosinus, спасибо большое я подправлю исходники и выложу)))

Выкладываю исходники, сделал некоторые обновления, также архив с исходником закрепил в шапке



Add(MainForm,2953706,91,28)
{
Width=840
Height=764
Caption="HiAsm Component Manager"
BorderStyle=1
Icon=[ZIP610D000078DAC557FB5713D71A3D33196122AF01CB43413208283E40B02A284206A12852687429A0148CDAFA42252A0A3E6026A00405215405ADA0A9D0EAF505D62A084A22A22254A3B5E2EB6A0212A1460503282321B927D87BFF807B7FB833EBAC99B5CFFECE7CE7ACB3CFFE060004DEA60B012488B402C001BEEF1144CFB11A3E6A387CB58A981BB6000C7110809BC1C7B79B4EAE840FAE68EEE2CD00588C303504FC58E20480E5604458C8C2B492B7A5511B9C9BEDC36B0FC7353630CB42ADAF59E6A4D52F8BB9BE11DCBE87BE89FA6EDA74A9983633FB2DBB810ACF8C21EF9CD9633EEF2127AADF4D99A3AF39F5EEAA2A08BDDBF0C3A45FEB064AC70E48829EAB5415801CB7BF8F03402001A8E5FF55A3C66CAD7DFEF2E1DABE4D473BAA1E4C4DB0AF73AD3E658C91C7D2373F6DAC0F2028F4C3C060C4F88FA717F43EAB1F34B65E32AC1B1CADBD65351802DAD6553D1BF7BDD6F00EB961B4D7A406AF9F7E64554B01EF5326D835232828A1780A6D78A2A36F757CA2E3F8369DE628A11118E8C95E467F434FEF5F0FE4717C5E270725CA97B1854C004EE5596BE6A0F524709B59C4E3E66482302741860789A3845008094E38196065DD37981810E605503CEF5AD1B1587439C9C802BCF8760440B086F96C212522285F17188E992158FD460808088A400F400043305200015F82D96C59D03379770F8632C06584A85939512C24C109DCC4024840D849FD5CC50C5C313213A6931F02F2091FBE9D68382A9A9DA973472424308F1BFDFA88B1FFC4525F2990E0A50CC83BFF54A7A4032E1BB52AE336639BBEEC2096E6A9069830670B6BFC5030B09442B78580F0B4F17CBB462BD457110FD3482414C22B30D1760CB16CD801816042411E8729B4A38825B90402AE04B5EAB8890190148FED70058271D9880930A7A724637DF2208FDB990946952DC9F09071D1D53926822B2EB3D5F67D4A995253FEF1C69381651AFE3C993EEA74E41EED92F88EB328BA5A71E3C68DB229878A1737755168F1963B6737C70264AA6CE7D5BB311949DC3FA755DD4D40B04AE9DBAD03E596ED513775CE91EA5FCE5DDD62B81F022CC62FED086DE6A74954599EC2CA159567060F7FC60F77B0512DDEF2BE89E29A0F2DEC1C73645282624DCD2FFA9576D597EEF267E2C2BFD0E807A335FEFB15A54301918EA25DA0A4AECB781E04E7D9291CB5FAB22C50E44326236916841356496C457F3C78AC94B1A28045ABAFBABB78704E8065B50BEC88C6DAC2648D2463269AE07B029D330C99CAE48A6F0677EDC915FF2806A3AE6914D7D59BD4D924933D8B36E895DF53C669DFA2657CA241285121C144B91F2EF37B6D27D32F31ADDF3C46A71583993F8D459A2AB86867CE5ECC4BEE83CBBEBCEF49B1174300276702ECB0419DC2A672050697723BC586AA1D57969C4DBCDBA3BF64F97451AB567CFA5372DF8EBE55DB0707BDEC04DEF22D06D708376630835E509FBE28B32E5D41BC68397656FEE0E5F9B46266391BA4E9B2DA86FC39F1E6DEE7AAC19465AFD8072B2F6C6B79E9B7EDA0A9F35517770DE2F2EE6155BB5EAFEC3376BE7F7C25823AAF3FDAF331F30C18F5E2E48567CCF64246C42674742111484A7564C519CC8BDEC06DE4CA5E7AD704C9170EA6DB79DDA8AA29AF7A14A9CD61E3C77832F9ADA93CF4742C6A16F654D71C4985034E3DDCCE8FA2DD680B0FCCD777A7875A74E7808E179586C45DA58F6236B6E193F2961BDCB9DE80D363E3BCCE8DEBB59E950455CDDF65CF64751752EF749173C972E0B29BBFF69E77629B8F67DB4FC1A9ECC7B125C0255B958EA375768D959A6229E5850458C33DEB43C77177D952CC50A4E4008523D870FE059833C5AD760481D766CF654A659C9E6FDC19E6152FC6728E9DB039B972BA0E25707E166489B8D55F3082FEB2BD63B64C98C48E736084FDCF250AF541109F312769AC3B68EDAEB5B9467105199224C744C0ADEF0AC6381E143BBA62591CD25D18E7E64156F142FD8C22B4728AF17DA89F92DF94EEB5D29CDBB89E3DD863E30EB4DD05BC5CEF00CCCA938CCFD0E89F5B2822FB9B42D5EC4DA7F6AE50742CDAED50A723D2AE4C7360070A152224CD6AE9367CD67397FDFAF408E149704552118CB554DD1A4BD3764E6319AFD6552EA84E79C448206116FC6784947EA1AFB520D7F61FCE66F43DAF548BC0FDEBCA2958FB317FE30654C0E55FFFCCC029EF9D7D6EA4F10AEBEFC8AC859FA70CDB7A922780BEEE4592A1B8AFC1DF5AEE3169B9952719D27204D47271A97E9A2E790C939B9B3B47234E58C9555D23BE6D9956E513C4DE52CAF780A647DA75ADF13621099BB56DFB69BDDED14296B83EC6F55ED4CDEE7D922145B3B7F95B0DB9C304757725D950D3CA2C8942784BB078E0CB24444ABF8101C2A31DFED7EB53576668BD431276FC1B95CD9226D5FB3B67267D06E271757EF79D6CF55D3168E48B0C7E98BA375D5560AEBE7E12E9FF6136685779D32FD0868BB4E6E967C21B2CCF39381029B5F5A3AD39D32DE8C7CD75EE2E66BDA17FEA67D87AC9581BD11869D69BB20EE53F147ED73B160A751F374E10EDCE0DF92CF146D5831B94BD8FF968B362CE7E7945B358EEA736F4CA8330A8F07AA144893CE2E1B30DEF75C98642E1EB50D917C176A4D18737FCD44C6C6DAB3BA2EBFA705EBD3654E66482CFF99BCD1F893EEC2E046CAA7C5A5CAF9B006E59A9517A242B7C34DA67826D6A83D27E736B244CEC6568CE54EC546BD7D6DA5BA71FBED6CC522637AB6A26EC0C122D329ECDA83058B249AF927D181C8E6DC890F3C76B3216196EBEE5B8DE5A3FF8E453607B45A17C2292E68ADEE8D6DAAF3059E589476B8FF24D46D9CE0BA48BD1EE006C6F2BEF3FCA278D87D85A07E6849BC052DEBA6F666D50B8AE4AD59A3401D8C0F13324B5BD4DF3283FA300EDDF208CF2F1BC58537E010A3EBFAAF3833E66B7DEDD42B6FCA2A72FF94711FD78C538633B3A770A56D8AC1A9C21A537213936E2D96C2DDF51F78D0FB8EF26DD619CC5751D9377485E0E1AB2A935CDFC37970B4D2C4BF126E83DDDBA5A47456AD686F776A9E36D6DFA2E3BA7C030669EC23B24DBDB58D9F1B5E1F630621D3EC564B493682F041B99F93B34A66B4DBC687057C2E83A8AA86A5D6C3D57F1175139E20D7D3BE528D5A88B9D3D5CF184A8D4F8C71DB1640BC833A0C412D128BDC5F73415BB1C14A95F15CEB48F39A97F9E7BFC90716E3D9C49A5A7B0B96BB5E98CDAB70B98D9209AD4EAADC3D978D29D09091D927ABBFEACD48EEA8073E19DEE2F8CB3EDA90A8B06A5D9D486665A2FF8BDA760136FEFC8F17492C7B07B69F877108B5BE721FD556FBF1859384BE5743D923DE8A99E414F9E6B216B7BDF12F7A2A9621252C0EE989D08ECBFF1BFD5BB24E37B6E5A93CA793CD66DA57DB662C764F9AFD8ACF6AEC28568A5C73CF6A127909BFDDF7D7AFBC5C5231B8FE469FC8B1451093B868CD46101947411DD6D2D378F84921642497FC6A7287B8E9C89CFD0C6A25BDE9EED29B046E36A98072951EC1D0FD1FA523A8550FC31ACE497C0A6E4B1E2C0BF1D598D2301E92AE30A64A7932733F96F6BA75EC0C391F4C5856E6FB0A913F9818833031CEA97295A270F14889C4433604709DEB0872A0C0156EA85C2E861F9C3D1D5C091B32FFDC50847CE340E3235B3592C81566D05092345F4275591A2D306F37BDC9ACAD8606B2CD1D57935D0891D7019E714B4EAED24137D3282D125658299C7C74047B6403BBF4E81E7FE7A42018E9B3C3C0B98D946A107F8E6B8909C0F2DA08701662F1320E0882B40051C82A560E5B51F68945CD4B721177A4B22C1F8B5C08ECB21C03AE09F31FF6C5FB0FC74E476EDE64B89A914D850B9DD5351C4F7C715B65C385AA91894B84D429ABA084C4D84C0EF9E30158A30A1403324209C420FA860A1382346823B2B7EAA032403B09DA6701C2771310CE788016A0B597C58BC3AE5C3CA829309D0360104BC70D22BDFC4C802E84B13230096B7D91D5C51C9528091CCB589C825FD1812D89AC1395A88C12E2712699A6C861265657075489C925AC3191C27C1FC51264216D8B54694230D4D6F23C1C64BCFDEEEDF765435B88E6DEEDAF974DD74E5191EBF7718E22194AB8E9D89391DFBF3E32A1B2FE3D0E9D452E0FC290BD89D7FF6D6B578937C52FCC7AA9F3B637757989F7B2D7FD8F5F0D8F98C125F6B0C489DFE8776C888CAF62745ADAC76BC6AFA9D8AF82A3AECDC6C61E6BF004285E29D]
Position=1
Point(onClose)
link(onCreate,1517322:doEvent1,[])
}
Add(TreeView,1445528,252,252)
{
Top=10
Width=290
Height=695
Font=[MS Sans Serif,10,1,0,1]
Strings=#6:Разное|9:Интерфэйс|8:Контролы|7:Графика|4:Окна|7:Система|8:Интернет|2:БД|5:Файлы|11:Инструменты|11:Мультимедиа|7:Строики|6:Логика|7:Массивы|6:OpenGL|9:MT потоки|5:WinCE|
LinesRoot=1
Icons=['Icon'=[ZIP5E07000078DAC5957950136714C03F8FA9B6D3AA75AC3858CB11AAA9D2AA4DAD190F08102084280801954AACADE2512DDA111D2DF568B54AEA85E08110848061B321D70642E22691C39060849858905A1397433101AD98461310E84266A8A3B5B57F74FA76DFFEF1F6BDDFBEB7EFFBDE07C008FC9A32050C3E016D0C00930100445C711398033CF641A97C0DFC1F02730BCBF8102A95A0123102F1206EE1BF0AE75F28AE10C0E63ABDE54673ABC5DA8E6177B096F6DB98B5B9F99A562BE15D781588A0E0BC0EBD68D2E9D4E68B99A6BC2D0D196BAEFEB8A6FEC076233BFF3AD760D69AEBEA2E2B2A8A38797F03911617569521EACBC86E5D4AAC3A3CFA626C948249AB488C9427D0E431F40A6A3C4A395EBB4F57A3AE919743E7397F09292DE0A0A530AC3E9F0091A939EF51B2FC437203C34BC811A5416125E4E0DC598B4EF8071DF50FCD24AE8512552AB15A2C2C7E212BDC5251724120CF8F3846FE744BC0271BA6071D98BD53B1E94A476DB7BB5BFE8B887292404E9F46DAE83F9BE54BDA1CB0E21C1D2D172AF8BCE738725EB152C25F7A323830D97B56FCD405DB4852A3B4BFBF7F60482A1A65410703E7A71248EB023E5AE93B23C66BD6175E69BCF5A850202AFAB3895061811286D882F4996BBD7CA96F7D98E407EB600FC16AB31E457E6265C72D4A0F58B0637ACA99CFE1AA920F127DFCE8E33FDEE92B2E2BC47FC530475CCC5589847159A184D8F17ED4092C76525F7F1F0E519A95E1D99121B961C159E4A08CC0F85334DB231B6E3F2C384C88F122AE9EBCBB78B34A54CA2FE27A380A01FF920C99B787E04F1F478C9B8A1864B8F3DDDFEE328A1242E0A460218B02AFA0F399A60E93274977AF9BC55E454CF66666876BA492E1158533710E696F0031C99BF4F55C8BDD8A3B43666134BA214CBD3DA4329DAA4993B65E1A7846ECDD76EACE8551C7165E2A43E402BE87A3918A353284CA9E2FD20A6E7434F73CEDC13D6D4EFB4D472BFB3A145A7B9056B56B6BC9D634C9375D8E4EFC15D220DBCED9CAFC8E96981D55A3542845420FE76783A1C9680C3E16187328B2F351E7F0476B7FD5D2CAD650ABB785576E60542E4B35AEECEDEBC5EDFBCBD3837693C8DB662CE784B5DFB656A3A887535FABB5DC684AE02DA6EC9DF71527052F1F776EBBDFB65C12C9D02C8952273034718935745DA71AB73B9E38E2CE9217EFF20FF93E70878C75A7A54529433C1C545EDE8EDDDEA364513366861D9A715C7ED0E972AE17462F534C8A55CE655646A436A4E8BAAA3D49E6D56446664DA4ECF7627008B0FE6C9BD52A1408865BDF7AEB96BA5EBA42EA473DF24EF8F1B75767872E11BDB914199DAC26B639AD9E7270D134A28CFC77234E8E893A352E45310FC32C4D26D3B3EB595F53DDD971EF48752A53348D767A6C1467349D3762896454B22AC0D5E3F294734E9DC52898462F181B9DFFFA2AD5FB65F5455D361B22163FB7355AADD6F6366C8F765D323A87C17D83CE1DC9804632A5930EC1E9DFF2B7C49E9B13034D58CA1B1B0B4FFC52BB204FC77ED4DD6D3636BCB8DF254221CEBFDBD17A42F7439A71FD3A1565B9D4275EE21D2FF361CAFC1210C267E53337553376346C840CF94E8703B3585E367F24225197DDFEF87747D57534DB9079EA664E8E8573E656CE190B7EE79E68CCCCBB72BAC972ADA7C78D592DFF38129B9B1A5D4F1EF7B8DD775AB046A3D16C3098AF5E6D369BEFDBED7D7D7D4EA7B34EAF7BC5112D431093B1E1C183FB6E97AB77485C2E97EDDE3DBD5EFF5F1F2E784FC1C0FE01F014EC052EE0031E82F100036340E5908E02FB8674C44B75D067500763303CF621CE780A82413F181862FF011788E78E],'Icon'=[ZIP5E07000078DA636060044209090610C9E0C1CEC020C6C0C0A001C4402106030688380828B0330C41D0D8D818491CF0F6F6062AC6650E50F6E6F2DAD33D2EC420A0625CE6D44733FCFF7F06681441346A0EA9E620C735D01C868606F2CC418E6B8839400474157E04D482660EB25F80ECC565C422FCE6AC9A0F721250D9DC952004E442184004148448414882E61089F09803B405C8250661E62F2AA619B2E31AD31CF2E21ACD1CB2E31ACD1CB2E31AD31CF2E21A195012D78313FC87823F0CCC38F1019CD81E27860100C5814B1B],'Icon'=[ZIP5E07000078DA636060044209090610C9E0C1CEC020C6C0C0A001C4402106030688380828B0330C0EF01F0350CB1CEC4615E346380C21CD1C98634870125E1F51680EB2620ACD4163639284C307598AA00904E30B9B391426456A2569FA99336D1A01043707C625D31C885E64F68802C524225A9B330A30F3CB3F7686FF7F98191E006B39086600E3FF0F18A06C90183B18FFFF670F67C3C580F9049B180C0300039F19E2],'Icon'=[ZIP5E07000078DAED942170E5201086F75471F7D44D649FBBB88B8C45752291B1919191B14F229158241289452291586464EAB69BBC3E7315DC9CE94CA7CBC73F6407BE212201F841A369E048787902F80500BF69520BFEC0BD7FD4F3137CD7972B19E53B49AB6C4EACCA4E667F4795A893AF7A7AD977B2A3EC15BFC3B5106699DC6D4D4E613928B9EA6182C10040F9803A8C1F29DC6A1035A2DA4AFDC548C2E95A0FBAB33340335FD6286FC52DC52ED15435B49FCDE795EE920E2E73D31A3E847949AB7283B3AD337DFD3A6620D8C80E0FD946E8644BC7B5EDADBE26C97609455EAA9ED14F5398D872010130011B619D20CC1027C8F3C902716DAA9ECEF6ADEBAEB211BAE7BA578A67D9E7F51A46701CFC0041809FEB1EE9879BE7C68F25DD08DC34B1C7356B1E96D62F9D1D407356F5209D4D2BC60983C0309E88E3B14844BF671FF562675EF5EC516292E838DA16FD807E3CD694D9EC5B20102365D5B345B327B34745C26391EC03BDC5035A94A0FFC573EEA734B4FF235B50F4917DFF883EA510F1C37C859FFF3DFF76BD01F1D33520],'Icon'=[ZIP5E07000078DAED933F0E823014C69F716074336C98B838BA39B238987002E33DDC0CB01B6F60181C8C9E82C14D2FE0E64D9E5F53FEB6141A59187C7CAF295FDB5F5F49211AE1715D122D6D1CA229112D90B06849D2173173E81F438CA8D14DD3B43FEA27888AEA0129513690388EB7E62820E8074180C9260E46DFD7C3F3B8D655A944540507934D9C7047CC2FA0A4F40F9B9B91DC343F6E64CF91908A5F590B4E1DA573AAC0C22FB7D0088D1C6595EA488835C770AE0E0E7CBD1ECBE3281C08559964735FC1B9EC6DD57E7FEE892809D3CE3721BCCA0E04530EC9B69363A9160E7601CA46EDFFD77082D5F01366CF633EF9CC8F90F9C39C928F5C21E7C871964E96936CBC9E797C01EE1B51F8],'Icon'=[ZIP5E07000078DAAD95494BC35010C7C7538FDEA4478F1E3CF80DF4E8451111454402222A8816A1D6525CEA421109B6B5A0159120222556BBB8A22D6EB814172A58F098DCF456F10BC4491EBC84F89E68EBBF693A794C7ECCFCDFA401A8C08FD309FA191A1D00550050835F5C823A20EBBAAA1DF0A31AFE282644108462B1A8BC29A8FC6B1E55281472B95C369B4DA552D168541445BF21BCC4755555F11626CA35E6420E260483412926258962494992847E413F04017308048332DB6136A8699ADE053D7E2F231F34C033A29083BD68E5897230385B766723239925D76968E86471F0581C385AE83B9CEF3D08F4ECCD09E999EE94BF2B39D999186FDFF1B5C5BDADDB9E16D9DD2C8F365BEBC1E07CC5531A4A7955AC9C8B552F13C5F396A2CC7A149D73B9E663A23041FD26CCA755D93857EB134C14E1585D251CDA206E9D95732D4D31513C0EF5CA56CFCDC63413C5EB8BDA4EEB21C0DBCD59260A133EDF5F9487F4532294090FCBEEA6958E5ACCA73B68EBEB6E2B4050B67DE10D1E1D0693630C402E364F50BC46787365FA6370EEE50582E219CB1B51CA21C1435C24285E3DBC69A7F34C388FBB4182E219CB7B70CC7A0CA39E926182E219CB7B706C9C7C3A4251D42BDE30585126E74E0F9EF7974B435939F5E589FEB59629847C4025A8E0307EFDF8A6FB4FE9BC2F809C13CB],'Icon'=[ZIP5E07000078DAB595ED4F5B551CC7CFB2174BFC03CC5EFA42170831EEC5744B96BD50F029324D34B2A156602B0F6D61646390321C1468291D4F52A02D5CA42D5DE9A05D0BA5ED6EC7C32D7DE6F689AD74A3445895B2BA38914D25CA263F2F6985B815939AF83DF9DE73F2FB7DEE372739F7E620B48F1A070FA2ED277AEF00422F2284D22853257418C5EBDB7AE900DA433A132EEC91F005ADF5BCA62E4C8AFE557BC1BD22491F972BE3F2E43C9E84CDAEA017D28B194913266CAEBD60E7CD8990CF175B5959F4FB430E874E26B388C58DACD2AEFE81E7736C466352986A056CF6E8F2F26FEB8F22CB1152ADD1F3F924866945E2A4FB99B35A57EFDD8BC39EE760CF24E1ED6C0D6B5524B7DEC92C1597957DDD2DDA79F7FAC8709B80DFD32332CF38824BDFB9F0095F671B05BB9BB80E563905EF903EC2B1861DFB43911E15E5DD6AE04BB24F7DF819AD4FA1E4370B32ABDA5E608AF69FE9483B752E3F2FAFB2AE61A8077B2C3FB1A9485F119FB9C3658B29389796D82D3EF2E78D2C20DE8599B7C191B97593D55EFCC5A18C57DF3AFEC6910F3E3AA60F1FC7BF4FFFA4E09D13475F4ECB68AA380B44F6DF70D6539CD177BE289EB38863E0FC12C87CF09680271F089A80F629AF49E0250C0CAD2D9B5CCF21D74A46677D1663EB950EBDB012C8B3BBF0D4E7C2B244CEB2BE75CBCB80702D8439B0C8017785A4BC582C57C6BBDCC1EB0687F5F5CCF7A5CA6BA1D052D42C7C061696D2E3646CAA05221C58BF0ABFE8E0A741B8C513B20A7A9523F1AE6250110D5A5E3994766DCC10088413F0CFFF80E3E4BC4EBA6AEF8FCD691F2C8F6EC4D4B02818A8640EE94DF1EED521956D72BC90C19C76796C33F6904EB66AEB5F5DD03E58DA85778ECC69F7F8ADCE79B389542BE65412DDC0EE47880D0D67BC76B8EA72AD5CAD75078254C56DF7FA1CC9E1A492CA95FCDABA7676358FC56A60300B4E9FA6973035461CA52272D66B50A922C1E05D9773CE64B28F8D5931AC8E5ED4D0DC92528E7F7A7AC1EFFFE1FEFDF5CD275EFDB859A1307777DBC492DE6F64284579A7095226FFD662214522E262D5544D4D776BBB3BB8805257B88BBE263A1A95E405D817C77369591FE7A8C74DA986B8676C8FB43960CA00F39BBF1B4EFEAA2E925FA0D7B775A69AE332689E5A0BC1990B1EFAF68FE03B39515BFE95A03DD59C79CDC0139205B72F40E81284AA61F13C5EC3BA7CA523D59C85D17EB87B0EA29DF05001310C62CD37AA4B6A046DA9E6DCD60C3EF4756CAC0C6FFC68D85CD3C1E3BEC9EAA22661EF7F38AFD909BB638AB843E001A322E696E22D8DE87FD60C3422CED63E846A29533327B21F71A81B6FC7F9BBB644EA1170EA10A084B7D796C4FCAC2D800000FD0535F47BF1],'Icon'=[ZIP5E07000078DAB5943B4B034110C7470463A1850A92CE80412C6DF41358A88DB560A38285858285450A95103B5398C24645491311348512308AF1815A04157C200A41D1604021F80C17EFD8712E6B2E977B25419C9D1986BDFDFF6E5F770065D4EC76903374D800EA01A09982BAA00578BF6C0E1B1430CC7891663D58F31455FE178E61BF066EF11634EFD1CBF59CFF1B63B18A523960BE762CFD944D6C72DF7AC2D5932B1A37E68C470C3999F172D179956CBC666D376CE409BD89EFF670CC0035B601AE4D39EBA641725EF43C3335A773EFB172E14C8B1A5D932194751C9297C0195E962194B59BFFEBD3222BCC19F2E779D66CDE2D2EA7625D62A1141E7DE1439ABD88720EC63F7A77EEF23883F379AEE2703915E164AA653B561338AF5D8C3AFCD1D6C049932FE23B8D1B6CB58AA070B89C8AAEC3987E5D15EE9001A77F56CFE172658185F7D9643ECAFE14C531DF9FD238459CD78CC4DC028E08E86248F592C4066EBFAAFD9796F727C7E1722A98247C225E20D20992AF229213D6F23EE7388ABCCAB74B055D9BE30C81E633274A755341CBEF2B676A3961356EFEBD1B58B1F2BCFF8F6C1F9880F40145DA03C2A313DEBB29FA28263C802880B35C0047D91B388007C0FD6F1355916D6F3C68FC6BB9084283083F104F1CB5],'Icon'=[ZIP5E07000078DAC5956D4FD35014C70FE1C5BE81E11DBEF4A57E02DFFA4DCC904CD16014129C0625C164C38744103207991A232CA88B1825EC81B88932960CC7D8DC42D9D840923DD08DD132E1782E6DBAA5D46E9144CF7EE7E6E676FDE5DF9BDB14A0857E6D6DC046B8600038050067A86909CE82B4CEEAB401FE5B9935573D1ECFC9557F2551AB4E20A9A99A91BCBB6E5470F676BDBE7199705CBBF2FC6AE7B8E9922219ED30EA7BC64DC6ACDFA5495D1273C33CE4594F46713B881B0B98FC747C63313C715CE5B0DB559E377D5D9B690E3F5BD03F44A3EA2A5B8F4EE3B24BA5228F4AF571A07B2B9BC6624A82DDFBF33B217B7E7CC0980B2333B6CE8E3F19A4F2597B72B99C9247C63F54CBB3E6C6D539DA7C45A2E9F9FAA42F5F2862956794D38CA354B2271DC0352FC67DF561343DA1517371A754CB533F1EA1FF384A2DDBEFF0E53D3CF885951C83CF3068AF0A2B8CEC126E7C69E6BCAE3AEE962AFB1A496822CD499508CCF477EB7B12AF06CA7B22CB434861887252667B05338BCD78B8A9C15DB1AA9D479AC4FD383B3B77FFA6BE67F3BDA552A9A05487075815707F17851D79BBBE79D1E9449BCD6BE969E8110441230F9FA17773CC7891A049C3F7943CA2A09D87CEDEE1E2487EDA141ABBED7E30A8EFD9723F15451195925458261579F2D1A9C8447F43093BB191497A047E3D594C8689422C180B2F11A98579F2C45FDEF3DB1F36737E4AF32379DFE3C4DBE1C8E470F0C523BA4B41F2FC9BEF0A3E0B015AAD808176C0D479C0E22DE080752FF5396A3A5AF405E4A0556E0375BBFC1FAD46E05AA85B116897E1370BD04766],'Icon'=[ZIP5E07000078DA636060044209090610C9E0C1CEC020C6C0C0A001C4402106030688380828B0338C8261081AB08A1E38708072A3C83204DD28E20DE1E3E3C365147E43D0346A6B6B931726B8346233A481F8B0C03416D525A8463534E0D268626242420C02CD811985A6D1CECE8EB8386C40760CA646777777620D4135074D6360602079E6A0698C8A8A22C93BB834A6A4A49097E8D134E6E6E69697973734909054808A815A801A47CB3562C0FFFFFF51F0F1FF8F196EFEF9CD70E3C76F863B85BF19EE29FF66B8CF0EC4FD207A37C3056569860B05DC0CD72AA419EE555833DC29B066B87FA09AE1FEC3DF60BDE8E6010094876FB4],'Icon'=[ZIP5E07000078DA636060044209090610C9E0C1CEC020C6C0C0A001C4402106030688380828B0338C82410CCED5C69EAE08DE99EBBCA134826C43DE35A6FDAD4804A20FE57167EA22D715049367CECFC5B5FF8FCDF8BF7FD2DFAEBCC7B5893BEB1388D1B5A17FC2BEDADADD65E51B264D86887CDE3FE5FFDFA7FFDF1EF8B7B4E1436DD2F9D949040D59DCD6DE1F1ADA111030292CEC696FEFA9458B20E24F2EEFFC7965E99B45D540F6952EC241B4B7B0E8565BDBC39E9E3519195D818177DADB31D5C0CD59EE2080CB9C9BFD13FEBF79F3FFCA95F7D3A6015D75A8B41497393B2BFC2F0618E071D2970307FFDFBEFD69FA7420FB445D1D56738ED464020DC16F0E3278DED606612CF5F7870B7E5A54F429C10768C8DAC5B34832A72D39F94C7131B2393782CD8E2F98457CCA019A73A8BAE6646E2E9A396B273593940281E62CF1F73F121BBB66EE7C4AB2D5B39933ABACAC76747652983D81E6CC9A326DB4981A54E0FFFFFF98F803103FA807E31F09F50C1F0C81D83E1F88FD197EECE767F8BF1D8897CB33FC6FB70762A0DA7E209EFF1FAB5900056ADA9F],'Icon'=[ZIP5E07000078DA636060044209090610C9E0C1CEC020C6C0C0A001C4402106030688380828B0338C48909797472D736E110DE8664E0303034134A8DC331A3EA3E1434F7F0D12F750C51C92C04828DBFF23810F0CFC54C1C80000A85226B7],'Icon'=[ZIP5E07000078DA636060044209090610C9E0C1CEC020C6C0C0A001C4402106030688380828B0338C826109AA762210B20819A06C0B08E1E2120F8AD681102E2EF1206F0508E1E2120FB2168110321B598478903607847071890749D3400817977810371184B07291C50982A86E1042E3424490C50982B05610C2144113240882EA418842E0558C40A3603882FF38C03F49206189840D90F9FBFFFFB700629BFAFFFFED816AE5FFE30400B53E8C44],'Icon'=[ZIP5E07000078DA636060044209090610C9E0C1CEC020C6C0C0A001C4402106030688380828B0338C8251405BD08003D104247818A021B2DDB313CE522DA6C4492B2094C97C06BD3E1049AE7BE6C059580C21C1312BE04EB2DA48497C9D86B31C0E0D86F81A05A30008FEFFFF8F1777B0D433CCFFE7C030832D17486740695728ED0096C7A71F00144863A6],'Icon'=[ZIP9E09000078DAED96BF6F525114C7BFEFDE37F40D84AD65313092344D1C3A7469D93A1266136253288A6242C1863408B68A2D0ABCB6BC529126D494C1C9C1D960F80BFC1B3469EC4AE2E2607C7EDF7B5723698DBFD2A186433EB9E79D4BBEF71CCE7937001A3F81006821540D60925E9838A1AB4463DC31676F6C63FB9F2C7D98C66486139FE44302DEAA7C2DA5617A6D1ABD41EFAFB467CBB3C00A9D7BD4DAD620EB12D2F410350154B8B7E69DB5DA5BFD23ED602108E400BDA143DBD5807D060FC85385E35B80D8119055E99E917F91FF2DEDFC31BF97A2F6960E3C6160173FD587C9DAAAACAD2431919EF8A5F6C2F1829BB7BCC39C3618784C7694564BE91EA8F3F648833C2245C0481908DC0E6073B079AEF67A7F9D97149D5BAA8765B2A534F694664BAD96AAABC6FC2BFCFDB2C04C69C6D5F1257CC8F57367F4438721E8D77414F60B98CA4E0177E1F5B0A66A682A5D4B9D67C2CD473E906E3ECBEDE51F06EF9C02324CA39A75DD782BEECE8E7C28BD9ABED5D054AB937BDDAB4F9404F4843EAA151F7D5C7CB9089114A3C1EBA444B6D59C58D2CD5DB3D8CFA68456D7BCFA389A7A5247AC1343F45914F3F579C49EC7BECB14FB4584CDF09972A266142223BC3EDF57D4544F1C9F715116306E1AE8BCEEFCF3BBDC78D5807FC58FC84604DD37DD8BB9309680B9CADC85DD47ED411B4783A3F1C57C49CC1E2EC1FE70C3E3849C9E7AFE902B22F882203EC38F4F6408897730880F27B882B7FC67D5E5BEFDDE86FD51618FF2157724A160],'Icon'=[ZIP5E07000078DA636060044209090610C9E0C1CEC020C6C0C0A001C4402106030688380828B0338C8251300A46C128C00BFEC310550CA1D0A8C1660EB5C2873A3135AF98E1FF24206E80E29E6288D83C0786FFFFFF3334B3F133EC2E7BCFF0FEFE7E86E3FDF20CABC3D683D9C818A4EE78BF14582D0C83D482C401E7054471],'Icon'=[ZIP5E07000078DABD957B4C537714C77F8C44962C812C1A1F731BA801650BD30D270E845BB415C7E20251718063EE51E65883A8B5D08040211B8E873CFA605CD03EE883D6BEB4A5B4454A2D857520A943CB407919AD4A44AD2809FE6377BA9A66D1AC30FFD8B9DF73737FE7FEFAF99D736E7FF9211400D7CA95C87347BB82105A8E10DA000E21B40979E31E332F41AF6AB497ECBF12E8747ACDC9AAB1C96B8E99B1BE4723207880617545E5E26900F9F3AAC3744BF5B53575A7EE7352FB7E92EE8BDD9D7B7306D2CC4E2DBC5A0CCA0B393D54FF717E5874FEAA98CAB73F61AF01C554ACDA4C5FB6A376BD6084B3181494A37688D7A68484939651593FB8FFB6DEEB1780F941E6BB10043E4C8002FD40180C06AC155BB46145D46BA939895E08857B00223BAB1300AB3529E0559A887075D80E99FBE1F48F5BC29283576F5E323AE900484C59642C4E0201C78B4DCFD9F551EE1AC8D00F078A82F64625AF0E8D7B037E02CC383E314E4F89331C71FFC38EB2C8B2D12658D40F473F71D6571198EBE9430F474FD9A68C072C44D67FB622F2E07298E69FE3B83D089D4C2B795E05260D4B502781D275F130B40E1BA2F6BD45ACD804D3FE8DD36F31D7D5D5DDB839B147B8319A12887717654823B6B7BE7E504B6A7370BC58C289E00FBF0F86084CF37DB22E264D83571964428384A7AA2AE07FF99E48AE14B78A21E71D4D215BCB513C270038F6BB66203C79EA4A6D7E674B214A9186C3BF91DBC2F32530D07672989F37A1A9BB723AD75A9E24CF5A2AC29B20A5E9E969E1507DAA7A23704009BF06823C4CF69B99FA78E8F01DE71DE8808FE3E8ED186C3830D5C1199532FA4F659C3FB44E589A4F93695A9A9B01055DFDB9BF98FE1BF5B82597D693070F95BF17435B00026BBDD093BEDACC49CDA97175B5BD91DC793C46904DC495E7B7E26A485B7B4E0BB499D9FB3EC1502153BC0C01B371A9A3920248C9C13B6A2EC6C419C11D1D7A6597A946DC942DFB057AE5132409F2B3177A54BC3F746786640C8BA0AC5D2A345BAC05A2FAED5C32663C41B0E144BB9870A1A8E60C6BC10DFE237BA0516C94AB0C2D124306A32B8B2A63AB5A1338DF256A0AB11E56F2A0649B8D496E612CC8F916777E23994FE7CF4694CD85E78C6FD977AE55AD26710E61522A76B1E6D34BA2C4416EE259BAA9DBE49F5325BF9EC99BCB933FC16A67DFA73923F7F63470E5D9BC52828082194B88366E925D82198B1B05CDFE39FABEB164A6EB98626E77E3E3A8A27B9159972925923231733F5EC0EC6C135EEEC6AF745307843FB571162C6D4F83F3B07CEE2BFE6C74F9C308F2486CBAC260BDF80AE782CE76A3B27DA650E94A613F38CCBAA435F6A2FFD7DCF3A1C83D1584DCE640E42E0DF0BA27FE823FF39C7F70127A3D104DA120F050E44225CF1DF3F97C881BCD87BA11EC69F417D3AE6307]]
Point(Index)
link(onClick,2240176:doData,[])
}
Add(StyleXP,10767794,28,140)
{
}
Add(MenuEx,9082006,203,147)
{
Menu=#10:Компоненты|1:(|14:Добавить новый|1:)|9:Настройки|20:Проверить обновление|11:О програме!|
Bitmaps=[]
link(MenuItemIdx,13313392:doEvent,[])
}
Add(ChildGroupBox,1311481,896,168)
{
link(onEvent1,4494923:doString,[])
}
BEGIN_SDK
Add(EditMulti,10797057,21,21)
{
EventCount=1
WorkCount=4
Width=965
Height=781
link(doWork1,1711911:doPosition,[(105,27)(105,111)])
link(doWork2,1711911:doMax,[(97,34)(97,118)])
link(doWork3,4352214:doEvent1,[(210,41)(210,426)])
link(doWork4,6800831:doEvent2,[(308,48)(308,447)])
}
Add(GroupBox,7034333,55,56)
{
Left=295
Top=340
Width=527
Height=363
Caption="Описание компонент"
}
Add(Image,10187768,518,49)
{
Left=10
Top=15
Width=24
Height=24
Visible=1
}
Add(Button,16643337,112,49)
{
Left=50
Top=15
Visible=1
link(onClick,11279226:doExecute,[])
}
Add(ODialog,11279226,175,49)
{
link(onExecute,2670353:doEvent1,[])
}
Add(PictureStream,1814382,301,49)
{
link(onLoad,14883437:doEvent1,[])
}
Add(StreamConvertor,6136114,609,497)
{
Mode=3
link(onResult,4159490:doCharset,[])
}
Add(Hub,14883437,364,49)
{
link(onEvent1,10187768:doLoad,[])
}
Add(FileStream,1638046,287,140)
{
link(onLoad,4100310:doCompress,[(363,146)(363,230)])
}
Add(Hub,2670353,238,49)
{
link(onEvent1,1814382:doLoad,[])
link(onEvent2,1638046:doOpen,[(259,62)(259,146)])
}
Add(LZMA,4100310,497,224)
{
link(Stream,1638046:Stream,[(503,198)(293,198)])
}
Add(Button,13184118,644,91)
{
Left=375
Top=310
Width=145
Height=45
Caption="Скачать"
Point(doEnabled)
link(onClick,10797057:onEvent1,[(831,97)(831,27)])
}
Add(ProgressBar,1711911,154,105)
{
Left=5
Top=315
Width=365
Height=10
ProgressColor=16711680
Point(doMax)
}
Add(FormatStr,5735406,399,434)
{
Mask="https://labdev.ml/api/api.php?action=info&product=%1"
Point(FString)
link(onFString,3689454:doLoadString,[(443,440)(443,461)(387,461)(387,496)])
}
Add(HTTPClient,3689454,399,490)
{
URL="https://labdev.ml/api/api.php?action=component"
UserAgent="Mozilla/16.0 (Windows 10; rv:92.0) Gecko/20100101 Firefox/52.0"
URLCodePage=1
FileField="name"
FieldCharset=1
CookieManager="parent.coocki"
Point(UploadFile)
Point(onUploadProgress)
Point(CurrentURL)
Point(StatusText)
Point(PostData)
link(URL,5735406:FString,[])
link(onFinish,2258243:doSearch,[])
}
Add(BlockFind,2258243,539,497)
{
IncludeBlock=1
StartBlock="DiscriptComponent{"
EndBlock="}EndDiscriptComponent"
link(onSearch,6136114:doConvert,[])
}
Add(Charset,4159490,672,497)
{
Type=7
link(onCharset,6592669:doAdd,[(720,503)(720,433)])
}
Add(Hub,4352214,301,420)
{
link(onEvent1,6800831:doEvent1,[(525,426)(525,440)])
link(onEvent2,5735406:doString,[(357,433)(357,440)])
}
Add(RichEdit,6592669,770,427)
{
Left=5
Top=15
Width=515
Height=290
ScrollBars=2
ReadOnly=0
}
Add(Hub,6800831,595,434)
{
InCount=2
OutCount=1
link(onEvent1,6592669:doClear,[])
}
Add(Button,9694699,91,602)
{
Left=10
Top=330
Width=115
}
END_SDK
Add(ChildForm,3366350,392,126)
{
}
BEGIN_SDK
Add(EditMulti,13822210,21,21)
{
WorkCount=1
DataCount=1
Width=1315
Height=641
link(doWork1,12202656:doEvent1,[(49,27)(49,76)])
}
Add(MainForm,4018753,105,42)
{
Left=35
Top=105
Width=682
Height=415
Visible=1
Caption="Загрузка нового компонента"
BorderStyle=3
Position=1
Point(doVisible)
}
Add(ODialog,9929441,469,399)
{
Filter="RAR|*.rar|ZIP|*.zip"
link(onExecute,150390:doText,[])
}
Add(Button,11196982,406,399)
{
Left=10
Top=15
Width=135
Caption="Архив компонента"
link(onClick,9929441:doExecute,[])
}
Add(HTTPClient,5181362,511,504)
{
URL="https://labdev.ml/up.php"
Method=1
UserAgent="Mozilla/16.0 (Windows 10; rv:92.0) Gecko/20100101 Firefox/52.0"
URLCodePage=1
FileField="name"
FieldCharset=1
CookieManager="parent.coocki"
Point(UploadFile)
Point(onUploadProgress)
Point(CurrentURL)
Point(StatusText)
Point(PostData)
link(onFinish,963309:doSearch,[])
link(UploadFile,150390:Text,[])
link(PostData,12739542:GetData,[])
}
Add(LineBreakEx,15402714,525,574)
{
Caption="head"
Type=3
link(_Data,5181362:CurrentURL,[])
}
Add(FormatStr,4867230,826,266)
{
DataCount=7
Mask="componentAutor=%1\r\ncomponentName=%2\r\ncomponentDescription=%3\r\ncomponentSmallDiscript=%7\r\ncomponentData=%4\r\ncomponentCategory=%5\r\ncomponentPrivat=%6"
link(onFString,2359846:In,[])
link(Str1,13465189:Var,[])
link(Str2,3695110:GetData,[])
link(Str3,13071942:Value,[(846,252)(761,252)(761,322)(699,322)])
link(Str4,11441031:Value,[])
link(Str5,10281975:Value,[(860,219)(1049,219)])
link(Str6,4898642:Checked,[(867,233)(1217,233)])
link(Str7,1335870:GetData,[(874,230)(706,230)])
}
Add(EventFromData,12739542,532,266)
{
link(onEvent,3439030:doCharset,[])
}
Add(Button,12479344,315,504)
{
Left=525
Top=350
Width=140
Height=25
Caption="Загрузить"
link(onClick,2905758:doEvent1,[])
}
Add(Thread,11610816,441,504)
{
FastStop=0
link(onExec,5181362:doLoadString,[])
}
Add(Edit,150390,525,399)
{
Left=145
Top=15
Width=520
Text=""
ReadOnly=0
}
Add(Memo,14048041,581,196)
{
Left=10
Top=210
Width=655
Height=130
ScrollBars=2
}
Add(Edit,16732158,875,77)
{
Left=195
Top=55
Width=470
Text=""
MaxLenField=30
}
Add(Label,8764517,105,413)
{
Left=10
Top=55
Width=175
Height=20
Font=[MS Sans Serif,10,1,0,1]
Caption="Название компонента:"
}
Add(StreamConvertor,2793735,637,266)
{
Mode=2
link(onResult,13071942:doValue,[])
}
Add(LineBreak,12962385,441,266)
{
link(Out,12739542:doData,[])
Primary=[2359846,644,0]
}
Add(Memory,13071942,693,266)
{
link(onData,4867230:doString,[])
}
Add(Message,10141285,784,511)
{
Message="Успешно загружен!!!"
Caption="Успех!!"
Icon=4
}
Add(ComboBox,16438619,994,119)
{
Left=195
Top=135
Width=210
Height=21
Strings=#6:Разное|9:Интерфэйс|8:Контролы|7:Графика|4:Окна|7:Система|8:Интернет|2:БД|5:Файлы|11:Инструменты|
ReadOnly=0
DropDownCount=20
link(onClick,10281975:doValue,[])
}
Add(Memory,10281975,1043,126)
{
Default=Integer(0)
}
Add(Label,9755189,105,462)
{
Left=10
Top=135
Width=178
Height=20
Font=[MS Sans Serif,10,1,0,1]
Caption="Категория компонента:"
}
Add(Label,6282097,105,518)
{
Left=10
Top=175
Width=174
Height=20
Font=[MS Sans Serif,10,1,0,1]
Caption="Описание компонента:"
}
Add(Label,60337,1211,119)
{
Left=425
Top=135
Width=175
Height=20
Font=[MS Sans Serif,10,1,0,1]
Visible=1
Hint="Компонет будет доступен только вам"
HintManager="parent.HitMan"
Caption="Приватный компонент:"
Point(doVisible)
}
Add(CheckBox,4898642,1211,161)
{
Left=605
Top=135
Width=15
Visible=1
Hint="Компонет будет доступен только вам"
HintManager="parent.HitMan"
Caption=""
Point(doVisible)
}
Add(Message,15746558,1134,490)
{
Message="Размер файла превышает допустимые"
Caption="Файл отклонен"
Icon=3
}
Add(BlockFind,963309,616,511)
{
StartBlock="100"
EndBlock="0"
link(onSearch,10141285:doMessage,[])
link(onEndSearch,15704545:doSearch,[(706,524)(706,608)])
}
Add(BlockFind,15704545,784,602)
{
StartBlock="100"
EndBlock="0"
}
Add(Message,1040920,1036,308)
{
Message="Ошибка загрузки файла"
Caption="Ошибка"
Icon=3
}
Add(Hub,2905758,392,504)
{
link(onEvent1,11610816:doStart,[])
}
Add(Charset,3439030,581,266)
{
Type=6
link(onCharset,2793735:doConvert,[])
link(Text,14048041:Text,[])
}
Add(Charset,10276971,875,133)
{
Type=6
link(onCharset,11806471:doConvert,[])
link(Text,16732158:Text,[])
}
Add(EventFromData,3695110,833,133)
{
link(onEvent,10276971:doCharset,[])
}
Add(Edit,2664290,749,77)
{
Left=195
Top=90
Width=470
Text=""
MaxLenField=60
}
Add(Charset,8264150,749,126)
{
Type=6
link(onCharset,10232846:doConvert,[(793,132)(793,120)(632,120)(632,132)])
link(Text,2664290:Text,[])
}
Add(EventFromData,1335870,700,126)
{
link(onEvent,8264150:doCharset,[])
}
Add(Label,16619768,105,364)
{
Left=10
Top=90
Width=153
Height=20
Font=[MS Sans Serif,10,1,0,1]
Caption="Короткое описание:"
}
Add(Memory,11441031,847,175)
{
Default=String(0)
}
Add(Message,8434188,1078,490)
{
}
Add(StreamConvertor,10232846,651,126)
{
Mode=2
link(onResult,1335870:doData,[])
}
Add(LineBreak,1952650,518,98)
{
Type=1
link(Data,3409279:Text,[])
Primary=[13465189,308,133]
}
Add(StreamConvertor,11806471,917,133)
{
Mode=2
link(onResult,3695110:doData,[(963,139)(963,121)(821,121)(821,139)])
}
Add(If_else,16569072,329,77)
{
Op2=Integer(0)
link(onTrue,9519564:doWork1,[])
link(onFalse,9519564:doWork2,[])
link(Op1,13909698:Var,[])
}
Add(GlobalVar,13909698,329,42)
{
Name="AUTH"
}
Add(Hub,12202656,63,70)
{
link(onEvent1,4018753:doVisible,[])
link(onEvent2,16569072:doCompare,[])
}
Add(ChanelToIndex,9519564,385,77)
{
Count=3
link(onIndex,13194

[color=gray][size=9]Редактировалось 2 раз(а), последний 2022-10-26 23:14:42[/size][/color]
карма: 0

0
59
Сообщение
...
Прикрепленные файлы
(файлы не залиты)