Вверх ↑
Этот топик читают: Гость
Ответов: 204
Рейтинг: 2
#1: 2020-06-15 14:55:46 ЛС | профиль | цитата
Не могу понять почему схема работает с ошибкой.

Есть таблица с огромным массивом данных (более 8тыс. строк).
В столбце №3 (если начинать счёт с нуля), цифры с одним строчным знаком спереди. Нужно убрать этот знак и найти максимальное число в столбце.
И вроде собрал все верно, но схема все время выдает не правильные цифры!

подскажите, пожалуйста. Что не так я сделал???



Add(MainForm,2953706,98,112)
{
Width=1012
Height=714
}
Add(MST_Matrix,6025367,553,518)
{
X=3
Y=-1
MSTControl="tab3"
link(onEMatrix,11941995:doEnum,[])
}
Add(MT_Enum,11941995,609,518)
{
link(onItem,14316799:doWork1,[])
link(onEndEnum,14316799:doWork2,[])
}
Add(MultiElement,14316799,658,518)
{
link(onEvent1,10078581:doText,[])
link(onEvent2,1453267:doAdd,[(716,531)(716,657)])
}
BEGIN_SDK
Add(EditMulti,13768204,21,21)
{
EventCount=2
WorkCount=2
Width=1105
Height=431
link(doWork1,15475667:doMultiReplace,[(610,27)(610,139)])
link(doWork2,3294917:doData,[(441,34)(441,209)])
}
Add(If_else,15676708,784,133)
{
Type=2
Op2=Integer(0)
link(onTrue,4963888:doValue,[])
link(Op2,7510404:Var1,[(797,121)(832,121)(832,177)])
}
Add(MultiReplace,15475667,686,133)
{
ReplaceList="&=;"
link(onResult,15676708:doCompare,[])
}
Add(Memory,4963888,861,133)
{
Default=Integer(0)
link(onData,13768204:onEvent2,[(1029,139)(1029,34)])
}
Add(DoData,3294917,861,203)
{
link(onEventData,13768204:onEvent1,[(1009,209)(1009,27)])
link(Data,7510404:Var2,[])
}
Add(GetDataEx,7510404,861,172)
{
link(Data,4963888:Value,[])
}
END_SDK
Add(MTStrTbl,8665475,784,343)
{
Left=20
Top=20
Width=785
Height=635
Name="tab3"
Columns=#11:раз =120==2|10:два =60==2|10:три =60==2|14:четыре =120==2|12:пять =100==2|0:|
ColorItems=0
AddHint(-60,10,36,13,Name)
}
Add(MST_RowAction,3841903,546,343)
{
MSTControl="tab3"
}
Add(MT_AddData,12164739,483,343)
{
Count=5
link(onAdd,3841903:doRowAction,[])
link(Data1,3310343:Var2,[])
link(Data2,6836663:Var2,[])
link(Data3,3198459:Var2,[])
link(Data4,52095:Result,[])
link(Data5,3198459:Var3,[(517,313)])
}
Add(Random,15656489,350,210)
{
Min=1
Max=1000
link(onRandom,52095:doStrCat,[])
}
Add(Timer,966470,231,210)
{
Interval=12
AutoStop=21
Point(onStop)
link(onTimer,15656489:doRandom,[])
link(onStop,6025367:doEMatrix,[(312,223)(312,524)])
}
Add(VisualStrings,5568318,476,266)
{
Lines=#1:0|
}
Add(GetDataEx,3310343,483,308)
{
Angle=3
link(Data,5568318:Text,[(482,313)])
}
Add(GetDataEx,6836663,490,308)
{
Angle=3
link(Data,3310343:Var3,[])
}
Add(GetDataEx,3198459,497,308)
{
Angle=3
link(Data,6836663:Var3,[])
}
Add(Edit,10078581,728,518)
{
Left=840
Top=65
Width=130
Text=""
}
Add(Label,9046411,896,35)
{
Left=870
Top=40
Width=23
Height=17
Caption="max"
}
Add(StrCat,52095,504,210)
{
Str1="&"
link(onStrCat,12164739:doAdd,[(547,216)(547,258)(471,258)(471,349)])
link(Str2,15656489:Random,[(517,198)(409,198)(409,254)(356,254)])
}
Add(Memo,1453267,742,651)
{
Left=840
Top=100
Width=135
Height=550
}


карма: 1

