savt писал(а):
решив проблему конвертации с HEX в Real, я пришел к другой, с обратной конвертацией из Real (дробное число) в HEx. Компонент я не нашел, может плохо искалЭто - ДА, труднее всего найти то, что у тебя под носом
Да тот же самый элемент!
Add(MainForm,15944709,133,105)
{
Width=298
Height=272
Position=1
}
Add(Edit,14238792,238,105)
{
Left=10
Top=20
Width=60
Height=24
Font=[Tahoma,12,0,0,204]
Text="00"
Alignment=2
}
Add(Edit,16172125,294,105)
{
Left=80
Top=20
Width=60
Height=24
Font=[Tahoma,12,0,0,204]
Text="00"
Alignment=2
}
Add(Edit,9786081,350,105)
{
Left=150
Top=20
Width=60
Height=24
Font=[Tahoma,12,0,0,204]
Text="41"
Alignment=2
}
Add(Edit,1667591,406,105)
{
Left=220
Top=20
Width=60
Height=24
Font=[Tahoma,12,0,0,204]
Text="70"
Alignment=2
}
Add(Button,11993343,133,189)
{
Left=9
Top=62
Width=270
Height=24
Font=[Tahoma,12,0,0,204]
Caption="Считай"
link(onClick,13361436:doString,[])
}
Add(Stream2Hex,7852571,294,189)
{
Mode=1
link(onResult,4194679:doGet,[])
}
Add(FormatStr,13361436,238,189)
{
DataCount=4
Mask="%3%4%1%2"
link(onFString,7852571:doConvert,[])
link(Str1,14238792:Text,[])
link(Str2,16172125:Text,[(251,145)(300,145)])
link(Str3,9786081:Text,[(258,152)(356,152)])
link(Str4,1667591:Text,[(265,159)(412,159)])
}
Add(DataToFileEx,4194679,350,189)
{
Type=1
DataSize=4
BigEndian=0
link(onGet,1017456:doText,[])
}
Add(Edit,1017456,406,189)
{
Left=10
Top=105
Width=270
Height=25
Font=[Lucida Console,10,1,0,204]
Text="<Ответ>"
Alignment=1
DataType=4
}
Add(Button,14076238,133,301)
{
Left=9
Top=147
Width=270
Height=24
Font=[Tahoma,12,0,0,204]
Caption="Проверяй"
link(onClick,3301236:doEvent1,[])
}
Add(MemoryStream,672918,294,238)
{
}
Add(DataToFileEx,6643138,294,301)
{
Type=1
DataSize=4
BigEndian=0
link(Stream,10123406:Var2,[])
}
Add(Hub,3301236,196,301)
{
OutCount=3
link(onEvent1,672918:doClear,[(221,307)(221,251)])
link(onEvent2,9007358:doData,[])
link(onEvent3,5135698:doConvert,[])
}
Add(Stream2Hex,5135698,350,315)
{
link(onResult,9546929:doText,[])
link(Data,10123406:Var3,[(356,285)])
}
Add(GetDataEx,10123406,294,280)
{
link(Data,672918:Stream,[])
}
Add(DoData,9007358,238,308)
{
link(onEventData,6643138:doPut,[])
link(Data,1017456:Text,[(244,229)(412,229)])
}
Add(Edit,9546929,406,315)
{
Left=10
Top=185
Width=270
Height=25
Font=[Lucida Console,10,1,0,204]
Text=""
Alignment=1
}
Это, если Вас интересовал 32-х битный Float на выходе.
Если 64-х битный Real -- делай DataToFileEx.DataSize=8.
Ну и далее, в том же духе. Ничего военного, в общем.