К теме просьба не придираться, с компонентами все в порядке, а не хватает не которых функций конкретно мне.
Решил с экспериментов типа "Hello Word" перейти к чему то более серьезному. В ходе работы столкнулся с некоторыми задачами:
1 Компонент "Dir"
Хотелось отобразить "мой компьютер" как в большинстве программ со всеми устройствами.
Задачу решил следующим образом
Add(StringTableMT,11035221,728,91)
{
Left=10
Top=70
Width=285
Height=370
Columns=#7:Имя=200|
AssignedIList=0
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(doMT_Add)
Point(CountIcons)
Point(EndIdxIcons)
Point(doClearIcons)
Point(doMT_InsertIcon)
Point(onDblClick)
link(onClick,3931186:doRead,[(823,97)(823,256)(733,256)(733,209)])
link(onDblClick,10009588:doExists,[(834,104)(834,258)])
}
Add(Hub,15409844,602,126)
{
InCount=3
OutCount=3
link(onEvent1,11035221:doClear,[(651,132)(651,104)])
link(onEvent2,11035221:doClearIcons,[])
link(onEvent3,3931186:Scan,[(627,146)(627,202)])
}
Add(MainForm,4099608,168,112)
{
Width=315
Height=484
link(onCreate,12358936:doWork2,[])
}
Add(DriveBox,9752896,308,56)
{
Left=10
Top=10
Width=285
Height=21
Ctl3D=0
Disk="C:"
link(onSelect,12358936:doWork1,[(357,62)(357,42)(284,42)])
}
Add(Hub,4794048,427,126)
{
InCount=2
link(onEvent1,15409844:doEvent1,[])
link(onEvent2,4876714:doAdd,[])
}
Add(BitBtn,6583888,364,196)
{
Left=10
Top=40
Caption="Назад"
link(onClick,4876714:doCompare,[(450,202)(450,146)])
}
Add(HubEx,12358936,280,126)
{
link(onEvent,3858203:doStrCat,[])
}
Add(StrCat,3858203,308,126)
{
Str2="\"
link(onStrCat,4794048:doEvent1,[])
link(Str1,9752896:Disk,[])
}
Add(MultiElementEx,4876714,504,133)
{
@Hint=#6:Return|
link(onGetString,15409844:doEvent2,[])
}
BEGIN_SDK
Add(EditMultiEx,673594,21,21)
{
WorkCount=#21:doAdd=Запись в список|44:doCompare="Возврат" чтение последней строчки|
EventCount=#28:onGetString=Чнение из списка|
Width=433
Height=249
link(doAdd,14803614:doAdd,[(109,27)(109,41)])
link(doCompare,1217336:doCompare,[(70,34)(70,216)])
}
Add(Math,4102753,259,217)
{
OpType=1
Op2=1
link(onResult,14803614:doGetString,[(303,223)(303,150)(169,150)(169,83)])
link(Op1,5918647:Var3,[(265,173)])
}
Add(Hub,13931833,217,210)
{
link(onEvent1,14803614:doDelete,[(243,216)(243,136)(184,136)(184,55)])
link(onEvent2,4102753:doOperation,[])
}
Add(StrList,14803614,196,35)
{
Point(doGetString)
Point(onGetString)
link(onGetString,673594:onGetString,[(341,48)(341,27)])
}
Add(Math,15041838,168,210)
{
OpType=1
Op2=1
link(onResult,13931833:doEvent1,[])
link(Op1,2151084:Var2,[])
}
Add(If_else,1217336,119,210)
{
Type=2
Op2=Integer(1)
link(onTrue,15041838:doOperation,[])
link(Op1,2151084:Var1,[(125,173)])
}
Add(GetDataEx,5918647,203,168)
{
link(Data,14803614:Count,[])
}
Add(GetDataEx,2151084,168,168)
{
Angle=1
link(Data,5918647:Var1,[])
}
Add(Icon,12491087,392,70)
{
@Hint=#5:#main|
Icon=[ZIP7E03000078DA636060044201010630C86066601003D21A400C12520062460609B09C0333C348052DD844901149EA89B102BF625CEA1948311F532F1EF73390EEA39100FEA383DFFFFF3F00E2877FFFFF7F0CC44F81F85D3550BCFD3F560000D08E4DFA]
}
END_SDK
Add(MultiElementEx,10009588,854,252)
{
@Hint=#9:Run Files|
link(onEventData,4794048:doEvent2,[(900,258)(900,81)(415,81)(415,139)])
link(FileName,3931186:Item,[(860,240)(748,240)])
}
BEGIN_SDK
Add(EditMultiEx,16166629,21,21)
{
WorkCount=#26:doExists=Проверка и запуск|
EventCount=#32:onEventData=Имя папки для поиска|
DataCount=#36:FileName=Имя папкифайла для запуска|
link(doExists,7031950:doExists,[(45,27)(45,146)])
}
Add(DoData,11122515,259,105)
{
link(onEventData,16166629:onEventData,[(306,111)(306,27)])
link(Data,619345:Var3,[(265,70)])
}
Add(DirTools,7031950,70,119)
{
Point(doExists)
link(onOK,3639075:doEvent,[])
link(Source,4509985:Var2,[])
}
Add(IndexToChanel,3639075,133,119)
{
Count=3
Point(Data)
link(onEvent2,11122515:doData,[(177,132)(177,111)])
link(onEvent3,12696810:doShellExec,[])
}
Add(WinExec,12696810,189,126)
{
link(FileName,619345:Var2,[])
}
Add(Icon,6057989,280,182)
{
@Hint=#5:#main|
Icon=[ZIP7E03000078DAB592B10DC23010453F721151910AD185126509E8A9D9812D6E9F5B8251582305C87CC7971420D9E782B3BE259FDEB32CDBC086A3EFC1F9807B00F6004E0C5B3822F7535D02FE50D7B9BCB4004FE0317A95CCFB9595772A998F5BAF423E8E0D8AE0165B94C46B22BF14418D37252DA5747E2566FCAC48E57E565EABB0F1EA85175ECB67FEDD5F5A3E68118E7C9D1733919ACECCC0EC988E0996CE7A833189A5F3663ED746697A]
}
Add(GetDataEx,4509985,70,65)
{
Angle=3
link(Data,16166629:FileName,[(27,70)])
}
Add(GetDataEx,619345,189,65)
{
Angle=3
link(Data,4509985:Var3,[])
}
END_SDK
Add(MultiElementEx,3931186,742,196)
{
@Hint=#6:Search|
link(onAdd,4771985:doWork1,[(786,202)(786,182)])
link(onFString,5521665:doWork1,[(796,209)(796,173)])
link(Data,13475614:Var2,[])
link(Str1,15430094:Var2,[])
}
BEGIN_SDK
Add(EditMultiEx,7003510,21,21)
{
WorkCount=#10:Scan=Поиск|26:doRead=Чтение массива (RW)|5:doAdd|
EventCount=#20:onAdd=Вставка иконки|26:onFString=Запись в таблицу|
VarCount=#32:Item=Имя файлапапки для запуска|
DataCount=#22:Data=Количество иконок|21:Str1=Последняя иконка|
Width=762
Height=424
link(Scan,14212249:doEvent1,[(54,27)(54,111)])
link(doRead,8551237:doRead,[(45,34)(45,265)])
link(doAdd,15548175:doWork1,[(235,41)])
link(Item,8551237:Item,[(27,369)(258,369)])
}
Add(Hub,14212249,70,105)
{
link(onEvent1,4422196:doClear,[(103,111)(103,91)(245,91)(245,125)])
link(onEvent2,1303342:doValue,[])
}
Add(FileSearch,2495974,175,112)
{
SubDir=1
Include=1
link(onSearch,15548175:doWork2,[])
link(onEndSearch,15919893:doSearch,[(219,125)(219,166)(101,166)(101,195)])
}
Add(FilePart,6620814,350,203)
{
NameWOExt=1
link(onName,10394312:doString,[])
}
Add(FileAttributes,5650910,350,105)
{
Point(doGetFileIcon)
Point(onGetFileIcon)
link(onGetFileIcon,5469774:doCase,[])
}
Add(HubEx,15548175,231,112)
{
link(onEvent,4422196:doAdd,[])
}
Add(ArrayEnum,13184658,273,196)
{
PColor(Array,255)
link(onItem,3378621:doEvent1,[])
link(Array,3049529:Var2,[])
}
Add(FileSearch,15919893,119,189)
{
SubDir=1
link(onSearch,15548175:doWork3,[(235,195)])
link(onEndSearch,13184658:doEnum,[])
link(Dir,1303342:Value,[])
}
Add(Hub,3378621,315,196)
{
OutCount=3
link(onEvent1,5650910:doGetFileIcon,[(338,202)(338,132)])
link(onEvent2,6620814:doPart,[])
}
Add(StrList,4422196,259,112)
{
}
Add(Memory,1303342,126,112)
{
link(onData,2495974:doSearch,[])
}
Add(Case,5469774,413,112)
{
link(onNextCase,1007376:doWork2,[])
link(onTrue,14068554:doData,[(461,125)(461,139)])
}
Add(Icon,13308325,476,84)
{
Icon=[ZIP7E03000078DA63606004420101062029C190C1CCC020C6C0C0A001C44021060506883808383033E0001F3F7EBCF6FCF975BCE0EEDDBB70F51F4E2D4B2304A64D9B86AC7E665A1A7E0404C8EAFFBF3983059D99F9FFCC198869E8EA2F6EFC7F1C8CD64EB0AEF4929ABD4165D2DCFFFDD9FF1F6DC4AA3EA23ACC33DBD335C5618DA3266BCF1AAE1D4FB9AEFCE73EF109680256F57F6BA341A6ED9CFFC2CB42B1348F6BDD75A07A2002099E3983A97EDFF4D8FFD5C1FF0FADFB9619E0176929B0FC84C6E2598ABBCF01D563353F636BF8FB42B7FFCBBB801695879BF29604729D6CE27A3315977AA0BF78526FAB26AF92F4DFC620B45038CB996B770DD7B3E9405D58D5FFFBF7CFA8FBA548C3FFC4B5FFB9DC6F98C65B732E29E4BAD5CFF5661650B6B1B111533DD00AFEF2FF491BFF73457D3609AB03722108A21E08D0D5FFBF92BB698FDFE22F0E93AF02D9FF3E3E86472E50F1810307E0EA81F1F80F1B00AA04796DA6315031904B503DD05860D00315031330727A3E3373265604540F4CC6C88A0F30FEFF4F16660662F6FFFF010A9DBA61]
}
Add(DoData,14068554,476,133)
{
link(onEventData,1007376:doWork3,[(529,139)])
link(Data,13308325:Icon,[])
}
Add(FormatStr,10394312,427,210)
{
Mask="%1;%2"
link(onFString,7003510:onFString,[(621,216)(621,34)])
link(Str1,7003510:Str1,[(433,181)(34,181)])
}
Add(MT_Add,7757013,553,112)
{
InputMT=1
link(onAdd,7003510:onAdd,[(684,118)(684,27)])
link(Data,7003510:Data,[(559,66)(27,66)])
}
Add(HubEx,1007376,525,112)
{
link(onEvent,7757013:doAdd,[])
}
Add(ArrayRW,8551237,252,259)
{
PColor(Array,5635840)
link(Array,3049529:Var1,[(258,173)])
}
Add(GetDataEx,3049529,273,168)
{
PColor(Data,5635840)
link(Data,4422196:Array,[])
}
Add(Icon,15185289,728,392)
{
@Hint=#5:#main|
Icon=[ZIP9E09000078DAB5967B4C54671A875FDCB54DD5B59A68D376FFA0E94D416C855581B6F4D05B5A520AAE80172C051571B80822CC300C736786DB20B79981B93003CC0C22A2206551B4141D8C65B86D5AB7694D9BFEAB4D0BF5820EDAECFADBEF1CDA2AA9B64937FB9D3C39DF7973CE73DEF7FDBE9C1CA200763CFE38B1F114553C42F4189BAD66F0A1758C001617C623F4AB01E0FFCACCCC0CF5F7F592C96424954AF587D1E974A4D7EB7FA1BEBE9E2E5CB840972F5FA66C513A0505AD9A57D782050B68D9B265141818486BD6ACA1B0B0300A0F0FA775EBD609B1458B16CDBB9FBF5EB26489C0F2E5CB292222A2C2E572097E51C62E3A6828A3A4A4244A4C4C14603934B6B4B4A0ABAB0B3D3D3D3875EA14CE0D0F63747414131313181A1A425454D4C5808000C17FAF3B3232122B57AE84D3E9FCC9BF933E1AE8A536A78DF272F7515A5A1AE5E5E5213535153131EF405E2283D361474D4D3532457BC1711C582D602EFC9CFF3D799F59B16205F8EB79FE93C7E9EC603F3BF792D95447CC499BE2E3E86F61A1A490CBD0E26C4645B91EF171B13F3B573056FEB46B02F85E32F7109FF7D2A54B89E7AE7F97903FEF1F3ADD4727FA8E91BBC5464A7911BDF27224656789A0512BB123793B82825683AD4D2E43B370E14229EBFBB6C58B17AF8A8E8E465A6A0A582E5458902F3032F2094D4D7D4FE282DCF5EDAE66DF21B7C377C8C3703B7DDD5DEDBE3383FDBE8F4FFFC337D07F1CA6861A2426FC1DFB72B2E076B55CED3EDA0989B8C0BF71C3FACB21212157AA0D15F09E191C3236D4FA589C787CBE119A9E9AA2A2C2FD9CDD520F9BA501768B090EAB099D1D6D383F3C8891731FE3A3813EB60652DE8BAF2EFE0B5F5FFC1CDF7CFD2586BD4338DAD589AD5B92D8B38D3879A20F66533DA44562E219F5F904BF84F95B6D7274B72BD17D48899E0E157A8F6831D0538E81DE4A74BA54D02AF761ECFC214C7CD281C991C3F8A7AF13A3E7DA05AC66252CC6629CEE6F46A3D98862A984784647EFFA1D865731DAC3DD9793ADD130576DC7A783227CE1CD9EC7E767B370BC35198E83EFE2447B2A2C4D8D90154B8987EDE5B9FE88F3B98692089C6ADA705F7A8D51D04A1270D89880F34777C1D7932E30726C37FA9DC9D08BDF84A73611C72C3B60B336A144564C3C6363CC3F3D4552C901AE3C3B149DAAE0FB72581502833C0D92DD51A893BE8DB6B238B82BE2D1A8888132EB3594E425A0B382BDC3B00576BB15727909F18C8D8D09FEE2A2424EF17E30ACA2A71E489B66334AC5A9A8518950ABCC60EC61F3BDA894A5C35D5B00E7FE60342B37C3D16C875221279EF1F139BFAC58CC15C43D8BAA84C71E8881D1AADC8156A31E964A199A181E6B35BA4C0A346684C2B43318E68278F64D7040A55410CFF8F838F34FB35E1571D9D18150707FF94DE40CEDDB4FC09E1B0B8F3C05E63D1C0C89AB70704B306AB6AD456D761C5A5B9C50AB55C4333131E7579448B9F48D7FC581171EFA5D241B9642F36620CA628350111F82CA4D2FB2FA42519DB41ED57BE2D1D6D60A8D464D1A0DEF9F10FC4A858CFBE0852790F50CFD9AA709D9CFFD1985A1CBA18C7E06FA775F44F97B61CCBD1E559B2398F725963B5BF7E4D760484F80CBD506AD56433C9393737EB54ACE7DB0F649643EBD8039FF849CE71F46FEDA47210D7F12EA375633D70696632473BDC25CD1A8DBF13A1A52DE623D8F4163FA7BB0646C822D2B113599DBE176BB505AAA259EC9C949C1AF552BB82C6E2DAB398CD5BB11D5892F330F87DAE4D751CF3CC6B47760DE1D8BA68C7858331360CFD90247DE76B41E48814BBC131E693A3AE4221873D3E0F1B8A12B2D9DE72FD5AAB8FC987098D362D0941E0BEBDE78D898C791B3152DFB93D1569002B76427DA8BF7A043918923EA1C1C2DDD8FEEB2421CAF2CC287D525E8AF53A1492C82A7DD039DEEAEFF07E6D7EB345CB55C8C1A593EEAE405A85714A2412581515D0493A618662DDB8FBA1258F40A58CB94B095AB60ABD0C05EA9457395168E2A1D1C063D8E382C73F9333F0FEFF7FBFD746ED8FBD677DF7D8B1FA6A770E5CA34AE5DBD82EBD7AE62E6FA35DC98B98E9B376670F3E60DF8FD3731EBF763767616B76ECDE2F6ED5B023FFE785B6076D68FCF3EFB145EAF97BCDEB374E9D225E11FE2CE9D3B02F79BDF1B7BD03DBF379FE33FF46FBACD9821E85611D48F929A1EFE9FE0BDFF0523A002E5]
}
END_SDK
Add(BitBtn,11748922,364,245)
{
Left=70
Top=40
Caption="Комп"
link(onClick,14470002:doEvent1,[])
}
Add(MultiElementEx,12534168,658,294)
{
@Hint=#12:Search Disks|
link(onAdd,4771985:doWork3,[(704,300)])
link(onFString,5521665:doWork3,[(716,307)])
link(onStrCat,3931186:doAdd,[(726,314)(726,216)])
link(Data,13475614:Var1,[(664,159)])
link(Str1,15430094:Var1,[(671,166)])
}
BEGIN_SDK
Add(EditMultiEx,7003510,21,21)
{
WorkCount=#10:Scan=Поиск|0:|
EventCount=#20:onAdd=Вставка иконки|26:onFString=Запись в таблицу|8:onStrCat|
DataCount=#22:Data=Количество иконок|21:Str1=Последняя иконка|
Width=762
Height=424
link(Scan,7009423:doInfo,[(59,27)(59,97)])
}
Add(FilePart,6620814,350,203)
{
NameWOExt=1
link(onName,10394312:doString,[])
}
Add(FileAttributes,5650910,350,105)
{
Point(doGetFileIcon)
Point(onGetFileIcon)
link(onGetFileIcon,5469774:doCase,[])
}
Add(Hub,3378621,315,196)
{
link(onEvent1,5650910:doGetFileIcon,[(338,202)(338,132)])
link(onEvent2,6620814:doPart,[])
}
Add(Case,5469774,413,112)
{
link(onNextCase,1007376:doWork2,[])
link(onTrue,14068554:doData,[(461,125)(461,139)])
}
Add(Icon,13308325,476,84)
{
Icon=[ZIP7E03000078DA63606004420101062029C190C1CCC020C6C0C0A001C44021060506883808383033E0001F3F7EBCF6FCF975BCE0EEDDBB70F51F4E2D4B2304A64D9B86AC7E665A1A7E0404C8EAFFBF3983059D99F9FFCC198869E8EA2F6EFC7F1C8CD64EB0AEF4929ABD4165D2DCFFFDD9FF1F6DC4AA3EA23ACC33DBD335C5618DA3266BCF1AAE1D4FB9AEFCE73EF109680256F57F6BA341A6ED9CFFC2CB42B1348F6BDD75A07A2002099E3983A97EDFF4D8FFD5C1FF0FADFB9619E0176929B0FC84C6E2598ABBCF01D563353F636BF8FB42B7FFCBBB801695879BF29604729D6CE27A3315977AA0BF78526FAB26AF92F4DFC620B45038CB996B770DD7B3E9405D58D5FFFBF7CFA8FBA548C3FFC4B5FFB9DC6F98C65B732E29E4BAD5CFF5661650B6B1B111533DD00AFEF2FF491BFF73457D3609AB03722108A21E08D0D5FFBF92BB698FDFE22F0E93AF02D9FF3E3E86472E50F1810307E0EA81F1F80F1B00AA04796DA6315031904B503DD05860D00315031330727A3E3373265604540F4CC6C88A0F30FEFF4F16660662F6FFFF010A9DBA61]
}
Add(DoData,14068554,476,133)
{
link(onEventData,1007376:doWork3,[(529,139)])
link(Data,13308325:Icon,[])
}
Add(FormatStr,10394312,427,210)
{
DataCount=4
Mask="%1;[%2]%3\%4"
link(onFString,7003510:onFString,[(704,216)(704,34)])
link(Str1,7003510:Str1,[(433,181)(34,181)])
link(Str2,13170246:Var3,[(440,173)])
link(Str3,7009423:Description,[(447,166)(111,166)])
link(Str4,7009423:VolumeName,[(454,158)(118,158)])
}
Add(MT_Add,7757013,553,112)
{
InputMT=1
link(onAdd,7003510:onAdd,[(684,118)(684,27)])
link(Data,7003510:Data,[(559,66)(27,66)])
}
Add(HubEx,1007376,525,112)
{
link(onEvent,7757013:doAdd,[])
}
Add(ArrayRW,8551237,266,196)
{
PColor(Array,5635840)
link(onRead,3378621:doEvent1,[])
link(Array,15177434:Array,[(272,162)(286,162)])
}
Add(Icon,15185289,735,385)
{
@Hint=#5:#main|
Icon=[ZIP9E09000078DAB5967B4C54671A875FDCB54DD5B59A68D376FFA0E94D416C855581B6F4D05B5A520AAE80172C051571B80822CC300C736786DB20B79981B93003CC0C22A2206551B4141D8C65B86D5AB7694D9BFEAB4D0BF5820EDAECFADBEF1CDA2AA9B64937FB9D3C39DF7973CE73DEF7FDBE9C1CA200763CFE38B1F114553C42F4189BAD66F0A1758C001617C623F4AB01E0FFCACCCC0CF5F7F592C96424954AF587D1E974A4D7EB7FA1BEBE9E2E5CB840972F5FA66C513A0505AD9A57D782050B68D9B265141818486BD6ACA1B0B0300A0F0FA775EBD609B1458B16CDBB9FBF5EB26489C0F2E5CB292222A2C2E572097E51C62E3A6828A3A4A4244A4C4C14603934B6B4B4A0ABAB0B3D3D3D3875EA14CE0D0F63747414131313181A1A425454D4C5808000C17FAF3B3232122B57AE84D3E9FCC9BF933E1AE8A536A78DF272F7515A5A1AE5E5E5213535153131EF405E2283D361474D4D3532457BC1711C582D602EFC9CFF3D799F59B16205F8EB79FE93C7E9EC603F3BF792D95447CC499BE2E3E86F61A1A490CBD0E26C4645B91EF171B13F3B573056FEB46B02F85E32F7109FF7D2A54B89E7AE7F97903FEF1F3ADD4727FA8E91BBC5464A7911BDF27224656789A0512BB123793B82825683AD4D2E43B370E14229EBFBB6C58B17AF8A8E8E465A6A0A582E5458902F3032F2094D4D7D4FE282DCF5EDAE66DF21B7C377C8C3703B7DDD5DEDBE3383FDBE8F4FFFC337D07F1CA6861A2426FC1DFB72B2E076B55CED3EDA0989B8C0BF71C3FACB21212157AA0D15F09E191C3236D4FA589C787CBE119A9E9AA2A2C2FD9CDD520F9BA501768B090EAB099D1D6D383F3C8891731FE3A3813EB60652DE8BAF2EFE0B5F5FFC1CDF7CFD2586BD4338DAD589AD5B92D8B38D3879A20F66533DA44562E219F5F904BF84F95B6D7274B72BD17D48899E0E157A8F6831D0538E81DE4A74BA54D02AF761ECFC214C7CD281C991C3F8A7AF13A3E7DA05AC66252CC6629CEE6F46A3D98862A984784647EFFA1D865731DAC3DD9793ADD130576DC7A783227CE1CD9EC7E767B370BC35198E83EFE2447B2A2C4D8D90154B8987EDE5B9FE88F3B98692089C6ADA705F7A8D51D04A1270D89880F34777C1D7932E30726C37FA9DC9D08BDF84A73611C72C3B60B336A144564C3C6363CC3F3D4552C901AE3C3B149DAAE0FB72581502833C0D92DD51A893BE8DB6B238B82BE2D1A8888132EB3594E425A0B382BDC3B00576BB15727909F18C8D8D09FEE2A2424EF17E30ACA2A71E489B66334AC5A9A8518950ABCC60EC61F3BDA894A5C35D5B00E7FE60342B37C3D16C875221279EF1F139BFAC58CC15C43D8BAA84C71E8881D1AADC8156A31E964A199A181E6B35BA4C0A346684C2B43318E68278F64D7040A55410CFF8F838F34FB35E1571D9D18150707FF94DE40CEDDB4FC09E1B0B8F3C05E63D1C0C89AB70704B306AB6AD456D761C5A5B9C50AB55C4333131E7579448B9F48D7FC581171EFA5D241B9642F36620CA628350111F82CA4D2FB2FA42519DB41ED57BE2D1D6D60A8D464D1A0DEF9F10FC4A858CFBE0852790F50CFD9AA709D9CFFD1985A1CBA18C7E06FA775F44F97B61CCBD1E559B2398F725963B5BF7E4D760484F80CBD506AD56433C9393737EB54ACE7DB0F649643EBD8039FF849CE71F46FEDA47210D7F12EA375633D70696632473BDC25CD1A8DBF13A1A52DE623D8F4163FA7BB0646C822D2B113599DBE176BB505AAA259EC9C949C1AF552BB82C6E2DAB398CD5BB11D5892F330F87DAE4D751CF3CC6B47760DE1D8BA68C7858331360CFD90247DE76B41E48814BBC131E693A3AE4221873D3E0F1B8A12B2D9DE72FD5AAB8FC987098D362D0941E0BEBDE78D898C791B3152DFB93D1569002B76427DA8BF7A043918923EA1C1C2DDD8FEEB2421CAF2CC287D525E8AF53A1492C82A7DD039DEEAEFF07E6D7EB345CB55C8C1A593EEAE405A85714A2412581515D0493A618662DDB8FBA1258F40A58CB94B095AB60ABD0C05EA9457395168E2A1D1C063D8E382C73F9333F0FEFF7FBFD746ED8FBD677DF7D8B1FA6A770E5CA34AE5DBD82EBD7AE62E6FA35DC98B98E9B376670F3E60DF8FD3731EBF763767616B76ECDE2F6ED5B023FFE785B6076D68FCF3EFB145EAF97BCDEB374E9D225E11FE2CE9D3B02F79BDF1B7BD03DBF379FE33FF46FBACD9821E85611D48F929A1EFE9FE0BDFF0523A002E5]
}
Add(StrList,15177434,266,84)
{
link(onChange,14077382:doOperation,[(310,90)(310,146)(205,146)(205,202)])
}
Add(DiskInfo,7009423,98,91)
{
link(onInfo,10379685:doStrCat,[(141,97)(141,147)(86,147)(86,230)])
}
Add(StrCat,10379685,98,224)
{
Str2="\"
link(onStrCat,10017822:doEvent1,[])
link(Str1,13170246:Var2,[])
}
Add(Math,14077382,217,196)
{
OpType=1
Op2=1
link(onResult,8551237:doRead,[])
link(Op1,15177434:Count,[(223,162)(279,162)])
}
Add(GetDataEx,13170246,98,168)
{
link(Data,7009423:DeviceID,[])
}
Add(Hub,10017822,140,224)
{
link(onEvent1,15177434:doAdd,[(210,230)(210,90)])
link(onEvent2,7003510:onStrCat,[(726,237)(726,41)])
}
END_SDK
Add(GetDataEx,13475614,742,154)
{
link(Data,11035221:CountIcons,[])
}
Add(GetDataEx,15430094,749,161)
{
link(Data,11035221:EndIdxIcons,[])
}
Add(HubEx,4771985,700,176)
{
Angle=3
link(onEvent,11035221:doMT_InsertIcon,[(704,146)])
}
Add(HubEx,5521665,712,167)
{
Angle=3
link(onEvent,11035221:doAdd,[(716,97)])
}
Add(Hub,14470002,420,245)
{
link(onEvent1,15409844:doEvent3,[(567,251)(567,146)])
link(onEvent2,12534168:Scan,[(567,258)(567,300)])
}
2 Компонент "ToolBar"
При изменении размера формы надо чтобы все кнопки были доступны.
Хотел использовать "ToolBarLayout" когда кнопки при сужении формы становятся в несколько рядов, но в етом случае придется использовать кнопки россыпью.Да и при етом будет уменшаться рабочее пространство.
Хотел чтобы кнопки оставались в один ряд и прятались под стрелку, типа как в среде Hiasm с большим количеством открытых проектов.Может возможно добавить такую фишку в "ToolBar", или как то сделать россыпью???
3 Ну собственно последнее-разбиение строки. Вообще никаких соображений по етому поводу нет.
Строку с N-ым количеством символов надо разбить на куски строго ограниченной длины.
К примеру:
204jvgh567fc7b5trv745tyblvf
на:
204jv
gh567
fc7b5
trv74
5tybl
vf
также все куски должны быть в строгой последовательности и одинаковой длины за исключением последнего.
И еще в строке могут присутствовать спец символы, также разделители использовать затруднительно.