0
Ответов: 8921
Рейтинг: 823
#2: 2020-06-15 15:08:48 ЛС | профиль | цитата
ogrif, пора бы знать, что сравнивать надо не тёплое с красным! У вас на вход подаётся СТРОКА, умный компонент понимает, что будет сравнивать строки, а не числа и сравнивает строки, а вы-то полагаете что сравниваются числа

--- Добавлено в 2020-06-15 15:14:19

Надо Операнд1 сделать числом:

Add(MultiElement,14316799,518,378)
{
}
BEGIN_SDK
Add(EditMulti,13768204,21,14)
{
EventCount=2
WorkCount=2
Width=209
Height=137
link(doWork1,15475667:doMultiReplace,[(46,20)(46,48)])
link(doWork2,3294917:doData,[(39,27)(39,104)])
}
Add(If_else,15676708,105,42)
{
Type=1
Op2=Integer(0)
link(onTrue,4963888:doValue,[])
link(Op1,7510404:Var1,[(111,33)(146,33)(146,86)])
}
Add(MultiReplace,15475667,56,42)
{
ReplaceList="&=;"
link(onResult,15676708:doCompare,[])
}
Add(Memory,4963888,161,42)
{
Default=Integer(0)
link(onData,13768204:onEvent2,[(207,48)(207,27)])
}
Add(DoData,3294917,161,98)
{
link(onEventData,13768204:onEvent1,[(200,104)(200,20)])
link(Data,7510404:Var2,[])
}
Add(GetDataEx,7510404,161,81)
{
link(Data,4963888:Value,[])
}
END_SDK


Редактировалось 1 раз(а), последний 2020-06-15 15:14:19
карма: 19

0
Ответов: 204
Рейтинг: 2
#3: 2020-06-15 15:40:32 ЛС | профиль | цитата
Леонид писал(а):
ogrif, пора бы знать, что сравнивать надо не тёплое с красным! У вас на вход подаётся СТРОКА, умный компонент понимает, что будет сравнивать строки, а не числа и сравнивает строки, а вы-то полагаете что сравниваются числа

--- Добавлено в 2020-06-15 15:14:19

Надо Операнд1 сделать числом:


