Вверх ↑
Разработчик
Ответов: 26324
Рейтинг: 2148
#1: 2013-03-04 14:54:34 ЛС | профиль | цитата
А с каких это пор интерфейсные элементы понимают chr(0) Все там нормально проходит

Add(MainForm,2953706,259,168)
{
}
Add(InlineCode,14058540,336,259)
{
WorkPoints=#4:Conv|
EventPoints=#7:onEvent|8:onEvent1|
VarPoints=#6:Result|7:Result1|
DataPoints=#6:DestIP|5:SrcIP|6:SrcMAC|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses Kol,Share,Debug;|2: |4:type|28: THiAsmClass = class(TDebug)|10: private|17: msg: String;|17: pkt: String;|9: public|22: DestIP:THI_Event;|21: SrcIP:THI_Event;|22: SrcMAC:THI_Event;|23: onEvent:THI_Event;|25: onEvent1:THI_Event; |48: procedure Conv(var Data:TData; Index:word);|50: procedure Result(var Data:TData; index:word);|62: procedure Result1(var Data:TData; index:word); |4:end;|0:|14:implementation|5: |0:|51:function EncodeBase64(const inStr: string): string;|0:|38: function Encode_Byte(b: Byte): char;|7: const|28: Base64Code: string[64] =|73: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';|7: begin|40: Result := Base64Code[(b and $3F)+1];|6: end;|0:|3:var|13: i: Integer;|5:begin|9: i := 1;|15: Result := '';|29: while i <= Length(InStr) do|7: begin|57: Result := Result + Encode_Byte(Byte(inStr[i]) shr 2);|87: Result := Result + Encode_Byte((Byte(inStr[i]) shl 4) or (Byte(inStr[i+1]) shr 4));|32: if i+1 <= Length(inStr) then|90: Result := Result + Encode_Byte((Byte(inStr[i+1]) shl 2) or (Byte(inStr[i+2]) shr 6))|8: else|29: Result := Result + '=';|32: if i+2 <= Length(inStr) then|54: Result := Result + Encode_Byte(Byte(inStr[i+2]))|8: else|29: Result := Result + '=';|14: Inc(i, 3);|6: end;|4:end;|51:///////////////////////////////////////////////////|0:|27:procedure THiAsmClass.Conv;|4: var|16: IP_adr: string;|5:begin|32:IP_adr := ToStringEvent(DestIP);|0:|58:msg := chr($64) + EncodeBase64(IP_adr) + chr(0) + '111';|19:msg := msg + '222';|19:SetLength(msg, 24);|27: _hi_onEvent(onEvent, msg);|32: _hi_onEvent(onEvent1, '123'); |4:end;|2: |29:procedure THiAsmClass.Result;|5:begin|22: dtString(Data, msg);|4:end;|0:|30:procedure THiAsmClass.Result1;|5:begin|20:// dtReal(Data, b);|4:end;|0:|4:end.|
link(onEvent,6485020:doConvert,[])
link(onEvent1,2948977:doText,[(388,272)(388,314)])
link(DestIP,6310376:Text,[])
}
Add(Timer,11234882,266,259)
{
link(onTimer,14058540:Conv,[])
}
Add(Label,11919236,471,259)
{
Left=5
Top=90
Width=265
}
Add(Label,2948977,471,308)
{
Left=5
Top=115
Width=180
}
Add(Edit,6310376,336,168)
{
Left=5
Top=10
Width=85
Text="192.168.0.1"
}
Add(StreamConvertor,6485020,413,259)
{
Mode=5
link(onResult,11919236:doText,[])
}


карма: 22

0