Вверх ↑
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
#16: 2014-05-26 14:14:13 ЛС | профиль | цитата
Леонид писал(а):
Попробуйте для начала.
GanjaKyp писал(а):
только неправильно как то, а я логику твоей схемы понять не могу
Не мудрено...
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1343
Рейтинг: 31
#17: 2014-05-26 14:16:17 ЛС | профиль | цитата
вот поправил с колличеством знаков

Add(MainForm,2953706,35,77)
{
}
Add(Edit,5522969,140,63)
{
Left=15
Top=60
Width=360
Text="00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D 0A"
}
Add(Edit,438649,651,119)
{
Left=10
Top=205
Width=365
}
Add(Replace,11013821,140,119)
{
SubStr=" "
link(onReplace,3229322:doCopy,[])
link(Str,5522969:Text,[])
}
Add(Str_Enum,15517445,231,119)
{
Delimiter=""
Step=2
Direct=1
link(onEnum,13017847:doCompare,[(284,125)(284,76)])
}
Add(StrCat,765485,539,119)
{
Point(doClear)
link(onStrCat,162230:doConvert,[])
link(Str1,765485:Result,[(545,107)(526,107)(526,162)(545,162)])
}
Add(If_else,12830412,392,119)
{
Type=4
Op2=Integer(1)
link(onTrue,9389279:doWork2,[])
}
Add(Convertor,5077515,336,119)
{
Mode=1
link(onResult,12830412:doCompare,[])
link(Data,15517445:Part,[(342,89)(297,89)(297,163)(244,163)])
}
Add(If_else,13017847,392,70)
{
Op2=String(00)
link(onTrue,7784068:doData,[])
link(onFalse,5077515:doConvert,[(435,83)(435,107)(324,107)(324,125)])
}
Add(HubEx,9389279,511,119)
{
link(onEvent,765485:doStrCat,[])
}
Add(Convertor,162230,595,119)
{
Mode=1
link(onResult,438649:doText,[])
}
Add(DoData,7784068,462,70)
{
Data=Integer(0)
link(onEventData,9389279:doWork1,[(515,76)])
}
Add(Button,981750,35,126)
{
Left=15
Top=100
link(onClick,11404086:doEvent1,[])
}
Add(Hub,11404086,98,126)
{
link(onEvent1,765485:doClear,[])
link(onEvent2,11013821:doReplace,[(126,139)(126,125)])
}
Add(Copy,3229322,189,119)
{
Count=11
link(onCopy,15517445:doEnum,[])
}


карма: 2

0
файлы: 1code_33664.txt [1.3KB] [395]
Ответов: 4630
Рейтинг: 749
#18: 2014-05-26 14:20:48 ЛС | профиль | цитата
Перевод полученной строки в нормальный вид (до 9 знаков, можно увеличить Str_Enum.To): code_33665.txt Результат умножить на 1000.
И да:
sla8a писал(а):
Самое главное: не читайте что пишет Rysik.


[offtop]Тот же вариант, но с MathParse

Add(MainForm,2953706,21,105)
{
}
Add(Edit,587375,217,154)
{
Left=15
Top=20
Width=355
Text="05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D 0A"
}
Add(Label,7970420,560,252)
{
Left=15
Top=80
Width=34
Height=17
Caption="Result"
link(Text,741186:Var3,[(566,173)])
}
Add(Button,9278579,63,210)
{
Left=15
Top=50
link(onClick,7636573:doEvent1,[])
}
Add(Replace,4664711,217,217)
{
SubStr=" "
link(onReplace,8400652:doEnum,[])
link(Str,587375:Text,[])
}
Add(Str_Enum,8400652,273,217)
{
Delimiter=""
To=9
Step=2
link(onEnum,12168318:doConvert,[])
link(onEndEnum,7970420:doText,[(380,230)(380,258)])
}
Add(Convertor,12168318,399,217)
{
Mode=1
link(onResult,13147422:doCalc,[])
}
Add(Memory,8830238,476,119)
{
Default=Integer(0)
}
Add(Hub,7636573,140,210)
{
link(onEvent1,8830238:doClear,[(180,216)(180,132)])
link(onEvent2,4664711:doReplace,[])
}
Add(GetDataEx,741186,476,168)
{
link(Data,8830238:Value,[])
}
Add(InfoTip,16042837,399,42)
{
Info=#44:result = result + (onResult*10^(NumSubStr-1)|
Width=239
}
Add(MathParse,13147422,476,217)
{
DataCount=3
MathStr="%1 + (%2*10^(%3-1))"
ResultType=0
link(onResult,8830238:doValue,[(539,223)(539,105)(464,105)(464,125)])
link(X1,741186:Var2,[])
link(X3,8400652:NumSubStr,[(496,204)(318,204)(318,268)(279,268)])
}
[/offtop]
карма: 26

0
файлы: 1code_33665.txt [1.6KB] [477]
Ответов: 578
Рейтинг: 14
#19: 2014-05-26 14:22:37 ЛС | профиль | цитата
"А" в конечном результате вообще не участвует
карма: 0

0
Ответов: 1343
Рейтинг: 31
#20: 2014-05-26 14:23:34 ЛС | профиль | цитата
Netspirit писал(а):
И да:


, можно подумать моя схема не работает...
карма: 2

0
Ответов: 4630
Рейтинг: 749
#21: 2014-05-26 14:24:41 ЛС | профиль | цитата
Rysik, это я к "потом поймёшь что A=10"
карма: 26

0
Ответов: 1343
Рейтинг: 31
#22: 2014-05-26 14:25:48 ЛС | профиль | цитата
Netspirit писал(а):
Rysik, это я к "потом поймёшь что A=10"


блин, с этого надо было и начинать...
и с какой стати A=10 (HEX>INT) не верно???
карма: 2

0
Ответов: 4630
Рейтинг: 749
#23: 2014-05-26 14:28:12 ЛС | профиль | цитата
Неверно в контексте той цитаты, что была приведена в посте. То-есть, 0A не значит вес 10 кг.
карма: 26

0
Гость
Ответов: 17029
Рейтинг: 0
#24: 2014-05-26 14:28:37 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2021-05-21 07:49:24
карма: 0

0
Ответов: 8926
Рейтинг: 823
#25: 2014-05-26 14:34:48 ЛС | профиль | цитата
"Здесь был Вася!"
карма: 19

0
Ответов: 578
Рейтинг: 14
#26: 2014-05-26 14:44:51 ЛС | профиль | цитата
вы уж извините но я так и не понял как мне из COM получить 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D 0A?
карма: 0

0
Ответов: 758
Рейтинг: 112
#27: 2014-05-26 14:59:09 ЛС | профиль | цитата
GanjaKyp, попробуй так
code_33667.txt
карма: 1

0
файлы: 1code_33667.txt [3KB] [429]
Ответов: 578
Рейтинг: 14
#28: 2014-05-26 15:06:13 ЛС | профиль | цитата
так только 0
карма: 0

0
Ответов: 8926
Рейтинг: 823
#29: 2014-05-26 15:06:35 ЛС | профиль | цитата
GanjaKyp писал(а):
как мне из COM получить 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D 0A?

А зачем, когда из СОМ-порта выходит строка, готовая к обработке, если только привести к виду Вашего "следящего" за портом
карма: 19

0
Ответов: 578
Рейтинг: 14
#30: 2014-05-26 15:16:43 ЛС | профиль | цитата
Леонид, с com портом работает только твой пример, но выдает не тот результат, вот и хочу разобраться как получить 00 01 00 00... чтобы самому сделать удобно читаемый вид
карма: 0

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