Что-то не получается. Игрался с Операндами по всякому, все равно сравнивает некорректно. Толи я чего не понял??? (((

Add(MultiElement,13491797,161,196)
{
}
BEGIN_SDK
Add(EditMulti,7201230,21,14)
{
EventCount=2
WorkCount=2
Width=797
Height=501
link(doWork1,6569476:doMultiReplace,[(46,20)(46,209)])
link(doWork2,14894922:doData,[(33,27)(33,342)])
}
Add(MultiReplace,6569476,119,203)
{
ReplaceList="&=;"
link(onResult,1044912:doValue,[])
}
Add(Memory,10597919,616,203)
{
Default=Integer(0)
link(onData,7201230:onEvent2,[(733,209)(733,27)])
}
Add(DoData,14894922,616,336)
{
link(onEventData,7201230:onEvent1,[(713,342)(713,20)])
link(Data,7205765:Var2,[])
}
Add(Memory,1044912,189,203)
{
Default=Integer(0)
link(onData,1429637:doCompare,[])
}
Add(If_else,1429637,483,203)
{
Type=2
Op1=Integer(0)
Op2=Integer(0)
link(onTrue,10597919:doValue,[])
link(Op1,1044912:Value,[(489,191)(342,191)(342,247)(195,247)])
link(Op2,7205765:Var1,[(496,191)(558,191)(558,250)])
}
Add(GetDataEx,7205765,616,245)
{
link(Data,10597919:Value,[])
}
END_SDK



Редактировалось 1 раз(а), последний 2020-06-15 15:40:47
карма: 1

0
Ответов: 2236
Рейтинг: 676
#4: 2020-06-15 16:25:37 ЛС | профиль | цитата
Леонид писал(а):
Надо Операнд1 сделать числом:


Add(MainForm,13090827,70,42)
{
Width=1012
Height=714
}
Add(MST_Matrix,6025367,525,448)
{
X=3
Y=-1
MSTControl="tab3"
link(onEMatrix,11941995:doEnum,[])
}
Add(MT_Enum,11941995,581,448)
{
link(onItem,14316799:doWork1,[])
link(onEndEnum,14316799:doWork2,[])
}
Add(MultiElement,14316799,630,448)
{
link(onEvent1,10078581:doText,[])
link(onEvent2,1453267:doAdd,[(688,461)(688,587)])
}
BEGIN_SDK
Add(EditMulti,13768204,21,21)
{
EventCount=2
WorkCount=2
Width=1105
Height=431
link(doWork1,15475667:doMultiReplace,[(554,27)(554,139)])
link(doWork2,3294917:doData,[(441,34)(441,209)])
}
Add(If_else,15676708,784,133)
{
Type=2
Op2=Integer(0)
link(onTrue,4963888:doValue,[])
link(Op2,7510404:Var1,[(797,121)(832,121)(832,177)])
}
Add(MultiReplace,15475667,595,133)
{
ReplaceList="&=;"
link(onResult,8246802:doConvert,[])
}
Add(Memory,4963888,861,133)
{
Default=Integer(0)
link(onData,13768204:onEvent2,[(1029,139)(1029,34)])
}
Add(DoData,3294917,861,203)
{
link(onEventData,13768204:onEvent1,[(1009,209)(1009,27)])
link(Data,7510404:Var2,[])
}
Add(GetDataEx,7510404,861,172)
{
link(Data,4963888:Value,[])
}
Add(ConvertorEx,8246802,651,133)
{
Mode=1
link(onResult,15676708:doCompare,[])
}
END_SDK
Add(MTStrTbl,8665475,756,273)
{
Left=20
Top=20
Width=785
Height=635
Name="tab3"
Columns=#11:раз =120==2|10:два =60==2|10:три =60==2|14:четыре =120==2|12:пять =100==2|0:|
ColorItems=0
AddHint(-60,10,36,13,Name)
}
Add(MST_RowAction,3841903,518,273)
{
MSTControl="tab3"
}
Add(MT_AddData,12164739,455,273)
{
Count=5
link(onAdd,3841903:doRowAction,[])
link(Data1,3310343:Var2,[])
link(Data2,6836663:Var2,[])
link(Data3,3198459:Var2,[])
link(Data4,52095:Result,[])
link(Data5,3198459:Var3,[(489,243)])
}
Add(Random,15656489,322,140)
{
Min=1
Max=1000
link(onRandom,52095:doStrCat,[])
}
Add(Timer,966470,203,140)
{
Interval=12
AutoStop=21
Point(onStop)
link(onTimer,15656489:doRandom,[])
link(onStop,6025367:doEMatrix,[(284,153)(284,454)])
}
Add(VisualStrings,5568318,448,196)
{
Lines=#1:0|
}
Add(GetDataEx,3310343,455,238)
{
Angle=3
link(Data,5568318:Text,[(454,243)])
}
Add(GetDataEx,6836663,462,238)
{
Angle=3
link(Data,3310343:Var3,[])
}
Add(GetDataEx,3198459,469,238)
{
Angle=3
link(Data,6836663:Var3,[])
}
Add(Edit,10078581,700,448)
{
Left=840
Top=65
Width=130
Text=""
}
Add(StrCat,52095,476,140)
{
Str1="&"
link(onStrCat,12164739:doAdd,[(519,146)(519,188)(443,188)(443,279)])
link(Str2,15656489:Random,[(489,128)(381,128)(381,184)(328,184)])
}
Add(Memo,1453267,714,581)
{
Left=840
Top=100
Width=135
Height=550
}
карма: 11

0
Ответов: 204
Рейтинг: 2
#5: 2020-06-15 16:28:30 ЛС | профиль | цитата
sla8a,
Спасибо большое!
Я себе всю голову сломал, а ларчик просто открывался!

Все работает. Спасибо ещё раз!
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#6: 2020-06-15 17:04:53 ЛС | профиль | цитата
Не могу понять: применять лишние компоненты - это болезнь или ой...


Add(MainForm,2164718,14,98)
{
Width=564
Height=453
Position=1
link(onCreate,5862637:doEvent1,[])
}
Add(MST_Matrix,6025367,168,175)
{
X=3
Y=-1
MSTControl="tab3"
link(onEMatrix,5363018:doEnum,[])
}
Add(MTStrTbl,8665475,378,119)
{
Left=20
Top=20
Width=520
Height=280
Name="tab3"
Columns=#11:раз =120==2|10:два =60==2|10:три =60==2|14:четыре =120==2|12:пять =100==2|0:|
ColorItems=0
Point(MTStrTbl)
AddHint(-22,-46,36,13,Name)
}
Add(MST_RowAction,3841903,322,119)
{
MSTControl="tab3"
}
Add(MT_AddData,12164739,273,119)
{
Count=5
link(onAdd,3841903:doRowAction,[])
link(Data1,3310343:Var2,[])
link(Data2,6836663:Var2,[])
link(Data3,3198459:Var2,[])
link(Data4,52095:Result,[(300,110)(363,110)(363,159)(216,159)])
link(Data5,3198459:Var3,[(307,89)])
}
Add(Random,15656489,168,119)
{
Min=100
Max=1000
link(onRandom,52095:doStrCat,[])
}
Add(VisualStrings,5568318,273,49)
{
Lines=#1:0|
}
Add(GetDataEx,3310343,273,84)
{
link(Data,5568318:Text,[])
}
Add(GetDataEx,6836663,280,84)
{
Angle=3
link(Data,3310343:Var3,[])
}
Add(GetDataEx,3198459,287,84)
{
Angle=3
link(Data,6836663:Var3,[])
}
Add(Edit,10078581,378,175)
{
Left=200
Top=355
Width=130
Text=""
}
Add(Label,9046411,427,175)
{
Left=230
Top=330
Width=23
Height=17
Caption="max"
}
Add(StrCat,52095,210,119)
{
Str1="&"
link(onStrCat,12164739:doAdd,[])
}
Add(For,4251950,98,119)
{
End=15
link(onEvent,15656489:doRandom,[])
link(onStop,6025367:doEMatrix,[(151,132)(151,181)])
}
Add(Hub,5862637,63,112)
{
OutCount=3
link(onEvent1,15656489:doRandomize,[(158,118)(158,132)])
link(onEvent2,4251950:doFor,[])
}
Add(Math,14229695,322,175)
{
OpType=39
link(onResult,10078581:doText,[])
link(Op1,14229695:Result,[(328,166)(363,166)(363,217)(328,217)])
}
Add(Replace,6896422,280,175)
{
SubStr="&"
link(onReplace,14229695:doOperation,[])
}
Add(MT_Enum,5363018,210,175)
{
link(onItem,6896422:doReplace,[])
}

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 2236
Рейтинг: 676
#7: 2020-06-15 17:13:02 ЛС | профиль | цитата
Tad,


Add(MST_Matrix,6025367,322,203)
{
X=3
Y=-1
MSTControl="tab3"
link(onEMatrix,5363018:doEnum,[])
}
Add(MTStrTbl,8665475,504,147)
{
Left=20
Top=20
Width=520
Height=280
Name="tab3"
Columns=#11:раз =120==2|10:два =60==2|10:три =60==2|14:четыре =120==2|12:пять =100==2|0:|
ColorItems=0
Point(MTStrTbl)
AddHint(-22,-46,36,13,Name)
}
Add(MST_RowAction,3841903,455,147)
{
MSTControl="tab3"
}
Add(MT_AddData,12164739,406,147)
{
Count=5
Data=Integer(0)
link(onAdd,3841903:doRowAction,[])
link(Data4,52095:Result,[(433,138)(496,138)(496,185)(370,185)])
}
Add(Random,15656489,322,147)
{
Min=100
Max=1000
link(onRandom,52095:doStrCat,[])
}
Add(Edit,10078581,504,203)
{
Left=200
Top=355
Width=130
Text=""
}
Add(Label,9046411,553,203)
{
Left=230
Top=330
Width=23
Height=17
Caption="max"
}
Add(StrCat,52095,364,147)
{
Str1="&"
link(onStrCat,12164739:doAdd,[])
}
Add(For,4251950,252,147)
{
End=15
link(onEvent,15656489:doRandom,[])
link(onStop,6025367:doEMatrix,[(305,160)(305,209)])
}
Add(Hub,5862637,217,140)
{
link(onEvent1,15656489:doRandomize,[(312,146)(312,160)])
link(onEvent2,4251950:doFor,[])
}
Add(Math,14229695,448,203)
{
OpType=39
link(onResult,10078581:doText,[])
link(Op1,14229695:Result,[(454,194)(489,194)(489,245)(454,245)])
}
Add(Replace,6896422,406,203)
{
SubStr="&"
link(onReplace,14229695:doOperation,[])
}
Add(MT_Enum,5363018,364,203)
{
link(onItem,6896422:doReplace,[])
}
Add(MainForm,4669070,154,126)
{
Width=564
Height=453
Position=1
link(onCreate,5862637:doEvent1,[])
}

карма: 11

1
Голосовали:Tad
Ответов: 16884
Рейтинг: 1239
#8: 2020-06-15 17:19:22 ЛС | профиль | цитата
sla8a, зачёт. Туда не смотрел.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
8
Сообщение
...
Прикрепленные файлы
(файлы не залиты)