wasp писал(а):
пойдет?Вполне
------------ Дoбавленo в 15.30:
wasp, на, жуй, проверил, все совпадает
Add(MainForm,2953706,91,133)
{
}
Add(InlineCode,10687331,301,196)
{
@Hint=#9:Calc CRC8|
WorkPoints=#5:doCRC|
EventPoints=#8:onResult|
DataPoints=#4:Data|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|25: onResult: THI_Event;|21: Data: THI_Event;|50: procedure doCRC(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|51:function CRC8(buf: PChar; data_byte: Byte): Byte; |3:var|12: crc: Byte;|17: data_bit: Byte;|1: |5:begin|14: crc := $00; |19: data_bit := $80; |24: while data_byte > 0 do|8: begin |77: if ((crc and $01) <> 0) <> ((ord(buf[data_byte]) and data_bit) <> 0) then|10: begin |24: crc := crc shr 1; |26: crc := crc xor $CD; |7: end|8: else|24: crc := crc shr 1; |0:|32: data_bit := data_bit shr 1; |4: |24: if data_bit = 0 then|10: begin |23: data_bit := $80; |22: dec(data_byte); |8: end;|6: end;|17: Result := crc; |4:end;|0:|0:|28:procedure THiAsmClass.doCRC;|3:var|12: s: string;|5:begin|31: s := ReadString(_Data, Data);|48: _hi_onEvent(onResult, crc8(@s[1], length(s)));|4:end;|0:|4:end.|
link(onResult,14058586:doConvert,[])
AddHint(58,-38,67,13,@Hint)
}
Add(Edit,6702273,203,140)
{
Left=100
Top=15
Width=275
Cursor=1
Text="02 05 25 01 01"
}
Add(Label,2171738,147,140)
{
Left=35
Top=20
Caption="Данные:"
AutoSize=1
}
Add(Edit,16716587,399,196)
{
Left=100
Top=45
Width=65
Cursor=1
Text=""
}
Add(Label,13632614,140,133)
{
Left=35
Top=45
Width=48
Height=17
Caption="CRC8:"
AutoSize=1
}
Add(Button,8885570,147,196)
{
Left=140
Top=80
Width=85
TabOrder=-1
Caption="Calc CRC8"
link(onClick,11566862:doReplace,[])
}
Add(Replace,11566862,203,196)
{
SubStr=" "
link(onReplace,9735071:doConvert,[])
link(Str,6702273:Text,[])
}
Add(StreamConvertor,9735071,252,196)
{
Mode=3
link(onResult,10687331:doCRC,[])
}
Add(Convertor,14058586,350,196)
{
Mode=6
link(onResult,16716587:doText,[])
}



Поиск
Друзья
Администрация