да я пока еще не знаю как подойдет чтоб в SQlite все это писать. Там еще один косяк есть - при выделении группы в дереве, таблица не очищается почему то. Хотя должна
------------ Дoбавленo в 03.33:
Если делать на основе примера, то при попытке загрузить потом сохраненную базу, он выдает ошибку 1000) что это такое хз Add(MainForm,8430926,119,77) { Width=741 Height=608 } Add(TreeViewTrain,16522206,273,161) { Left=5 Top=30 Width=350 Height=305 Name="111" Layout="1" IconsManager="icons" CaptionIndex=2 ParentIDIndex=1 IconIndex=3 Point(NextID) link(onClick,16076613:doEvent1,[]) } Add(ToolBar,16316461,623,175) { Width=725 Height=25 Align=2 Caption=0 Buttons=['=Add root group'=[ZIP3604000078DAAD922193C2301085F766F8019595E0AEF20C3F00D9190C127B1259598BAC8CACADAC44D6562291B5959191615F935CD20037C05D66BE493AE97BD97DC966BB5ED034D6CC2793583E686936EC7E38B4D67F266B2FF4751A68C5F3BBFA7A9074949AF27E9C7CD2A6FFE119FDAE1BA9E6B5608A41CD083D7FD3B7BCAE14233D731F79B747E841CB3D08D68BC823F481C73D3DF6A61C5C0DEA712D711FD0E14C57432395E181BEEDD46DFE36B72CCA1E7EA8837245A23733E8CE660EF5A821CCEB60FDE051349AD29DD7677B4DA5B8D587381FEC3BDD866BC8CFDEC7E97B7BF7F0B958D0B3B07DBBFF4B7CABB97E65DF1F3C00D6699403C0FFC9515352995EEA93CF11EF3FCC2EBE6368BF4B7F6E51F9F35F21ACFB3FB8022C6564E9],'=Add child group'=[ZIP3604000078DA73F235636100033320D600620128666450804840E591C1FFFFFFA98635D75E2319A3EB9F03A4B39F63C751F750312EFD53BE4370CB7B08C665064C3FB27B90F513320359FF1C2CF613328358FDB8CC20453F363348753F32C6A71F66064C2DA1F847D6076323EBC5E56EF47807E1A073EF51CC07F171B91B9B7E52DC8DCD0C64BDA4E41D6CEEA666DEC4850170CA6B53],'=Add text item'=[ZIP3604000078DA73F235636100033320D600620128666450804840E591C1FFFFFFF16262D4E0D34BAC3DB8F4EFDFBF9F68FD0C1F90D8AF50ED6778895D1D363318EE01F129A8FE0F50FA2454FC030137DC05E2FD40BC004D3F887F0062064EBD403782ED41D22BFFE22B83FE93F708334EFD47F10B8AFE8740BC0B556FFCF5FB0C8DE72E33C4DFB80F11DF055187E1E70F50B76F41E83700DADB74FE0A380E4034186C4184037A58A0DB2F07B51FA4370166FF4E4CFB51E2EC14AAFFE55E7E6530784C9CFFB1863F0C2C848ADF239C86C0669C84FA650B943E4538FE31D2DF43A89E07103E31E90F9F9964E52102FA01E5934A83],'-'=[],'=Remove node'=[ZIP3604000078DA73F235636100033320D600620128666450804840E591C1FFFFFF070D26C53DE86A29F51329E1824B9E18FDC4988DCB0C62FD87CD0C52C3061BA0244C298D0F72DD4E8AFF09D987CF0C62DD4AC86C62FD49ADBC0B00D9365139],'-'=[],'=Open data base'=[ZIP3604000078DA8D922D0F83301086BB64627212B9B9ED0F90CC2297CC4C6227919358241259CB4F40D62291486C2512D9DD958FDCE0283479D21E77EF4BAF6DF0F28FC20E1FB801E78183B8F489214F8731C6E2C57217633DC5CBCAFDCC3C3C595A24ACA37A9BBB54E2F4CD17FA5877D623D60E1A2382A259E8AF79251EAAB6FAA475001E816A17FAA0D0D6238738EBDCBC9516A1AA260FD4635F38A75DDF838BB0041F98A93E19F4916AA67D75CC3D21D88399EBA1B767A9A7B3DC03D54BE82B6560DF8AFC7F03181BA64F7AB76B63F4C0B3E7FE436321242A7A3E7D4CF3E841E1F63E7930FA659D64BE0FB90D3DADE5E235FFB57D70F563FC03A73D1FF4],'=Save data base'=[ZIP3604000078DACD90AD0EC32010806FC91E608F30395BD3A4B6B2C94C5FA18F50393B5959C92B2091582472128B9D434CB03B5A9A8A9690345946F209B8FBEE87FA5E9E219C12B9219799135CA7C01C5F1FEFFD5FF0A82A604D03ACAE4108B1092B8A09CA43A22B9F3DE8AE0BD03B670C54DF8341E7FDF1E09C036BEDE2C7BC3D5F53BFB605390C608C596AE4FA5629E0B807C71968EE5823D7375A831EC73007E73CD478E15B8E9FCB9E4F3BA748F914A73D53C41A295FE1FF6D91EB1FED2FA5FC797FBA536C6FF708E5ACDDA37C017AD94051],''=[]] link(onClick,4740543:doEvent,[(662,181)(662,153)(109,153)(109,314)]) } Add(IndexToChanel,4740543,119,308) { Count=8 link(onEvent1,5834471:doWork2,[]) link(onEvent2,10291642:doData,[]) link(onEvent3,4025649:doWork1,[]) link(onEvent4,2922034:doDeleteNode,[]) link(onEvent7,7148402:doExecute,[(173,356)(173,552)]) link(onEvent8,14674938:doSave,[(161,363)(161,615)]) } Add(ChildFormEx,6768159,252,308) { link(Data1,11034918:Var1,[(258,215)]) link(Op1,2602059:Var1,[(265,229)]) } BEGIN_SDK Add(EditMultiEx,5180010,21,21) { WorkCount=#11:doShowModal| DataCount=#5:Data1|3:Op1| Width=538 Height=382 link(doShowModal,12127803:doEvent1,[(56,27)(56,55)]) } Add(MainForm,2859469,427,28) { Left=35 Top=105 Width=274 Height=147 Visible=1 Caption="Добавить категорию" BorderStyle=1 Position=1 Point(doShowModal) Point(onKeyDown) link(onKeyDown,16253796:doCase,[]) } Add(MT_AddData,9095285,224,287) { Count=5 InputMT=0 link(onAdd,6929793:doAddNode,[]) link(Data1,5180010:Data1,[(230,263)(27,263)]) link(Data2,9958661:Value,[]) link(Data3,12613803:Text,[(244,247)(258,247)]) link(Data4,8417143:Value,[(251,254)(307,254)]) } Add(Edit,12613803,252,176) { Left=10 Top=40 Width=245 Height=25 Text="" } Add(Memory,9958661,231,119) { Default=Integer(-1) } Add(DoData,11647639,161,91) { link(onEventData,9958661:doValue,[(212,97)(212,125)]) link(Data,5180010:Op1,[(167,84)(34,84)]) } Add(Hub,12127803,70,49) { link(onEvent1,3000046:doCompare,[(91,55)(91,125)]) link(onEvent2,2859469:doShowModal,[]) } Add(Memory,8417143,301,182) { Default=Integer(0) } Add(Button,7812651,66,287) { Left=135 Top=75 Width=120 Height=30 Caption="Сохранить" link(onClick,11775512:doWork2,[]) } Add(TVT_AddNode,6929793,301,287) { TreeView="parent.111" link(onAddNode,7871510:doWork3,[(380,293)]) } Add(Button,14931281,322,84) { Left=10 Top=75 Width=120 Height=30 Caption="Отмена" link(onClick,7871510:doWork2,[]) } Add(HubEx,7871510,376,84) { Angle=3 link(onEvent,2859469:doClose,[(380,55)]) } Add(If_else,3000046,98,119) { Op2=Integer(1) link(onTrue,11647639:doData,[(146,125)(146,97)]) link(onFalse,9958661:doClear,[]) } Add(Hub,6076157,143,287) { link(onEvent1,9095285:doAdd,[]) link(onEvent2,12613803:doText2,[(196,300)(196,189)]) } Add(Case,16253796,490,49) { Value=Integer(13) link(onTrue,11775512:doWork1,[(533,62)(533,353)(116,353)]) } Add(HubEx,11775512,112,287) { link(onEvent,6076157:doEvent1,[]) } Add(Label,9761921,427,161) { Left=10 Top=10 Width=247 Height=17 Caption="Введите название новой категории или модели" } END_SDK Add(DoData,10291642,175,315) { Data=Integer(1) link(onEventData,5834471:doWork3,[(235,321)]) } Add(HubEx,5834471,231,308) { link(onEvent,6768159:doShowModal,[]) } Add(ChildForm,4025649,329,322) { link(Data1,11034918:Var2,[(335,278)(286,278)]) link(Data2,5202911:Var3,[(342,266)]) } BEGIN_SDK Add(EditMulti,14271794,21,21) { WorkCount=1 DataCount=2 Width=643 Height=424 link(doWork1,10431273:doShowModal,[(49,27)(49,83)]) } Add(MainForm,10431273,434,49) { Left=35 Top=105 Width=274 Height=147 Visible=1 Caption="Добавить группу" BorderStyle=1 Position=1 Point(doShowModal) Point(onKeyDown) link(onKeyDown,8300046:doCase,[]) } Add(MT_AddData,16058039,231,315) { Count=5 InputMT=3 link(onAdd,16442595:doAddNode,[]) link(Data1,14271794:Data1,[(237,168)(27,168)]) link(Data2,14271794:Data2,[(244,157)(34,157)]) link(Data3,9356448:Text,[]) link(Data4,3353666:Value,[(258,257)(300,257)]) link(Data5,2216455:Text,[(265,281)(342,281)]) } Add(Edit,9356448,245,218) { Left=10 Top=40 Width=245 Height=25 Text="" } Add(Memory,3353666,294,217) { Default=Integer(1) } Add(Button,12749180,73,315) { Left=135 Top=75 Width=120 Height=30 Caption="Сохранить" link(onClick,4464998:doWork2,[]) } Add(TVT_AddNode,16442595,308,315) { TreeView="parent.111" link(onAddNode,6363280:doWork3,[(387,321)]) } Add(Button,1403962,329,112) { Left=10 Top=75 Width=120 Height=30 Caption="Отмена" link(onClick,6363280:doWork2,[]) } Add(HubEx,6363280,383,112) { Angle=3 link(onEvent,10431273:doClose,[(387,76)]) } Add(Hub,4910814,150,315) { link(onEvent1,16058039:doAdd,[]) link(onEvent2,9356448:doText2,[(203,328)(203,231)]) } Add(Case,8300046,497,70) { Value=Integer(13) link(onTrue,4464998:doWork1,[(540,83)(540,381)(123,381)]) } Add(HubEx,4464998,119,315) { link(onEvent,4910814:doEvent1,[]) } Add(Label,6135568,434,189) { Left=10 Top=10 Width=168 Height=17 Caption="Введите название группы работ" } Add(StrList,2216455,336,203) { } END_SDK Add(InfoTip,14808531,231,287) { Info=#9:Новая кат| Width=71 Height=67 } Add(InfoTip,5224103,308,301) { Info=#12:Новая группа| Width=71 Height=60 } Add(TVT_DeleteNode,2922034,287,329) { TreeView="111" link(Data,5202911:Var2,[]) } Add(GetDataEx,5202911,287,261) { Angle=3 link(Data,2602059:Var2,[(279,266)]) } Add(GetDataEx,11034918,280,210) { link(Data,16522206:NextID,[]) } Add(GetDataEx,2602059,273,224) { link(Data,16522206:Select,[]) } Add(MultiElement,14868574,525,175) { link(onEvent1,16316461:doEnable,[]) link(onEvent2,16316461:doDisable,[]) } BEGIN_SDK Add(EditMulti,1300152,21,21) { EventCount=2 WorkCount=1 Width=461 Height=256 link(doWork1,4322354:doSeparateMT,[(42,27)(42,111)]) } Add(MT_MultiData,4322354,63,105) { From=3 Count=1 link(onData1,12130614:doCompare,[]) } Add(If_else,12130614,112,105) { Op2=Integer(1) link(onTrue,8149845:doEvent1,[(170,111)(170,174)]) link(onFalse,13106953:doEvent1,[(163,118)(163,90)]) } Add(Hub,13106953,182,84) { link(onEvent1,1987043:doData,[]) link(onEvent2,10698766:doData,[(206,97)(206,125)]) } Add(Hub,8149845,182,168) { link(onEvent1,4917722:doData,[]) link(onEvent2,8616344:doData,[(210,181)(210,209)]) } Add(DoData,1987043,224,84) { Data=Integer(2) link(onEventData,13775393:doEvent1,[]) } Add(DoData,10698766,224,119) { Data=Integer(1) link(onEventData,13775393:doEvent2,[(278,125)(278,97)]) } Add(DoData,4917722,224,168) { Data=Integer(2) link(onEventData,1297907:doEvent1,[]) } Add(DoData,8616344,224,203) { Data=Integer(1) link(onEventData,1297907:doEvent2,[(278,209)(278,181)]) } Add(Hub,13775393,301,84) { InCount=2 OutCount=1 link(onEvent1,1300152:onEvent1,[(388,90)(388,27)]) } Add(Hub,1297907,301,168) { InCount=2 OutCount=1 link(onEvent1,1300152:onEvent2,[(433,174)(433,34)]) } END_SDK Add(InfoTip,11169472,504,147) { Info=#15:активность меню| Width=71 Height=67 } Add(Hub,16076613,329,161) { link(onEvent1,10390038:doClear,[]) link(onEvent2,9294287:doSplit,[(354,174)(354,251)]) } Add(Edit,7908687,329,392) { Left=113 Top=346 Width=285 Height=25 Text="" } Add(Button,3591248,308,455) { Left=10 Top=345 Width=95 Height=25 Caption="добавить работу" link(onClick,11728132:doStrCatDlm,[]) } Add(Edit,1849066,385,392) { Left=410 Top=350 Text="" } Add(MTStrTbl,7847428,273,77) { Left=370 Top=30 Width=345 Height=300 Name="111" Columns=#1:1|1:2| SmallIconsManager="" } Add(MST_Clear,10390038,364,161) { MSTControl="111" link(onChange,14868574:doWork1,[(515,167)(515,181)]) } Add(StrCatDelim,11728132,364,455) { Delimiter=";" link(onStrCatDlm,15464523:doEvent1,[]) link(Str1,7908687:Text,[(370,439)(335,439)]) link(Str2,1849066:Text,[(377,439)(391,439)]) } Add(MT_String,16356153,665,441) { link(onResult,9149669:doWork3,[(753,447)]) } Add(StrList,4383086,651,224) { Strings=#20:Иван;Иванов;Иванович|24:Андрей;Андреев;Андреевич| } Add(ArrayEnum,1976442,665,308) { link(onItem,7530719:doMTString,[]) link(Array,4383086:Array,[]) } Add(MST_RowAction,15395190,763,294) { MSTControl="111" } Add(MT_String,7530719,714,294) { link(onResult,9149669:doWork2,[]) } Add(Hub,8276023,609,245) { link(onEvent1,4383086:doText,[]) link(onEvent2,1976442:doEnum,[(631,258)(631,314)]) } Add(HubEx,9149669,749,294) { link(onEvent,15395190:doRowAction,[]) } Add(MT_Part,9294287,483,245) { After=3 link(onSplit,8276023:doEvent1,[]) link(onPart,9540704:doValue,[]) } Add(MT_Memory,9540704,539,252) { } Add(TVT_ChangeNode,14220308,665,504) { TreeView="111" } Add(MT_AddData,12341309,595,504) { link(onAdd,14220308:doChangeNode,[]) link(Data1,9540704:Value,[(601,383)(545,383)]) link(Data2,4383086:Text,[(608,299)(657,299)]) } Add(Hub,15464523,427,455) { OutCount=4 link(onEvent1,16356153:doMTString,[]) link(onEvent2,4383086:doClear,[(452,468)(452,237)]) link(onEvent3,13450178:doEnum,[]) link(onEvent4,12341309:doAdd,[(466,482)(466,510)]) } Add(MST_ArrayRows,2780753,476,392) { MSTControl="111" } Add(MT_String,12686796,532,469) { link(onResult,4383086:doAdd,[(578,475)(578,230)]) } Add(MT_MTArrayEnum,13450178,476,469) { link(onItem,12686796:doStr,[]) link(Array,2780753:Strings,[]) } Add(TVT_DataSource,9063052,385,588) { TreeView="111" DataSource="tree" TableName="groups" Columns=#2:id|6:parent|4:name|4:icon|4:info| link(onLoad,7609486:doMessage,[(439,594)(439,559)]) link(onError,7255578:doMessage,[(433,601)(433,608)]) AddHint(3,-89,30,65,Columns) } Add(DS_SQLite,7942392,329,546) { Name="tree" } Add(ODialog,7148402,196,546) { Filter="Data base(*.db)|*db|All|*.*" Title="Open my data base" FileName="" link(onExecute,1277274:doEvent1,[]) } Add(Memory,8824546,280,546) { link(onData,7942392:doOpen,[]) } Add(MultiElementEx,14674938,280,609) { @Hint=#14:Save data base| link(onOpenSave,10751464:doWork3,[(327,615)(327,586)(270,586)]) link(onSave,9063052:doSave,[(367,622)(367,601)]) link(FileName,8824546:Value,[]) AddHint(49,36,90,13,@Hint) } BEGIN_SDK Add(EditMultiEx,8390861,35,35) { WorkCount=#6:doSave| EventCount=#10:onOpenSave|6:onSave| DataCount=#8:FileName| Width=328 Height=109 link(doSave,9996057:doCompare,[(45,41)(45,97)]) } Add(If_else,9996057,63,91) { Op1=String() link(onTrue,11518817:doExecute,[]) link(onFalse,3894936:doWork2,[(111,104)(111,48)]) link(Op2,8390861:FileName,[(76,63)(41,63)]) } Add(SDialog,11518817,119,91) { Filter="Data base(*.db)|*db|All|*.*" Title="Save my data base" FileName="mybase.db" link(onExecute,4647372:doEvent1,[]) } Add(DS_SQLite,10091800,224,91) { Name="new_tree" link(onOpen,1201215:doExec,[]) } Add(DSC_Exec,1201215,273,91) { SQL="CREATE TABLE groups(id INTEGER PRIMARY KEY , parent , name, icon, info)" DSManager="new_tree" link(onExec,10091800:doClose,[(317,97)(317,130)(216,130)(216,104)]) link(onError,13368377:doMessage,[]) } Add(Hub,4647372,168,91) { OutCount=3 link(onEvent1,10091800:doOpen,[]) link(onEvent2,8390861:onOpenSave,[(192,104)(192,41)]) link(onEvent3,3894936:doWork3,[(200,111)]) } Add(HubEx,3894936,196,42) { link(onEvent,8390861:onSave,[]) } Add(Message,13368377,343,98) { } END_SDK Add(HubEx,10751464,266,546) { link(onEvent,8824546:doValue,[]) } Add(Hub,1277274,238,546) { link(onEvent1,10751464:doWork2,[]) link(onEvent2,9063052:doLoad,[(263,559)(263,594)]) } Add(Message,7255578,469,602) { } Add(Message,7609486,462,553) { Message="ddd" }
|