savt писал(а):
Вы предлагаете сохранить данные в файл и потом от туда его считать перекодированный ?Скажем так, я предлагаю способ конвертирования практически произвольныж бинарных данных в употребимые типы.
Исторически, я действительно работал с бинарным файлом (.row, котрый делал IAR - вытаскивал два hex-а, для flash и для eeprom).
И мне даже показалось, что я закрыл практически все возможные хитрости в этих бинарных файлах.
Файл... Можно, но совершенно необязательно.
Это может быть просто MemoryStream (просто кусок памяти, у которого внизу есть точка Stream).
Этот же Stream может быть получен из конвертора в режиме String->Stream.
В общем, любыми способами, доступными программисту на HiAsm
------------ Дoбавленo в 17.16:
savt, главное назначение HiAsm - делать схемы проще, чем это делаете Вы (будем надеяться ПОКА)
Примерно так:
Add(MainForm,15944709,168,84)
{
Width=298
Height=165
Position=1
}
Add(Edit,14238792,252,84)
{
Left=10
Top=20
Width=60
Height=24
Font=[Tahoma,12,0,0,204]
Text="00"
Alignment=2
}
Add(Edit,16172125,308,84)
{
Left=80
Top=20
Width=60
Height=24
Font=[Tahoma,12,0,0,204]
Text="00"
Alignment=2
}
Add(Edit,9786081,364,84)
{
Left=150
Top=20
Width=60
Height=24
Font=[Tahoma,12,0,0,204]
Text="41"
Alignment=2
}
Add(Edit,1667591,413,84)
{
Left=220
Top=20
Width=60
Height=24
Font=[Tahoma,12,0,0,204]
Text="70"
Alignment=2
}
Add(Button,11993343,168,161)
{
Left=10
Top=60
Width=270
Height=24
Font=[Tahoma,12,0,0,204]
Caption="Считай"
link(onClick,13361436:doString,[])
}
Add(Label,614331,504,161)
{
Left=10
Top=100
Width=48
Height=23
Font=[Tahoma,12,0,0,204]
Caption="Ответ"
}
Add(Stream2Hex,7852571,364,161)
{
Mode=1
link(onResult,4194679:doGet,[])
}
Add(FormatStr,13361436,301,161)
{
DataCount=4
Mask="%3%4%1%2"
link(onFString,7852571:doConvert,[])
link(Str1,14238792:Text,[(307,152)(258,152)])
link(Str2,16172125:Text,[])
link(Str3,9786081:Text,[(321,124)(370,124)])
link(Str4,1667591:Text,[(328,131)(419,131)])
}
Add(DataToFileEx,4194679,434,161)
{
Type=1
DataSize=4
BigEndian=0
link(onGet,614331:doText,[])
}