Вверх ↑
Ответов: 8888
Рейтинг: 823
#1: 2017-01-16 13:55:43 ЛС | профиль | цитата
vas31, так передать файл или принять И в том и в другом случае нужен какой-то протокол, чтобы обозначить начало, характеристики и окончание файла
Схема


Add(MainForm,2953706,672,168)
{
}
Add(Button,10609792,119,91)
{
Left=5
Top=25
Width=70
Caption="Откр. файл"
link(onClick,7855913:doExecute,[])
}
Add(LED,7789952,679,84)
{
Left=355
Top=25
}
Add(Edit,15163121,476,35)
{
Left=90
Top=25
Text="1"
DataType=2
}
Add(Edit,15461485,518,35)
{
Left=155
Top=25
Text="9600"
DataType=2
}
Add(ODialog,7855913,168,91)
{
link(onExecute,12614718:doEvent1,[])
}
Add(FileStream,8706425,294,105)
{
Point(doPosition)
}
Add(Hub,12614718,217,91)
{
OutCount=4
link(onEvent1,9679773:doClear,[(515,97)(515,181)])
link(onEvent2,16118127:doOperation,[])
link(onEvent3,8706425:doOpen,[])
link(onEvent4,4825980:doData,[(242,118)(242,125)])
}
Add(DataToFile,472602,294,203)
{
link(onGet,14799729:doConvert,[])
link(Stream,8706425:Stream,[])
}
Add(DoData,4825980,252,119)
{
link(onEventData,8706425:doPosition,[])
}
Add(COM,13898442,476,168)
{
link(onWrite,9679773:doOperation,[])
link(Port,15163121:Text,[])
link(BaudRate,14231271:Var1,[(489,75)])
}
Add(Hub,4410691,623,98)
{
link(onEvent1,7789952:doOn,[])
link(onEvent2,12316447:doEvent1,[(648,111)(648,156)(46,156)(46,188)])
}
Add(MathParse,15239014,574,98)
{
MathStr="1050*(10*%2)/%1"
ResultType=0
link(onResult,4410691:doEvent1,[])
link(X1,14231271:Var3,[(580,75)])
}
Add(GetDataEx,14231271,518,70)
{
link(Data,15461485:Text,[])
}
Add(Edit,1705103,560,35)
{
Left=220
Top=25
Text="256"
DataType=2
}
Add(Label,5613966,420,35)
{
Left=95
Top=5
Width=285
Caption="№СОМ Скорость Байт/Данные Байт/Контроль"
AutoSize=1
}
Add(StrCat,11437738,392,203)
{
Point(doClear)
link(Str1,9627575:Var3,[(398,194)(412,194)(412,243)])
}
Add(Convertor,14799729,343,203)
{
Mode=4
link(onResult,11437738:doStrCat,[])
}
Add(Edit,9806918,602,35)
{
Left=295
Top=25
Text="0"
DataType=2
}
Add(Thread,16194867,147,196)
{
Point(doDelay)
link(onExec,16145863:doEvent1,[])
}
Add(Timer,4948394,91,196)
{
Interval=10
Enable=1
AutoStop=1
link(onTimer,16194867:doStart,[])
}
Add(Hub,12316447,56,182)
{
OutCount=3
link(onEvent1,13898442:doOpen,[(178,188)(178,174)])
link(onEvent2,16194867:doDelay,[(131,195)(131,216)])
link(onEvent3,4948394:doTimer,[])
}
Add(Timer,7403038,63,231)
{
Interval=10
Enable=1
AutoStop=1
link(onTimer,15978316:doEvent1,[])
}
Add(For,9526170,238,210)
{
IncludeEnd=1
link(onEvent,472602:doGet,[])
link(onStop,14518926:doData,[(277,223)(277,265)])
link(End,4284252:Var1,[(251,83)])
}
Add(Math,9679773,539,168)
{
Point(doClear)
link(onResult,3089437:doCompare,[])
link(Op1,9679773:Result,[(545,159)(531,159)(531,207)(545,207)])
}
Add(DoData,14518926,392,259)
{
link(onEventData,13898442:doWrite,[(431,265)(431,195)])
link(Data,9627575:Var2,[])
}
Add(GetDataEx,9627575,392,238)
{
link(Data,11437738:Result,[])
}
Add(Hub,16145863,196,196)
{
link(onEvent1,11437738:doClear,[(383,202)(383,216)])
link(onEvent2,9526170:doFor,[(228,209)(228,216)])
}
Add(Math,16118127,525,98)
{
ResultType=0
link(onResult,15239014:doCalc,[])
link(Op1,4284252:Var2,[])
link(Op2,9806918:Text,[(538,89)(608,89)])
}
Add(If_else,3089437,581,168)
{
Type=2
link(onTrue,2953706:doCaption,[])
link(onFalse,7403038:doTimer,[(620,181)(620,272)(53,272)(53,237)])
link(Op1,8706425:Size,[(587,152)(307,152)])
link(Op2,8706425:Position,[(594,145)(314,145)])
}
Add(Hub,15978316,105,231)
{
OutCount=3
link(onEvent1,16194867:doStop,[(137,237)(137,209)])
link(onEvent2,13898442:doClose,[(185,244)(185,181)])
link(onEvent3,7789952:doOff,[(655,251)(655,97)])
}
Add(GetDataEx,4284252,525,78)
{
Angle=1
link(Data,1705103:Text,[(566,83)])
}
карма: 19

0