Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26230
Рейтинг: 2140
#31: 2025-03-13 23:54:05 ЛС | профиль | цитата
Вот, немного подправил

Схема


Add(MainForm,14112285,497,322)
{
Width=860
Height=506
MarginLeft=3
MarginTop=3
MarginRight=3
MarginBottom=3
Border=3
BorderStyle=1
Position=1
}
Add(ChildScrollBox,8844261,553,371)
{
}
BEGIN_SDK
Add(EditMulti,4271376,21,21)
{
WorkCount=1
Width=727
Height=550
link(doWork1,879511:doEvent1,[(53,27)(53,76)])
}
Add(ScrollBox,964248,511,112)
{
Left=264
Width=605
Height=467
Align=5
WinStyle=2
Name="scrl_001"
BorderStyle=1
Point(Width)
}
Add(ChildPanelEx,2261261,560,217)
{
@Hint=#19:Динамические группы|
Mode=1
link(onVShift,8595977:doOperation,[(606,223)(606,139)(550,139)(550,160)])
link(onResult,4141012:doMessage,[])
link(pWidth,964248:Width,[(566,208)(531,208)])
link(vOffset,15893030:Var2,[])
AddHint(39,57,130,13,@Hint)
}
BEGIN_SDK
Add(EditMultiEx,3885935,21,21)
{
WorkCount=#5:##add|8:##select|
EventCount=#8:onVShift|8:onResult|0:|
VarCount=#7:##count|0:|
DataCount=#6:pWidth|7:vOffset|
Width=496
Height=403
Point(##add)
Point(##select)
Point(##count)
link(##add,4250363:doEvent1,[(39,27)(39,146)])
link(##select,1177020:doSplit,[(32,34)(32,265)])
}
Add(Panel,15904931,441,49)
{
Width=369
Height=86
Font=[MS Sans Serif,12,0,0,1]
Visible=1
Point(doWidth)
Point(Height)
Point(doTop)
Point(doHeight)
Point(doVisible)
}
Add(Button,11087212,91,147)
{
Left=2
Top=2
Width=95
Height=82
Align=1
Font=[MS Sans Serif,12,0,0,1]
TabOrder=-1
Caption=""
Point(doCaption)
link(onClick,16401184:doEvent1,[])
}
Add(MTStrTbl,11520425,210,294)
{
Left=97
Top=2
Width=270
Height=82
Align=5
Font=[MS Sans Serif,12,0,0,1]
WinStyle=3
Name="mtbl_001"
Columns=#9:name1=150|9:name2=100|9:name3=250|9:name4=200|
Style=4
Grid=0
Point(doHeight)
}
Add(Hub,4250363,49,140)
{
link(onEvent1,6740804:doOperation,[(80,146)(80,62)])
link(onEvent2,11087212:doCaption,[])
}
Add(Math,6740804,175,56)
{
OpType=1
Op2=18
ResultType=0
link(onResult,15904931:doWidth,[])
link(Op1,3885935:pWidth,[(181,47)(27,47)])
}
Add(MT_Part,1177020,91,259)
{
link(onSplit,3091176:doCase,[])
}
Add(MT_String,11205836,224,245)
{
Delimeter="_"
link(onResult,9614300:doRowAction,[])
}
Add(MST_RowAction,9614300,280,245)
{
MSTControl="mtbl_001"
}
Add(Case,3091176,147,259)
{
@Hint=#34:Выделение команды установки высоты|
Value=String(-1)
link(onNextCase,11205836:doMTString,[])
link(onTrue,7577038:doOperation,[(193,272)(193,363)])
AddHint(-118,113,179,26,@Hint)
}
Add(Math,7577038,224,357)
{
OpType=2
Op2=24
ResultType=0
link(onResult,8700013:doEvent1,[])
link(Op1,11520425:Count,[])
}
Add(Hub,8700013,280,357)
{
OutCount=4
link(onEvent1,2608456:doData,[(305,363)(305,300)])
link(onEvent2,15904931:doHeight,[(368,370)(368,76)])
link(onEvent3,11458420:doOperation,[])
link(onEvent4,13247899:doWork2,[(375,384)(375,111)])
}
Add(DoData,2608456,322,294)
{
link(onEventData,15904931:doTop,[(361,300)(361,69)])
link(Data,3885935:vOffset,[(328,33)(34,33)])
}
Add(Math,11458420,441,371)
{
OpType=1
Op2=1
link(onResult,3885935:onVShift,[(480,377)(480,27)])
link(Op1,15904931:Height,[])
}
Add(ChanelToIndex,13247899,392,98)
{
link(onIndex,15904931:doVisible,[(431,104)(431,83)])
}
Add(MST_ArrayRows,15673897,175,98)
{
MSTControl="mtbl_001"
}
Add(MT_MTArrayEnum,9756254,175,154)
{
link(onItem,10915627:doStr,[])
link(Array,15673897:Strings,[])
}
Add(MT_String,10915627,224,154)
{
link(onResult,10031208:doAdd,[])
}
Add(StrList,10031208,280,154)
{
}
Add(DoData,3602060,280,203)
{
link(onEventData,3885935:onResult,[(333,209)(333,34)])
link(Data,10031208:Text,[])
}
Add(Hub,16401184,140,147)
{
OutCount=3
link(onEvent1,10031208:doClear,[(165,153)(165,146)(263,146)(263,167)])
link(onEvent2,9756254:doEnum,[])
link(onEvent3,3602060:doData,[(165,167)(165,209)])
}
END_SDK
Add(MT_String,11581838,189,126)
{
link(onResult,14798857:doValue,[])
}
Add(MT_MultiData,10069644,301,126)
{
From=2
Count=1
link(onData1,5953592:doCase,[])
}
Add(Case,5953592,357,126)
{
Value=String(-1)
link(onTrue,11554508:doSeparateMT,[(396,139)(396,118)(235,118)(235,223)])
}
Add(MT_Memory,14798857,245,126)
{
link(onData,10069644:doSeparateMT,[])
}
Add(MT_MultiData,11554508,245,217)
{
Count=1
Point(Data)
link(onData1,2261261:##add,[])
link(Data,14798857:Value,[])
}
Add(StrList,10000206,126,49)
{
}
Add(Hub,879511,63,70)
{
OutCount=3
link(onEvent1,10000206:doText,[])
link(onEvent2,151755:doEnum,[(116,83)(116,146)])
link(onEvent3,9978300:doEnum,[(109,90)(109,328)])
}
Add(ArrayEnum,151755,140,140)
{
link(onItem,11581838:doMTString,[])
link(Array,5355832:Var2,[])
}
Add(ArrayEnum,9978300,126,322)
{
link(onItem,11602246:doMTString,[])
link(onEndEnum,4154590:doEvent1,[(169,335)(169,475)])
link(Array,5355832:Var1,[(132,117)])
}
Add(GetDataEx,5355832,140,112)
{
link(Data,10000206:Array,[])
}
Add(MT_String,11602246,189,308)
{
link(onResult,11144894:doValue,[])
}
Add(MT_Memory,11144894,245,308)
{
link(onData,2376732:doSeparateMT,[])
}
Add(MT_MultiData,2376732,301,308)
{
From=2
Count=1
link(onData1,2285829:doCase,[])
}
Add(Case,2285829,357,308)
{
Value=String(-1)
link(onNextCase,5418568:doConvert,[])
}
Add(MT_MultiData,16457722,245,385)
{
Count=1
Point(Data)
link(onData1,4443410:doAdd,[])
link(Data,11144894:Value,[])
}
Add(MT_Add,4443410,413,385)
{
InputMT=1
link(onAdd,11319913:doWork2,[])
link(Data,5418568:Var,[])
}
Add(ConvertorEx,5418568,413,308)
{
Mode=1
link(onResult,16457722:doSeparateMT,[(452,314)(452,300)(235,300)(235,391)])
}
Add(For,5457338,413,476)
{
IncludeEnd=1
link(onEvent,5228770:doAdd,[])
link(End,2261261:##count,[(426,467)(566,467)])
}
Add(MT_Add,5228770,469,476)
{
@Hint=#35:Команда на установку высоты -- "-1"|
Data=String(-1)
link(onAdd,11319913:doWork3,[(515,482)])
AddHint(13,45,183,26,@Hint)
}
Add(HubEx,11319913,511,385)
{
Angle=3
link(onEvent,2261261:##select,[(515,230)])
}
Add(Math,8595977,567,154)
{
ResultType=0
Point(doClear)
link(Op2,15893030:Var1,[(580,145)(559,145)(559,194)])
}
Add(GetDataEx,15893030,567,189)
{
link(Data,8595977:Result,[])
}
Add(Hub,4154590,343,469)
{
OutCount=3
link(onEvent1,8595977:doClear,[(396,475)(396,167)])
link(onEvent2,5457338:doFor,[])
link(onEvent3,3963701:doRedraw,[(375,489)(375,524)])
}
Add(RedrawManager,3963701,413,518)
{
ControlManager="scrl_001"
}
Add(Message,4141012,630,224)
{
}
Add(InfoTip,14744595,126,91)
{
Info=#24:Парсинг заголовков групп|
Width=330
Height=165
Margin=10
}
Add(InfoTip,14361363,119,266)
{
Info=#25:Парсинг содержимого групп|
Width=344
Height=158
Margin=10
}
Add(InfoTip,8628584,308,434)
{
Info=#24:Установка размеров групп|
Width=267
Height=123
Margin=10
}
END_SDK
Add(ChildFormEx,13097368,497,371)
{
link(onSendToTable,8844261:doWork1,[])
}
BEGIN_SDK
Add(EditMultiEx,3339126,21,21)
{
EventCount=#13:onSendToTable|
Width=902
Height=571
}
Add(MainForm,13836894,658,539)
{
Left=35
Top=105
Width=510
Height=431
MarginLeft=3
MarginTop=3
MarginRight=3
MarginBottom=3
Border=3
BorderStyle=3
Position=3
}
Add(Memo,14630204,161,84)
{
Left=5
Top=5
Width=245
Height=355
Strings=#59:1.02.2025;Гвозди;135шт;Эдуард Суровый;Плохо закалачиваются;|40:1.02.2025;Бананы;555шт;Тамара Ивановна;;|67:1.02.2025;Бананы;705шт;Вера Сергеевна, Татьяна Сергеевна;Сосисочная|23:1.02.2025;Гвозди;135шт;|65:2.02.2025;Лак для волос;5шт;Джамшут Равшанович;Ничего не понятно;|88:2.02.2025;Топор;705шт;Вера Сергеевна, Татьяна Сергеевна; нет фантазии что то придумать);|43:3.02.2025;Гвозди;45шт;Пол Гилберт, Стив Вай|38:4.02.2025;Бананы;542шт;Тамара Ивановна|58:4.02.2025;Хлеб;123шт;Аркадий Укупник, Филипп Бедросыч; |
ScrollBars=3
}
Add(ArrayFilterRepeats,12024156,707,266)
{
link(onEndFilter,16312575:doEnum,[])
link(Array,7552928:Array,[])
}
Add(StrList,10808540,567,147)
{
}
Add(ArrayEnum,6209312,175,147)
{
link(onItem,3522122:doSplit,[])
link(onEndEnum,7543828:doEnum,[(214,160)(214,223)])
link(Array,14630204:Array,[])
}
Add(MultiStrData,3522122,224,147)
{
Count=1
link(onPart1,2827148:doConvert,[])
}
Add(StrList,7552928,693,217)
{
}
Add(ArrayEnum,7543828,581,217)
{
link(onItem,4569756:doSplit,[])
link(onEndEnum,12024156:doFilter,[(634,230)(634,272)])
link(Array,14054089:Var2,[])
}
Add(MultiStrData,4569756,644,217)
{
Count=1
link(onPart1,7552928:doAdd,[])
}
Add(FormatStr,423063,812,273)
{
Mask="%1;%2;-1"
link(onFString,980245:doAdd,[])
link(Str2,16312575:Index,[(825,264)(804,264)(804,313)(769,313)])
}
Add(ArrayEnum,16312575,756,273)
{
link(onItem,423063:doString,[])
link(onEndEnum,13241821:doEnum,[(795,286)(795,321)(193,321)(193,342)])
link(Array,12024156:ArrayFilter,[(762,264)(748,264)(748,306)(713,306)])
}
Add(Replace,9950737,448,147)
{
SubStr=";"
DestStr="_"
link(onReplace,5791458:doStrCatDlm,[])
}
Add(Trim,1755495,364,147)
{
Char=" "
Mode=2
link(onTrim,1106632:doTrim,[])
link(Text,3522122:RemaindStr,[(370,138)(272,138)(272,187)(230,187)])
}
Add(Trim,1106632,406,147)
{
Char=";"
Mode=2
link(onTrim,9950737:doReplace,[])
}
Add(Memo,6440523,658,441)
{
Left=255
Top=5
Width=245
Height=355
ScrollBars=3
}
Add(ArrayEnum,13241821,203,336)
{
link(onItem,4337509:doEvent1,[])
link(Array,980245:Array,[(209,327)(881,327)])
}
Add(ArrayEnum,15988690,294,441)
{
link(onItem,13600319:doSplit,[])
link(Array,14054089:Var1,[(300,201)])
}
Add(MultiStrPart,3790315,392,378)
{
}
Add(If_else,6979627,385,441)
{
link(onTrue,8811699:doString,[])
link(Op2,3790315:Part1,[])
}
Add(MultiStrData,13600319,336,441)
{
Count=1
link(onPart1,6979627:doCompare,[])
}
Add(GetDataEx,14054089,581,196)
{
link(Data,10808540:Array,[])
}
Add(FormatStr,8811699,448,441)
{
DataCount=3
Mask="%1;%2;%3"
link(onFString,16709857:doWork2,[])
link(Str1,13600319:RemaindStr,[(454,432)(440,432)(440,481)(342,481)])
link(Str2,1420522:GetData,[])
link(Str3,3790315:Part2,[(468,425)(405,425)])
}
Add(Hub,4337509,259,336)
{
OutCount=3
link(onEvent1,16709857:doWork1,[(606,342)])
link(onEvent2,3790315:doSplit,[(382,349)(382,384)])
link(onEvent3,15988690:doEnum,[(284,356)(284,447)])
}
Add(StrList,980245,861,273)
{
}
Add(EventFromData,1420522,455,378)
{
link(onEvent,14098023:doConvert,[])
}
Add(HubEx,16709857,602,441)
{
link(onEvent,6440523:doAdd,[])
}
Add(Convertor,14098023,511,378)
{
Mode=1
link(onResult,10549897:doOperation,[])
link(Data,15988690:Index,[(517,369)(503,369)(503,488)(307,488)])
}
Add(Math,10549897,560,378)
{
Op2=1001
ResultType=0
link(onResult,1420522:doData,[(599,384)(599,363)(445,363)(445,384)])
}
Add(Button,4979143,56,42)
{
Left=175
Top=375
TabOrder=-1
Caption="Convert"
link(onClick,6525798:doEvent1,[])
}
Add(Button,16237282,560,497)
{
Left=235
Top=375
Width=95
TabOrder=-1
Caption="SendToTable"
link(onClick,12979427:doEvent1,[])
}
Add(DoData,12599514,658,497)
{
link(onEventData,3339126:onSendToTable,[(900,503)(900,27)])
link(Data,6440523:Text,[])
}
Add(Hub,12979427,616,497)
{
link(onEvent1,12599514:doData,[])
link(onEvent2,13836894:doClose,[(648,510)(648,566)])
}
Add(Hub,6525798,105,42)
{
OutCount=5
link(onEvent1,980245:doClear,[(851,48)(851,286)])
link(onEvent2,7552928:doClear,[(683,55)(683,230)])
link(onEvent3,10808540:doClear,[(550,62)(550,160)])
link(onEvent4,6440523:doClear,[(130,69)(130,496)(529,496)(529,454)])
link(onEvent5,6209312:doEnum,[(139,76)(139,153)])
}
Add(DateConvertor,2827148,280,147)
{
Mode=8
Format="dd.MM.yyyy"
link(onResult,1720819:doConvert,[])
}
Add(DateConvertor,1720819,322,147)
{
Mode=9
Format="dd.MM.yyyy"
Point(Result)
link(onResult,1755495:doTrim,[])
}
Add(StrCatDelim,5791458,497,147)
{
Delimiter=";"
link(onStrCatDlm,10808540:doAdd,[])
link(Str1,1720819:Result,[(503,138)(489,138)(489,187)(328,187)])
}
Add(InfoTip,6282113,217,98)
{
Info=#18:Нормализация строк|
Width=323
Height=116
Margin=10
}
END_SDK

карма: 22

0
Ответов: 147
Рейтинг: 0
#32: 2025-03-14 02:51:19 ЛС | профиль | цитата
nesco писал(а):
Вот, немного подправил

Бурные аплодисменты переходят в овации! браво, спасибо
карма: 0

0
Разработчик
Ответов: 26230
Рейтинг: 2140
#33: 2025-03-14 16:22:30 ЛС | профиль | цитата
Все же решил доделать с функционалом базы данных

Схема

Add(MainForm,2953706,441,238)
{
Width=715
Height=506
MarginLeft=3
MarginTop=3
MarginRight=3
MarginBottom=3
Border=3
Caption="MultiTable"
BorderStyle=1
Position=1
Point(onClose)
link(onClose,2890957:doWork2,[])
}
Add(ChildScrollBox,8844261,539,308)
{
}
BEGIN_SDK
Add(EditMulti,4271376,21,21)
{
WorkCount=1
Width=377
Height=228
link(doWork1,879511:doEvent1,[(53,27)(53,48)])
}
Add(ScrollBox,964248,322,77)
{
Width=709
Height=438
Align=2
WinStyle=2
Name="scrl_001"
BorderStyle=1
Point(Width)
}
Add(ChildPanelEx,2261261,266,147)
{
@Hint=#19:Динамические группы|
Mode=1
link(onVShift,8595977:doOperation,[(305,153)(305,62)(249,62)(249,83)])
link(onResult,4141012:doMessage,[])
link(vOffset,15893030:Var2,[])
link(pWidth,964248:Width,[(279,138)(342,138)])
AddHint(-21,69,130,13,@Hint)
}
BEGIN_SDK
Add(EditMultiEx,3885935,21,21)
{
WorkCount=#7:##clear|5:##add|8:##select|
EventCount=#8:onVShift|8:onResult|
VarCount=#7:##count|0:|
DataCount=#7:vOffset|6:pWidth|
Width=650
Height=522
Point(##clear)
Point(##add)
Point(##select)
Point(##count)
link(##add,11635148:doSeparateMT,[(46,34)(46,146)])
link(##select,13247899:doWork2,[(39,41)(39,503)])
}
Add(Panel,15904931,602,49)
{
Width=369
Height=86
Font=[MS Sans Serif,12,0,0,1]
Visible=1
Name="panel_001"
Point(doWidth)
Point(Height)
Point(doTop)
Point(doHeight)
Point(doVisible)
}
Add(Button,11087212,266,147)
{
Width=95
Height=85
Align=1
Font=[MS Sans Serif,12,0,0,1]
TabOrder=-1
WinStyle=3
Caption=""
Point(doCaption)
Point(doFont)
link(onClick,16401184:doEvent1,[])
}
Add(MTStrTbl,11520425,343,357)
{
Left=87
Width=280
Height=82
Align=5
Font=[MS Sans Serif,12,0,0,1]
WinStyle=3
Name="mtbl_001"
Columns=#9:name1=150|8:name2=70|9:name3=180|9:name4=150|
Style=4
Grid=0
Point(doAlign)
}
Add(Hub,4250363,196,140)
{
link(onEvent1,6740804:doOperation,[(221,146)(221,62)])
link(onEvent2,11087212:doCaption,[])
}
Add(Math,6740804,392,56)
{
OpType=1
Op2=18
ResultType=0
link(onResult,15904931:doWidth,[])
link(Op1,3885935:pWidth,[(398,26)(34,26)])
}
Add(Math,7577038,287,462)
{
OpType=2
ResultType=0
link(onResult,6737462:doOperation,[])
link(Op1,14478038:Result,[])
link(Op2,11520425:Count,[(300,446)(363,446)])
}
Add(Hub,8700013,448,462)
{
OutCount=3
link(onEvent1,2608456:doData,[(473,468)(473,433)])
link(onEvent2,15904931:doHeight,[(578,475)(578,76)])
link(onEvent3,11458420:doOperation,[])
}
Add(DoData,2608456,532,427)
{
link(onEventData,15904931:doTop,[(571,433)(571,69)])
link(Data,3885935:vOffset,[(538,292)(27,292)])
}
Add(Math,11458420,602,476)
{
OpType=1
Op2=1
link(onResult,3885935:onVShift,[(648,482)(648,27)])
link(Op1,15904931:Height,[])
}
Add(ChanelToIndex,13247899,532,490)
{
link(onIndex,15904931:doVisible,[(585,496)(585,83)])
}
Add(FontManager,7461808,140,301)
{
ControlManager="mtbl_001"
Point(FontCharset)
}
Add(Font,6371043,140,357)
{
Point(CharSet)
link(onFont,4843448:doEvent1,[])
link(Size,7461808:FontSize,[])
link(Color,7461808:FontColor,[])
link(Name,7461808:FontName,[])
link(Style,7461808:FontStyle,[])
link(CharSet,7461808:FontCharset,[])
}
Add(Img_Text,3115299,280,357)
{
Text="W"
Point(doFont)
}
Add(Hub,4843448,196,357)
{
OutCount=3
link(onEvent1,11087212:doFont,[(249,363)(249,160)])
link(onEvent2,3115299:doFont,[])
link(onEvent3,14478038:doOperation,[(221,377)(221,412)])
}
Add(Math,14478038,287,406)
{
Op2=1
ResultType=0
link(Op1,3115299:TextHeight,[])
}
Add(InfoTip,6154573,112,294)
{
Info=#25:Определение высоты группы|
VAlign=2
Width=274
Height=235
Margin=10
}
Add(DSC_Query,14267734,343,245)
{
@Color=5614250
DSManager="parent.parent.sqlite_1"
link(onQuery,2337115:doAddRow,[])
}
Add(FormatStr,11075861,196,245)
{
DataCount=1
Mask="SELECT product,quantity,buyer,note FROM elements WHERE parent=%1"
link(onFString,14267734:doQuery,[])
link(Str1,8637286:Value,[])
}
Add(MT_MultiData,11635148,77,140)
{
link(onData1,4250363:doEvent1,[])
link(onData2,8637286:doValue,[(130,153)(130,188)])
}
Add(Memory,8637286,196,182)
{
link(onData,15029490:doEvent1,[(235,188)(235,223)(67,223)(67,356)])
}
Add(MST_ArrayRows,15673897,343,98)
{
MSTControl="mtbl_001"
}
Add(MT_MTArrayEnum,9756254,343,154)
{
link(onItem,10915627:doStr,[])
link(Array,15673897:Strings,[])
}
Add(MT_String,10915627,392,154)
{
link(onResult,2224873:doTrim,[])
}
Add(StrList,10031208,497,154)
{
}
Add(DoData,3602060,497,203)
{
link(onEventData,3885935:onResult,[(536,209)(536,34)])
link(Data,10031208:Text,[])
}
Add(Hub,16401184,308,147)
{
OutCount=3
link(onEvent1,10031208:doClear,[(333,153)(333,146)(480,146)(480,167)])
link(onEvent2,9756254:doEnum,[])
link(onEvent3,3602060:doData,[(333,167)(333,209)])
}
Add(Hub,15029490,77,350)
{
OutCount=3
link(onEvent1,7859062:doClear,[(102,356)(102,251)])
link(onEvent2,6371043:doFont,[])
link(onEvent3,7577038:doOperation,[(130,370)(130,468)])
}
Add(MST_DB,2337115,392,245)
{
MSTControl="mtbl_001"
}
Add(MST_Clear,7859062,140,245)
{
MSTControl="mtbl_001"
link(onChange,11075861:doString,[])
}
Add(Trim,2224873,441,154)
{
Char=";"
link(onTrim,10031208:doAdd,[])
}
Add(Math,6737462,399,462)
{
Op2=7
ResultType=0
link(onResult,8700013:doEvent1,[])
}
END_SDK
Add(Hub,879511,63,42)
{
OutCount=5
link(onEvent1,2261261:##clear,[(88,48)(88,41)(242,41)(242,153)])
link(onEvent2,8345200:doQuery,[])
link(onEvent3,8595977:doClear,[(116,62)(116,90)])
link(onEvent4,3963701:doBeginUpdate,[(88,69)(88,209)])
link(onEvent5,1686440:doFor,[(109,76)(109,167)])
}
Add(Math,8595977,266,77)
{
ResultType=0
Point(doClear)
link(Op2,15893030:Var1,[(279,68)(258,68)(258,124)])
}
Add(GetDataEx,15893030,266,119)
{
link(Data,8595977:Result,[])
}
Add(RedrawManager,3963701,182,189)
{
ControlManager="scrl_001"
Point(doEndUpdate)
Point(doBeginUpdate)
}
Add(Message,4141012,322,154)
{
}
Add(For,1686440,126,161)
{
IncludeEnd=1
link(onEvent,2261261:##select,[])
link(onStop,3963701:doEndUpdate,[(172,174)(172,202)])
link(End,2261261:##count,[(139,145)(223,145)(223,208)(272,208)])
}
Add(DSC_Query,8345200,126,49)
{
@Color=5614250
SQL="SELECT name,idx FROM groups"
DSManager="parent.sqlite_1"
link(onQuery,2261261:##add,[(228,55)(228,160)])
}
END_SDK
Add(DS_SQLite,5269537,539,252)
{
@Color=5614250
Name="sqlite_1"
FileName=":memory:"
WaitClose=0
Point(onClose)
link(onOpen,3519221:doExec,[])
link(onClose,13097368:doStart,[(578,265)(578,349)(431,349)(431,307)])
}
Add(ChildFormEx,13097368,441,294)
{
link(onCreate,5269537:doOpen,[(487,300)(487,258)])
link(onClose,2890957:doWork3,[(514,307)])
link(onSendToTable,8844261:doWork1,[])
}
BEGIN_SDK
Add(EditMultiEx,3339126,21,21)
{
WorkCount=#10:doGetTable|7:doStart|
EventCount=#8:onCreate|7:onClose|13:onSendToTable|
Width=706
Height=466
link(doGetTable,13836894:doShowModal,[(158,27)(158,454)])
link(doStart,15721710:doWork2,[(39,34)(39,160)])
}
Add(MainForm,13836894,308,413)
{
Left=35
Top=105
Width=543
Height=420
MarginLeft=3
MarginTop=3
MarginRight=3
MarginBottom=3
Border=3
Visible=1
Caption="Convert ListToDB"
BorderStyle=3
Position=3
Point(doVisible)
Point(doShowModal)
link(onActivate,2870680:doTimer,[])
}
Add(Memo,14630204,182,91)
{
Width=537
Height=355
Align=2
Strings=#59:1.02.2025;Гвозди;135шт;Эдуард Суровый;Плохо закалачиваются;|40:1.02.2025;Бананы;555шт;Тамара Ивановна;;|67:1.02.2025;Бананы;705шт;Вера Сергеевна, Татьяна Сергеевна;Сосисочная|23:1.02.2025;Гвозди;135шт;|65:2.02.2025;Лак для волос;5шт;Джамшут Равшанович;Ничего не понятно;|88:2.02.2025;Топор;705шт;Вера Сергеевна, Татьяна Сергеевна; нет фантазии что то придумать);|43:3.02.2025;Гвозди;45шт;Пол Гилберт, Стив Вай|38:4.02.2025;Бананы;542шт;Тамара Ивановна|58:4.02.2025;Хлеб;123шт;Аркадий Укупник, Филипп Бедросыч; |
ScrollBars=3
}
Add(ArrayEnum,6209312,196,154)
{
link(onItem,3522122:doSplit,[])
link(onEndEnum,11897762:doEvent1,[(235,167)(235,244)])
link(Array,14630204:Array,[])
}
Add(MultiStrData,3522122,252,154)
{
Count=1
link(onPart1,2827148:doConvert,[])
}
Add(FormatStr,423063,357,238)
{
DataCount=1
Mask="UPDATE variable SET count = (SELECT count FROM variable WHERE id = 1) + 1 WHERE id = 1;\r\nINSERT INTO groups VALUES(Null,'%1',(SELECT count FROM variable WHERE id = 1),-1);"
link(onFString,9529671:doExec,[])
}
Add(Trim,1755495,392,154)
{
Char=" "
Mode=2
link(onTrim,1106632:doTrim,[])
link(Text,3522122:RemaindStr,[(398,145)(300,145)(300,194)(258,194)])
}
Add(Trim,1106632,434,154)
{
Char=";"
Mode=2
link(onTrim,5791458:doStrCatDlm,[])
}
Add(Button,4979143,98,147)
{
Left=225
Top=365
Width=85
akLeft=1
akRight=0
Enabled=1
TabOrder=-1
Caption="Convert"
Point(doEnabled)
link(onClick,4266426:doEvent1,[])
}
Add(DateConvertor,2827148,308,154)
{
Mode=8
Format="dd.MM.yyyy"
link(onResult,1720819:doConvert,[])
}
Add(DateConvertor,1720819,350,154)
{
Mode=9
Format="dd.MM.yyyy"
Point(Result)
link(onResult,1755495:doTrim,[])
}
Add(InfoTip,6282113,245,105)
{
Info=#18:Нормализация строк|
Width=295
Height=116
Margin=10
}
Add(DSC_Exec,9529671,406,238)
{
@Color=5614250
DSManager="parent.sqlite_1"
}
Add(DSC_Query,14226630,308,280)
{
@Color=5614250
SQL="SELECT name,idx FROM groups"
DSManager="parent.sqlite_1"
link(onQuery,6177478:doEvent1,[])
}
Add(FormatStr,884083,602,140)
{
DataCount=5
Mask="UPDATE variable SET count = (SELECT count FROM variable WHERE id = 2) + 1 WHERE id = 2;\r\nINSERT INTO elements VALUES(Null,'%1','%2','%3','%4','%5',(SELECT count FROM variable WHERE id = 2),-1);"
link(onFString,1233640:doExec,[])
}
Add(StrCatDelim,5791458,490,154)
{
Delimiter=";"
link(onStrCatDlm,12997162:doMTString,[])
link(Str1,1720819:Result,[(496,145)(482,145)(482,194)(356,194)])
}
Add(MT_String,12997162,553,140)
{
link(onResult,884083:doString,[])
}
Add(DSC_Exec,1233640,658,140)
{
@Color=5614250
DSManager="parent.sqlite_1"
}
Add(DSC_Query,15791966,308,238)
{
@Color=5614250
SQL="SELECT DISTINCT date FROM elements;"
DSManager="parent.sqlite_1"
link(onQuery,423063:doString,[])
}
Add(Hub,11897762,252,238)
{
OutCount=4
link(onEvent1,15791966:doQuery,[])
link(onEvent2,14226630:doQuery,[(284,251)(284,286)])
link(onEvent3,3339126:onSendToTable,[(291,258)(291,41)])
link(onEvent4,13836894:doClose,[(278,265)(278,440)])
}
Add(MT_MultiMem,3370357,490,280)
{
}
Add(DSC_Query,6070957,392,350)
{
@Color=5614250
SQL="SELECT id,date FROM elements"
DSManager="parent.sqlite_1"
link(onQuery,12065741:doValue,[])
}
Add(Hub,6177478,357,280)
{
link(onEvent1,3370357:doValue,[])
link(onEvent2,6070957:doQuery,[(382,293)(382,356)])
}
Add(If_else,8732812,490,350)
{
link(onTrue,2074840:doString,[])
link(Op1,3370357:Value1,[])
link(Op2,12065741:Value2,[(503,341)(531,341)(531,390)(454,390)])
}
Add(FormatStr,2074840,546,350)
{
Mask="UPDATE elements SET parent = %2 WHERE id = %1;"
link(onFString,1835631:doExec,[])
link(Str1,12065741:Value1,[(552,341)(538,341)(538,397)(447,397)])
link(Str2,3370357:Value2,[(559,334)(503,334)])
}
Add(DSC_Exec,1835631,602,350)
{
@Color=5614250
DSManager="parent.sqlite_1"
}
Add(MT_MultiMem,12065741,441,350)
{
link(onData,8732812:doCompare,[])
}
Add(Hub,4266426,140,147)
{
link(onEvent1,3339126:onCreate,[(165,153)(165,27)])
link(onEvent2,6209312:doEnum,[])
}
Add(Timer,2870680,357,413)
{
Interval=0
Enable=1
AutoStop=1
link(onTimer,6227862:doEvent1,[])
}
Add(Hub,6227862,406,413)
{
link(onEvent1,15721710:doWork1,[(431,419)(431,468)(46,468)(46,153)])
link(onEvent2,3339126:onClose,[(697,426)(697,34)])
}
Add(ChanelToIndex,15721710,56,147)
{
link(onIndex,4979143:doEnabled,[])
}
END_SDK
Add(DSC_Exec,3519221,588,252)
{
@Color=5614250
SQL="CREATE TABLE variable(id INTEGER PRIMARY KEY AUTOINCREMENT, count int);\r\nINSERT INTO variable VALUES(Null,-1);\r\nINSERT INTO variable VALUES(Null,1000);\r\nCREATE TABLE groups(id INTEGER PRIMARY KEY AUTOINCREMENT,name text,idx int,parent int);\r\nCREATE TABLE elements(id INTEGER PRIMARY KEY AUTOINCREMENT,date text,product text,quantity text,buyer text,note text,idx int,parent int);"
DSManager="sqlite_1"
}
Add(HubEx,2890957,510,259)
{
link(onEvent,5269537:doClose,[])
}
Add(Button,12804036,385,294)
{
Left=310
Top=450
Width=85
akLeft=1
akRight=0
TabOrder=-1
Caption="Get Table"
link(onClick,13097368:doGetTable,[])
}


Редактировалось 2 раз(а), последний 2025-03-14 16:33:48
карма: 22

1
Голосовали:Gitarist
Ответов: 147
Рейтинг: 0
#34: 2025-03-16 02:22:37 ЛС | профиль | цитата
nesco писал(а):
Вот, немного подправил

Схема


Почему то пропадает строка при нажатии на нее.. Там где "гвозди 45 шт.."



Редактировалось 1 раз(а), последний 2025-03-16 02:24:38
карма: 0

0
Разработчик
Ответов: 26230
Рейтинг: 2140
#35: 2025-03-16 04:04:20 ЛС | профиль | цитата
Это проблема коррекции высоты таблиц. В db-версии такого нет, тк там нормальная коррекция. Используй вот такую схему со списком, там я встроил схему коррекции от db-версии.

Схема


Add(MainForm,14112285,497,322)
{
Width=860
Height=506
MarginLeft=3
MarginTop=3
MarginRight=3
MarginBottom=3
Border=3
BorderStyle=1
Position=1
}
Add(ChildFormEx,13097368,497,371)
{
link(onSendToTable,10241014:doWork1,[])
}
BEGIN_SDK
Add(EditMultiEx,3339126,21,21)
{
EventCount=#13:onSendToTable|
Width=902
Height=571
}
Add(MainForm,13836894,658,539)
{
Left=35
Top=105
Width=510
Height=431
MarginLeft=3
MarginTop=3
MarginRight=3
MarginBottom=3
Border=3
BorderStyle=3
Position=3
}
Add(Memo,14630204,161,84)
{
Left=5
Top=5
Width=245
Height=355
Strings=#59:1.02.2025;Гвозди;135шт;Эдуард Суровый;Плохо закалачиваются;|40:1.02.2025;Бананы;555шт;Тамара Ивановна;;|67:1.02.2025;Бананы;705шт;Вера Сергеевна, Татьяна Сергеевна;Сосисочная|23:1.02.2025;Гвозди;135шт;|65:2.02.2025;Лак для волос;5шт;Джамшут Равшанович;Ничего не понятно;|88:2.02.2025;Топор;705шт;Вера Сергеевна, Татьяна Сергеевна; нет фантазии что то придумать);|43:3.02.2025;Гвозди;45шт;Пол Гилберт, Стив Вай|38:4.02.2025;Бананы;542шт;Тамара Ивановна|58:4.02.2025;Хлеб;123шт;Аркадий Укупник, Филипп Бедросыч; |
ScrollBars=3
}
Add(ArrayFilterRepeats,12024156,707,266)
{
link(onEndFilter,16312575:doEnum,[])
link(Array,7552928:Array,[])
}
Add(StrList,10808540,567,147)
{
}
Add(ArrayEnum,6209312,175,147)
{
link(onItem,3522122:doSplit,[])
link(onEndEnum,7543828:doEnum,[(214,160)(214,223)])
link(Array,14630204:Array,[])
}
Add(MultiStrData,3522122,224,147)
{
Count=1
link(onPart1,2827148:doConvert,[])
}
Add(StrList,7552928,693,217)
{
}
Add(ArrayEnum,7543828,581,217)
{
link(onItem,4569756:doSplit,[])
link(onEndEnum,12024156:doFilter,[(634,230)(634,272)])
link(Array,14054089:Var2,[])
}
Add(MultiStrData,4569756,644,217)
{
Count=1
link(onPart1,7552928:doAdd,[])
}
Add(FormatStr,423063,812,273)
{
Mask="%1;%2;-1"
link(onFString,980245:doAdd,[])
link(Str2,16312575:Index,[(825,264)(804,264)(804,313)(769,313)])
}
Add(ArrayEnum,16312575,756,273)
{
link(onItem,423063:doString,[])
link(onEndEnum,13241821:doEnum,[(795,286)(795,321)(193,321)(193,342)])
link(Array,12024156:ArrayFilter,[(762,264)(748,264)(748,306)(713,306)])
}
Add(Replace,9950737,448,147)
{
SubStr=";"
DestStr="_"
link(onReplace,5791458:doStrCatDlm,[])
}
Add(Trim,1755495,364,147)
{
Char=" "
Mode=2
link(onTrim,1106632:doTrim,[])
link(Text,3522122:RemaindStr,[(370,138)(272,138)(272,187)(230,187)])
}
Add(Trim,1106632,406,147)
{
Char=";"
Mode=2
link(onTrim,9950737:doReplace,[])
}
Add(Memo,6440523,658,441)
{
Left=255
Top=5
Width=245
Height=355
ScrollBars=3
}
Add(ArrayEnum,13241821,203,336)
{
link(onItem,4337509:doEvent1,[])
link(Array,980245:Array,[(209,327)(881,327)])
}
Add(ArrayEnum,15988690,294,441)
{
link(onItem,13600319:doSplit,[])
link(Array,14054089:Var1,[(300,201)])
}
Add(MultiStrPart,3790315,392,378)
{
}
Add(If_else,6979627,385,441)
{
link(onTrue,8811699:doString,[])
link(Op2,3790315:Part1,[])
}
Add(MultiStrData,13600319,336,441)
{
Count=1
link(onPart1,6979627:doCompare,[])
}
Add(GetDataEx,14054089,581,196)
{
link(Data,10808540:Array,[])
}
Add(FormatStr,8811699,448,441)
{
DataCount=3
Mask="%1;%2;%3"
link(onFString,16709857:doWork2,[])
link(Str1,13600319:RemaindStr,[(454,432)(440,432)(440,481)(342,481)])
link(Str2,1420522:GetData,[])
link(Str3,3790315:Part2,[(468,425)(405,425)])
}
Add(Hub,4337509,259,336)
{
OutCount=3
link(onEvent1,16709857:doWork1,[(606,342)])
link(onEvent2,3790315:doSplit,[(382,349)(382,384)])
link(onEvent3,15988690:doEnum,[(284,356)(284,447)])
}
Add(StrList,980245,861,273)
{
}
Add(EventFromData,1420522,455,378)
{
link(onEvent,14098023:doConvert,[])
}
Add(HubEx,16709857,602,441)
{
link(onEvent,6440523:doAdd,[])
}
Add(Convertor,14098023,511,378)
{
Mode=1
link(onResult,10549897:doOperation,[])
link(Data,15988690:Index,[(517,369)(503,369)(503,488)(307,488)])
}
Add(Math,10549897,560,378)
{
Op2=1001
ResultType=0
link(onResult,1420522:doData,[(599,384)(599,363)(445,363)(445,384)])
}
Add(Button,4979143,56,42)
{
Left=175
Top=375
TabOrder=-1
Caption="Convert"
link(onClick,6525798:doEvent1,[])
}
Add(Button,16237282,560,497)
{
Left=235
Top=375
Width=95
TabOrder=-1
Caption="SendToTable"
link(onClick,12979427:doEvent1,[])
}
Add(DoData,12599514,658,497)
{
link(onEventData,3339126:onSendToTable,[(900,503)(900,27)])
link(Data,6440523:Text,[])
}
Add(Hub,12979427,616,497)
{
link(onEvent1,12599514:doData,[])
link(onEvent2,13836894:doClose,[(648,510)(648,566)])
}
Add(Hub,6525798,105,42)
{
OutCount=5
link(onEvent1,980245:doClear,[(851,48)(851,286)])
link(onEvent2,7552928:doClear,[(683,55)(683,230)])
link(onEvent3,10808540:doClear,[(550,62)(550,160)])
link(onEvent4,6440523:doClear,[(130,69)(130,496)(529,496)(529,454)])
link(onEvent5,6209312:doEnum,[(139,76)(139,153)])
}
Add(DateConvertor,2827148,280,147)
{
Mode=8
Format="dd.MM.yyyy"
link(onResult,1720819:doConvert,[])
}
Add(DateConvertor,1720819,322,147)
{
Mode=9
Format="dd.MM.yyyy"
Point(Result)
link(onResult,1755495:doTrim,[])
}
Add(StrCatDelim,5791458,497,147)
{
Delimiter=";"
link(onStrCatDlm,10808540:doAdd,[])
link(Str1,1720819:Result,[(503,138)(489,138)(489,187)(328,187)])
}
Add(InfoTip,6282113,217,98)
{
Info=#18:Нормализация строк|
Width=323
Height=116
Margin=10
}
END_SDK
Add(ChildScrollBox,10241014,553,371)
{
}
BEGIN_SDK
Add(EditMulti,12535406,21,21)
{
WorkCount=1
Width=699
Height=655
link(doWork1,15482777:doEvent1,[(53,27)(53,69)])
}
Add(ScrollBox,5299410,644,77)
{
Left=264
Width=605
Height=467
Align=5
WinStyle=2
Name="scrl_001"
BorderStyle=1
Point(Width)
}
Add(ChildPanelEx,1669096,588,217)
{
@Hint=#19:Динамические группы|
Mode=1
link(onVShift,12802051:doOperation,[(634,223)(634,139)(578,139)(578,83)])
link(onResult,11379007:doMessage,[])
link(onChange,1686440:doStop,[(627,237)(627,433)(508,433)(508,405)])
link(Data,4531338:Value,[(594,208)(531,208)])
link(vOffset,12218633:Var2,[])
link(pWidth,5299410:Width,[(608,208)(664,208)])
AddHint(-144,49,130,13,@Hint)
}
BEGIN_SDK
Add(EditMultiEx,6304993,21,21)
{
WorkCount=#5:##add|8:##select|
EventCount=#8:onVShift|8:onResult|8:onChange|
VarCount=#7:##count|0:|
DataCount=#4:Data|7:vOffset|6:pWidth|
Width=643
Height=522
Point(##add)
Point(##select)
Point(##count)
link(##add,8487389:doGet,[(39,27)(39,139)])
link(##select,6510707:doEvent1,[(32,34)(32,265)])
}
Add(Panel,10830307,595,49)
{
Width=369
Height=86
Font=[MS Sans Serif,12,0,0,1]
Visible=1
Point(doWidth)
Point(Height)
Point(doTop)
Point(doHeight)
Point(doVisible)
}
Add(Button,11235681,273,147)
{
Width=135
Height=85
Align=1
Font=[MS Sans Serif,12,0,0,1]
TabOrder=-1
Caption=""
Point(doCaption)
Point(doFont)
link(onClick,1463088:doEvent1,[])
}
Add(MTStrTbl,12506907,399,406)
{
Left=87
Top=2
Width=280
Height=82
Align=5
Font=[MS Sans Serif,11,0,0,1]
WinStyle=3
Name="mtbl_001"
Columns=#9:name1=150|9:name2=100|9:name3=200|9:name4=200|
Style=4
Grid=0
Point(doHeight)
}
Add(Hub,605455,231,140)
{
link(onEvent1,16488826:doOperation,[(256,146)(256,62)])
link(onEvent2,11235681:doCaption,[])
}
Add(Math,16488826,364,56)
{
OpType=1
Op2=18
ResultType=0
link(onResult,10830307:doWidth,[])
link(Op1,6304993:pWidth,[(370,33)(41,33)])
}
Add(MT_Part,1822915,84,259)
{
Point(Data)
link(onSplit,57225:doCase,[])
link(onPart,2644914:doValue,[(123,272)(123,202)])
link(Data,6304993:Data,[(90,196)(27,196)])
}
Add(MT_String,9552694,364,245)
{
Delimeter="_"
link(onResult,10610057:doRowAction,[])
}
Add(MST_RowAction,10610057,413,245)
{
MSTControl="mtbl_001"
link(onChange,6304993:onChange,[(529,251)(529,41)])
}
Add(Case,57225,140,259)
{
@Hint=#34:Выделение команды установки высоты|
Value=String(-1)
link(onNextCase,14653826:doCompare,[])
}
Add(Math,11458943,350,462)
{
OpType=2
ResultType=0
link(onResult,6737462:doOperation,[])
link(Op1,14478038:Result,[])
link(Op2,12506907:Count,[(363,446)(419,446)])
}
Add(Hub,3015440,469,462)
{
OutCount=4
link(onEvent1,4803001:doData,[(494,468)(494,405)])
link(onEvent2,10830307:doHeight,[(564,475)(564,76)])
link(onEvent3,13913388:doOperation,[])
link(onEvent4,5445920:doWork2,[(508,489)(508,503)])
}
Add(DoData,4803001,518,399)
{
link(onEventData,10830307:doTop,[(557,405)(557,69)])
link(Data,6304993:vOffset,[(524,26)(34,26)])
}
Add(Math,13913388,595,476)
{
OpType=1
Op2=1
link(onResult,6304993:onVShift,[(634,482)(634,27)])
link(Op1,10830307:Height,[])
}
Add(ChanelToIndex,5445920,518,490)
{
link(onIndex,10830307:doVisible,[(571,496)(571,83)])
}
Add(MST_ArrayRows,9996900,364,98)
{
MSTControl="mtbl_001"
}
Add(MT_MTArrayEnum,10820685,364,154)
{
link(onItem,3346368:doStr,[])
link(Array,9996900:Strings,[])
}
Add(MT_String,3346368,413,154)
{
link(onResult,16638578:doAdd,[])
}
Add(StrList,16638578,476,154)
{
}
Add(DoData,11347758,476,203)
{
link(onEventData,6304993:onResult,[(515,209)(515,34)])
link(Data,16638578:Text,[])
}
Add(Hub,1463088,329,147)
{
OutCount=3
link(onEvent1,16638578:doClear,[(354,153)(354,146)(452,146)(452,167)])
link(onEvent2,10820685:doEnum,[])
link(onEvent3,11347758:doData,[(354,167)(354,209)])
}
Add(FontManager,7461808,252,301)
{
ControlManager="mtbl_001"
Point(FontCharset)
}
Add(Font,6371043,252,357)
{
Point(CharSet)
link(onFont,4843448:doEvent1,[])
link(Size,7461808:FontSize,[])
link(Color,7461808:FontColor,[])
link(Name,7461808:FontName,[])
link(Style,7461808:FontStyle,[])
link(CharSet,7461808:FontCharset,[])
}
Add(Img_Text,3115299,343,357)
{
Text="W"
Point(doFont)
}
Add(Hub,4843448,308,357)
{
OutCount=3
link(onEvent1,11235681:doFont,[(333,363)(333,258)(263,258)(263,160)])
link(onEvent2,3115299:doFont,[])
link(onEvent3,14478038:doOperation,[(333,377)(333,412)])
}
Add(Hub,8908957,217,357)
{
link(onEvent1,6371043:doFont,[])
link(onEvent2,11458943:doOperation,[(242,370)(242,468)])
}
Add(Math,14478038,350,406)
{
Op2=1
ResultType=0
link(Op1,3115299:TextHeight,[])
}
Add(InfoTip,6154573,175,294)
{
Info=#25:Определение высоты группы|
VAlign=2
Width=267
Height=228
Margin=10
}
Add(MT_Get,8487389,112,133)
{
link(onData,13161768:doValue,[(151,139)(151,97)])
link(onGet,605455:doEvent1,[])
}
Add(If_else,14653826,203,259)
{
link(onTrue,9552694:doMTString,[])
link(Op1,13161768:Value,[(209,250)(174,250)])
link(Op2,2644914:Value,[])
}
Add(Memory,13161768,168,91)
{
@Hint=#9:ID группы|
AddHint(-99,-17,65,13,@Hint)
}
Add(MT_Part,52021,84,350)
{
Point(Data)
link(onSplit,4904759:doCase,[])
}
Add(Case,4904759,140,350)
{
@Hint=#34:Выделение команды установки высоты|
Value=String(-1)
link(onTrue,8908957:doEvent1,[])
}
Add(Hub,6510707,49,259)
{
link(onEvent1,1822915:doSplit,[])
link(onEvent2,52021:doSplit,[(74,272)(74,356)])
}
Add(Memory,2644914,210,196)
{
@Hint=#9:ID группы|
AddHint(-119,-24,65,13,@Hint)
}
Add(Math,6737462,399,462)
{
Op2=7
ResultType=0
link(onResult,3015440:doEvent1,[])
}
END_SDK
Add(MT_String,3122400,189,126)
{
link(onResult,1119119:doValue,[])
}
Add(MT_MultiData,11540865,301,126)
{
From=2
Count=1
link(onData1,6716843:doCase,[])
}
Add(Case,6716843,357,126)
{
Value=String(-1)
link(onTrue,4994313:doSplit,[(396,139)(396,118)(235,118)(235,216)])
}
Add(MT_Memory,1119119,245,126)
{
link(onData,11540865:doSeparateMT,[])
}
Add(StrList,10057320,126,42)
{
}
Add(Hub,15482777,63,63)
{
OutCount=3
link(onEvent1,10057320:doText,[])
link(onEvent2,6046805:doEnum,[(116,76)(116,146)])
link(onEvent3,8642004:doEnum,[(109,83)(109,328)])
}
Add(ArrayEnum,6046805,140,140)
{
link(onItem,3122400:doMTString,[])
link(Array,11581044:Var2,[])
}
Add(ArrayEnum,8642004,126,322)
{
link(onItem,11124551:doMTString,[])
link(onEndEnum,7129739:doEvent1,[(169,335)(169,552)])
link(Array,11581044:Var1,[(132,117)])
}
Add(GetDataEx,11581044,140,112)
{
link(Data,10057320:Array,[])
}
Add(MT_String,11124551,189,308)
{
link(onResult,11780074:doValue,[])
}
Add(MT_Memory,11780074,245,308)
{
link(onData,7993773:doSeparateMT,[])
}
Add(MT_MultiData,7993773,301,308)
{
From=2
Count=1
link(onData1,162657:doCase,[])
}
Add(Case,162657,357,308)
{
Value=String(-1)
link(onNextCase,6284193:doValue,[])
}
Add(MT_MultiData,1144918,245,385)
{
Count=1
Point(Data)
link(onData1,16678758:doAdd,[])
link(Data,11780074:Value,[])
}
Add(MT_Add,16678758,413,385)
{
InputMT=1
link(onAdd,7252016:doEvent1,[])
link(Data,6284193:Value,[])
}
Add(For,6627846,413,553)
{
IncludeEnd=1
link(onEvent,8985546:doAdd,[])
link(End,3777253:Var2,[(426,502)(594,502)])
}
Add(MT_Add,8985546,469,553)
{
@Hint=#35:Команда на установку высоты -- "-1"|
Data=String(-1)
link(onAdd,9407443:doWork3,[(571,559)])
AddHint(-274,-80,183,26,@Hint)
}
Add(HubEx,9407443,567,392)
{
Angle=3
link(onEvent,1669096:##select,[(571,230)])
}
Add(Math,12802051,595,77)
{
ResultType=0
Point(doClear)
link(Op2,12218633:Var1,[(608,68)(587,68)(587,194)])
}
Add(GetDataEx,12218633,595,189)
{
link(Data,12802051:Result,[])
}
Add(Hub,7129739,343,546)
{
OutCount=3
link(onEvent1,12802051:doClear,[(403,552)(403,90)])
link(onEvent2,6627846:doFor,[])
link(onEvent3,419848:doRedraw,[(375,566)(375,601)])
}
Add(RedrawManager,419848,413,595)
{
ControlManager="scrl_001"
}
Add(Message,11379007,658,224)
{
}
Add(InfoTip,13536292,126,84)
{
Info=#24:Парсинг заголовков групп|
Width=330
Height=165
Margin=10
}
Add(InfoTip,29376,119,266)
{
Info=#25:Парсинг содержимого групп|
Width=344
Height=193
Margin=10
}
Add(InfoTip,3085443,329,518)
{
Info=#24:Установка размеров групп|
VAlign=2
Width=197
Height=137
Margin=10
}
Add(MT_Part,4994313,245,210)
{
After=1
Point(Data)
link(onPart,1669096:##add,[])
link(Data,1119119:Value,[])
}
Add(For,1686440,518,392)
{
IncludeEnd=1
link(onEvent,9407443:doWork2,[])
link(End,3777253:Var1,[(531,362)])
}
Add(GetDataEx,3777253,588,357)
{
link(Data,1669096:##count,[])
}
Add(MT_Memory,4531338,525,133)
{
}
Add(Memory,6284193,413,308)
{
link(onData,1144918:doSeparateMT,[(452,314)(452,300)(235,300)(235,391)])
}
Add(Hub,7252016,476,385)
{
link(onEvent1,4531338:doValue,[(501,391)(501,139)])
link(onEvent2,1686440:doFor,[])
}
END_SDK

карма: 22

0
Ответов: 147
Рейтинг: 0
#36: 2025-03-16 19:57:51 ЛС | профиль | цитата
nesco писал(а):
Это проблема коррекции высоты таблиц. В db-версии такого нет, тк там нормальная коррекция. Используй вот такую схему со списком, там я встроил схему коррекции от db-версии.

Схема


|А в этой схеме дублируется последняя строка ...

Редактировалось 1 раз(а), последний 2025-03-16 19:58:14
карма: 0

0
Разработчик
Ответов: 26230
Рейтинг: 2140
#37: 2025-03-16 23:42:46 ЛС | профиль | цитата
Gitarist писал(а):
А в этой схеме дублируется последняя строка

Черт его знает почему. Вот тебе упрощенная схема с коррекцией высоты

Схема


Add(MainForm,14112285,427,189)
{
Width=860
Height=506
MarginLeft=3
MarginTop=3
MarginRight=3
MarginBottom=3
Border=3
BorderStyle=1
Position=1
}
Add(ChildScrollBox,8844261,483,238)
{
}
BEGIN_SDK
Add(EditMulti,4271376,21,21)
{
WorkCount=1
Width=727
Height=550
link(doWork1,879511:doEvent1,[(53,27)(53,76)])
}
Add(ScrollBox,964248,511,112)
{
Left=264
Width=605
Height=467
Align=5
WinStyle=2
Name="scrl_001"
BorderStyle=1
Point(Width)
}
Add(ChildPanelEx,2261261,560,217)
{
@Hint=#19:Динамические группы|
Mode=1
link(onVShift,8595977:doOperation,[(606,223)(606,139)(550,139)(550,160)])
link(onResult,4141012:doMessage,[])
link(pWidth,964248:Width,[(566,208)(531,208)])
link(vOffset,15893030:Var2,[])
AddHint(39,57,130,13,@Hint)
}
BEGIN_SDK
Add(EditMultiEx,3885935,21,21)
{
WorkCount=#5:##add|8:##select|
EventCount=#8:onVShift|8:onResult|0:|
VarCount=#7:##count|0:|
DataCount=#6:pWidth|7:vOffset|
Width=622
Height=501
Point(##add)
Point(##select)
Point(##count)
link(##add,4250363:doEvent1,[(39,27)(39,146)])
link(##select,1177020:doSplit,[(32,34)(32,265)])
}
Add(Panel,15904931,588,49)
{
Width=369
Height=86
Font=[MS Sans Serif,12,0,0,1]
Visible=1
Point(doWidth)
Point(Height)
Point(doTop)
Point(doHeight)
Point(doVisible)
}
Add(Button,11087212,91,147)
{
Left=2
Top=2
Width=95
Height=82
Align=1
Font=[MS Sans Serif,12,0,0,1]
TabOrder=-1
Caption=""
Point(doCaption)
Point(doFont)
link(onClick,16401184:doEvent1,[])
}
Add(MTStrTbl,11520425,364,399)
{
Left=97
Top=2
Width=270
Height=82
Align=5
Font=[MS Sans Serif,11,0,0,1]
WinStyle=3
Name="mtbl_001"
Columns=#9:name1=150|9:name2=100|9:name3=250|9:name4=200|
Style=4
Grid=0
Point(doHeight)
}
Add(Hub,4250363,49,140)
{
link(onEvent1,6740804:doOperation,[(80,146)(80,62)])
link(onEvent2,11087212:doCaption,[])
}
Add(Math,6740804,175,56)
{
OpType=1
Op2=18
ResultType=0
link(onResult,15904931:doWidth,[])
link(Op1,3885935:pWidth,[(181,47)(27,47)])
}
Add(MT_Part,1177020,56,259)
{
link(onSplit,3091176:doCase,[])
}
Add(MT_String,11205836,378,245)
{
Delimeter="_"
link(onResult,9614300:doRowAction,[])
}
Add(MST_RowAction,9614300,434,245)
{
MSTControl="mtbl_001"
}
Add(Case,3091176,105,259)
{
@Hint=#34:Выделение команды установки высоты|
Value=String(-1)
link(onNextCase,11205836:doMTString,[])
link(onTrue,8908957:doEvent1,[(172,272)(172,356)])
AddHint(-65,-44,179,26,@Hint)
}
Add(Hub,8700013,434,455)
{
OutCount=4
link(onEvent1,2608456:doData,[(459,461)(459,433)])
link(onEvent2,15904931:doHeight,[(522,468)(522,76)])
link(onEvent3,11458420:doOperation,[])
link(onEvent4,13247899:doWork2,[(529,482)(529,111)])
}
Add(DoData,2608456,469,427)
{
link(onEventData,15904931:doTop,[(508,433)(508,69)])
link(Data,3885935:vOffset,[(475,26)(34,26)])
}
Add(Math,11458420,588,469)
{
OpType=1
Op2=1
link(onResult,3885935:onVShift,[(627,475)(627,27)])
link(Op1,15904931:Height,[])
}
Add(ChanelToIndex,13247899,539,98)
{
link(onIndex,15904931:doVisible,[(578,104)(578,83)])
}
Add(MST_ArrayRows,15673897,175,98)
{
MSTControl="mtbl_001"
}
Add(MT_MTArrayEnum,9756254,175,154)
{
link(onItem,10915627:doStr,[])
link(Array,15673897:Strings,[])
}
Add(MT_String,10915627,224,154)
{
link(onResult,10031208:doAdd,[])
}
Add(StrList,10031208,280,154)
{
}
Add(DoData,3602060,280,203)
{
link(onEventData,3885935:onResult,[(319,209)(319,34)])
link(Data,10031208:Text,[])
}
Add(Hub,16401184,140,147)
{
OutCount=3
link(onEvent1,10031208:doClear,[(165,153)(165,146)(263,146)(263,167)])
link(onEvent2,9756254:doEnum,[])
link(onEvent3,3602060:doData,[(165,167)(165,209)])
}
Add(Math,11458943,315,455)
{
OpType=2
ResultType=0
link(onResult,6737462:doOperation,[])
link(Op1,14478038:Result,[])
link(Op2,11520425:Count,[(328,439)(384,439)])
}
Add(FontManager,7461808,217,294)
{
ControlManager="mtbl_001"
Point(FontCharset)
}
Add(Font,6371043,217,350)
{
Point(CharSet)
link(onFont,4843448:doEvent1,[])
link(Size,7461808:FontSize,[])
link(Color,7461808:FontColor,[])
link(Name,7461808:FontName,[])
link(Style,7461808:FontStyle,[])
link(CharSet,7461808:FontCharset,[])
}
Add(Img_Text,3115299,308,350)
{
Text="W"
Point(doFont)
}
Add(Hub,4843448,273,350)
{
OutCount=3
link(onEvent1,11087212:doFont,[(298,356)(298,251)(81,251)(81,160)])
link(onEvent2,3115299:doFont,[])
link(onEvent3,14478038:doOperation,[(298,370)(298,405)])
}
Add(Hub,8908957,182,350)
{
link(onEvent1,6371043:doFont,[])
link(onEvent2,11458943:doOperation,[(207,363)(207,461)])
}
Add(Math,14478038,315,399)
{
Op2=1
ResultType=0
link(Op1,3115299:TextHeight,[])
}
Add(Math,6737462,364,455)
{
Op2=7
ResultType=0
link(onResult,8700013:doEvent1,[])
}
END_SDK
Add(MT_String,11581838,189,126)
{
link(onResult,14798857:doValue,[])
}
Add(MT_MultiData,10069644,301,126)
{
From=2
Count=1
link(onData1,5953592:doCase,[])
}
Add(Case,5953592,357,126)
{
Value=String(-1)
link(onTrue,11554508:doSeparateMT,[(396,139)(396,118)(235,118)(235,223)])
}
Add(MT_Memory,14798857,245,126)
{
link(onData,10069644:doSeparateMT,[])
}
Add(MT_MultiData,11554508,245,217)
{
Count=1
Point(Data)
link(onData1,2261261:##add,[])
link(Data,14798857:Value,[])
}
Add(StrList,10000206,126,49)
{
}
Add(Hub,879511,63,70)
{
OutCount=3
link(onEvent1,10000206:doText,[])
link(onEvent2,151755:doEnum,[(116,83)(116,146)])
link(onEvent3,9978300:doEnum,[(109,90)(109,328)])
}
Add(ArrayEnum,151755,140,140)
{
link(onItem,11581838:doMTString,[])
link(Array,5355832:Var2,[])
}
Add(ArrayEnum,9978300,126,322)
{
link(onItem,11602246:doMTString,[])
link(onEndEnum,4154590:doEvent1,[(169,335)(169,475)])
link(Array,5355832:Var1,[(132,117)])
}
Add(GetDataEx,5355832,140,112)
{
link(Data,10000206:Array,[])
}
Add(MT_String,11602246,189,308)
{
link(onResult,11144894:doValue,[])
}
Add(MT_Memory,11144894,245,308)
{
link(onData,2376732:doSeparateMT,[])
}
Add(MT_MultiData,2376732,301,308)
{
From=2
Count=1
link(onData1,2285829:doCase,[])
}
Add(Case,2285829,357,308)
{
Value=String(-1)
link(onNextCase,5418568:doConvert,[])
}
Add(MT_MultiData,16457722,245,385)
{
Count=1
Point(Data)
link(onData1,4443410:doAdd,[])
link(Data,11144894:Value,[])
}
Add(MT_Add,4443410,413,385)
{
InputMT=1
link(onAdd,11319913:doWork2,[])
link(Data,5418568:Var,[])
}
Add(ConvertorEx,5418568,413,308)
{
Mode=1
link(onResult,16457722:doSeparateMT,[(452,314)(452,300)(235,300)(235,391)])
}
Add(For,5457338,413,476)
{
IncludeEnd=1
link(onEvent,5228770:doAdd,[])
link(End,2261261:##count,[(426,467)(566,467)])
}
Add(MT_Add,5228770,469,476)
{
@Hint=#35:Команда на установку высоты -- "-1"|
Data=String(-1)
link(onAdd,11319913:doWork3,[(515,482)])
AddHint(13,45,183,26,@Hint)
}
Add(HubEx,11319913,511,385)
{
Angle=3
link(onEvent,2261261:##select,[(515,230)])
}
Add(Math,8595977,567,154)
{
ResultType=0
Point(doClear)
link(Op2,15893030:Var1,[(580,145)(559,145)(559,194)])
}
Add(GetDataEx,15893030,567,189)
{
link(Data,8595977:Result,[])
}
Add(Hub,4154590,343,469)
{
OutCount=3
link(onEvent1,8595977:doClear,[(396,475)(396,167)])
link(onEvent2,5457338:doFor,[])
link(onEvent3,3963701:doRedraw,[(375,489)(375,524)])
}
Add(RedrawManager,3963701,413,518)
{
ControlManager="scrl_001"
}
Add(Message,4141012,630,224)
{
}
Add(InfoTip,14744595,126,91)
{
Info=#24:Парсинг заголовков групп|
Width=330
Height=165
Margin=10
}
Add(InfoTip,14361363,119,266)
{
Info=#25:Парсинг содержимого групп|
Width=344
Height=158
Margin=10
}
Add(InfoTip,8628584,308,434)
{
Info=#24:Установка размеров групп|
Width=267
Height=123
Margin=10
}
END_SDK
Add(ChildFormEx,13097368,427,238)
{
link(onSendToTable,8844261:doWork1,[])
}
BEGIN_SDK
Add(EditMultiEx,3339126,21,21)
{
EventCount=#13:onSendToTable|
Width=902
Height=571
}
Add(MainForm,13836894,658,539)
{
Left=35
Top=105
Width=510
Height=431
MarginLeft=3
MarginTop=3
MarginRight=3
MarginBottom=3
Border=3
BorderStyle=3
Position=3
}
Add(Memo,14630204,161,84)
{
Left=5
Top=5
Width=245
Height=355
Strings=#59:1.02.2025;Гвозди;135шт;Эдуард Суровый;Плохо закалачиваются;|40:1.02.2025;Бананы;555шт;Тамара Ивановна;;|67:1.02.2025;Бананы;705шт;Вера Сергеевна, Татьяна Сергеевна;Сосисочная|23:1.02.2025;Гвозди;135шт;|65:2.02.2025;Лак для волос;5шт;Джамшут Равшанович;Ничего не понятно;|88:2.02.2025;Топор;705шт;Вера Сергеевна, Татьяна Сергеевна; нет фантазии что то придумать);|43:3.02.2025;Гвозди;45шт;Пол Гилберт, Стив Вай|38:4.02.2025;Бананы;542шт;Тамара Ивановна|58:4.02.2025;Хлеб;123шт;Аркадий Укупник, Филипп Бедросыч; |
ScrollBars=3
}
Add(ArrayFilterRepeats,12024156,707,266)
{
link(onEndFilter,16312575:doEnum,[])
link(Array,7552928:Array,[])
}
Add(StrList,10808540,567,147)
{
}
Add(ArrayEnum,6209312,175,147)
{
link(onItem,3522122:doSplit,[])
link(onEndEnum,7543828:doEnum,[(214,160)(214,223)])
link(Array,14630204:Array,[])
}
Add(MultiStrData,3522122,224,147)
{
Count=1
link(onPart1,2827148:doConvert,[])
}
Add(StrList,7552928,693,217)
{
}
Add(ArrayEnum,7543828,581,217)
{
link(onItem,4569756:doSplit,[])
link(onEndEnum,12024156:doFilter,[(634,230)(634,272)])
link(Array,14054089:Var2,[])
}
Add(MultiStrData,4569756,644,217)
{
Count=1
link(onPart1,7552928:doAdd,[])
}
Add(FormatStr,423063,812,273)
{
Mask="%1;%2;-1"
link(onFString,980245:doAdd,[])
link(Str2,16312575:Index,[(825,264)(804,264)(804,313)(769,313)])
}
Add(ArrayEnum,16312575,756,273)
{
link(onItem,423063:doString,[])
link(onEndEnum,13241821:doEnum,[(795,286)(795,321)(193,321)(193,342)])
link(Array,12024156:ArrayFilter,[(762,264)(748,264)(748,306)(713,306)])
}
Add(Replace,9950737,448,147)
{
SubStr=";"
DestStr="_"
link(onReplace,5791458:doStrCatDlm,[])
}
Add(Trim,1755495,364,147)
{
Char=" "
Mode=2
link(onTrim,1106632:doTrim,[])
link(Text,3522122:RemaindStr,[(370,138)(272,138)(272,187)(230,187)])
}
Add(Trim,1106632,406,147)
{
Char=";"
Mode=2
link(onTrim,9950737:doReplace,[])
}
Add(Memo,6440523,658,441)
{
Left=255
Top=5
Width=245
Height=355
ScrollBars=3
}
Add(ArrayEnum,13241821,203,336)
{
link(onItem,4337509:doEvent1,[])
link(Array,980245:Array,[(209,327)(881,327)])
}
Add(ArrayEnum,15988690,294,441)
{
link(onItem,13600319:doSplit,[])
link(Array,14054089:Var1,[(300,201)])
}
Add(MultiStrPart,3790315,392,378)
{
}
Add(If_else,6979627,385,441)
{
link(onTrue,8811699:doString,[])
link(Op2,3790315:Part1,[])
}
Add(MultiStrData,13600319,336,441)
{
Count=1
link(onPart1,6979627:doCompare,[])
}
Add(GetDataEx,14054089,581,196)
{
link(Data,10808540:Array,[])
}
Add(FormatStr,8811699,448,441)
{
DataCount=3
Mask="%1;%2;%3"
link(onFString,16709857:doWork2,[])
link(Str1,13600319:RemaindStr,[(454,432)(440,432)(440,481)(342,481)])
link(Str2,1420522:GetData,[])
link(Str3,3790315:Part2,[(468,425)(405,425)])
}
Add(Hub,4337509,259,336)
{
OutCount=3
link(onEvent1,16709857:doWork1,[(606,342)])
link(onEvent2,3790315:doSplit,[(382,349)(382,384)])
link(onEvent3,15988690:doEnum,[(284,356)(284,447)])
}
Add(StrList,980245,861,273)
{
}
Add(EventFromData,1420522,455,378)
{
link(onEvent,14098023:doConvert,[])
}
Add(HubEx,16709857,602,441)
{
link(onEvent,6440523:doAdd,[])
}
Add(Convertor,14098023,511,378)
{
Mode=1
link(onResult,10549897:doOperation,[])
link(Data,15988690:Index,[(517,369)(503,369)(503,488)(307,488)])
}
Add(Math,10549897,560,378)
{
Op2=1001
ResultType=0
link(onResult,1420522:doData,[(599,384)(599,363)(445,363)(445,384)])
}
Add(Button,4979143,56,42)
{
Left=175
Top=375
TabOrder=-1
Caption="Convert"
link(onClick,6525798:doEvent1,[])
}
Add(Button,16237282,560,497)
{
Left=235
Top=375
Width=95
TabOrder=-1
Caption="SendToTable"
link(onClick,12979427:doEvent1,[])
}
Add(DoData,12599514,658,497)
{
link(onEventData,3339126:onSendToTable,[(900,503)(900,27)])
link(Data,6440523:Text,[])
}
Add(Hub,12979427,616,497)
{
link(onEvent1,12599514:doData,[])
link(onEvent2,13836894:doClose,[(648,510)(648,566)])
}
Add(Hub,6525798,105,42)
{
OutCount=5
link(onEvent1,980245:doClear,[(851,48)(851,286)])
link(onEvent2,7552928:doClear,[(683,55)(683,230)])
link(onEvent3,10808540:doClear,[(550,62)(550,160)])
link(onEvent4,6440523:doClear,[(130,69)(130,496)(529,496)(529,454)])
link(onEvent5,6209312:doEnum,[(139,76)(139,153)])
}
Add(DateConvertor,2827148,280,147)
{
Mode=8
Format="dd.MM.yyyy"
link(onResult,1720819:doConvert,[])
}
Add(DateConvertor,1720819,322,147)
{
Mode=9
Format="dd.MM.yyyy"
Point(Result)
link(onResult,1755495:doTrim,[])
}
Add(StrCatDelim,5791458,497,147)
{
Delimiter=";"
link(onStrCatDlm,10808540:doAdd,[])
link(Str1,1720819:Result,[(503,138)(489,138)(489,187)(328,187)])
}
Add(InfoTip,6282113,217,98)
{
Info=#18:Нормализация строк|
Width=323
Height=116
Margin=10
}
END_SDK

карма: 22

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