Вверх ↑
Ответов: 2059
Рейтинг: 131
#1: 2022-06-29 12:46:00 ЛС | профиль | цитата
Леонид, спасибо!
Сейчас буду посмотреть, а пока сделал так.
Add(MainForm,4098603,210,91)
{
Width=291
Height=530
}
Add(InlineCode,9268460,378,182)
{
WorkPoints=#6:doWork|
EventPoints=#6:onTrue|0:|
DataPoints=#6:Param1|6:Param2|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses Share,Kol,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|8: |10: public|21: Param1: THI_Event;|22: Param2: THI_Event; |19: onTrue: THI_Event;|3: |49: Procedure doWork(var _Data:TData; Index:Word); |0:|5: end;|0:|2: |15: implementation|0:|3: |29:Procedure THiAsmClass.doWork;|18: var text: String;|13: Sn : Single;|0:|5:begin|28:text:=ToStringEvent(Param1);|21:Sn:=Str2Double(text);|21:text:=Double2Str(Sn);|30: _hi_OnEvent(onTrue,text) ;|7: end;|0:|0:|4:end.|
link(onTrue,11707526:doAdd,[])
link(Param1,2611930:Text,[])
}
Add(Button,575765,294,182)
{
Left=25
Top=470
link(onClick,9268460:doWork,[])
}
Add(Memo,11707526,469,182)
{
Left=5
Top=10
Width=270
Height=140
}
Add(Edit,2611930,378,63)
{
Left=10
Top=170
Width=105
Text="0.075"
}

Но не знаю на сколько это приемлемо.
P.S.
Может кому то будет интересно:

function VarToHex(const aVar; const aVarSize : Integer) : String;
begin
SetLength(Result, aVarSize * 2);
BinToHex(PChar(@aVar), PChar(Result), aVarSize);
end;

procedure HexToVar(const aHex : String; const aVar);
begin
HexToBin(PChar(aHex), PChar(@aVar), Length(aHex) div 2);
end;

//Пример.
procedure TForm1.Button1Click(Sender: TObject);
var
Db : Double;
Sn : Single;
S, SHex : String;
begin
//Double.
Db := 1.12345;
SHex := VarToHex(Db, SizeOf(Db));
ShowMessage(FloatToStr(Db) + ' -> ' + SHex);

HexToVar(SHex, Db);
ShowMessage(SHex + ' -> ' + FloatToStr(Db));

//Single.
Sn := 1.12345;
SHex := VarToHex(Sn, SizeOf(Sn));
ShowMessage(FloatToStr(Sn) + ' -> ' + SHex);

HexToVar(SHex, Sn);
ShowMessage(SHex + ' -> ' + FloatToStr(Sn));

//String.
S := 'АБВГД';
SHex := VarToHex(S[1], Length(S) * SizeOf(Char));
ShowMessage(S + ' -> ' + SHex);

HexToVar(SHex, S[1]);
ShowMessage(SHex + ' -> ' + S);
end;
карма: 6

0
Редактировалось 1 раз(а), последний 2022-06-29 12:50:30