Вверх ↑
Ответов: 95
Рейтинг: 1
#1: 2016-12-06 15:12:30 ЛС | профиль | цитата
Netspirit писал(а):
1) Получаем второе слово с команды HAAAPSI
2) Делаем с него hash
3) Этот hash используем в команде USER (4-й параметр)



Преобразовал слово после Haaapsi в хеш ничего не изменилось.


Add(MainForm,14058530,42,161)
{
Width=503
Height=389
Position=1
link(onCreate,4961683:doEvent1,[])
}
Add(Edit,16355833,196,154)
{
Left=5
Top=25
Width=145
Ctl3D=1
Text="15s24vpoo2"
Alignment=2
}
Add(Label,16268837,133,98)
{
Left=5
Top=10
Width=106
Height=17
Caption="Код востановления:"
}
Add(Label,4084884,51,94)
{
Left=5
Top=50
Width=26
Height=17
Caption="Лог:"
}
Add(Memo,7124130,567,175)
{
Left=5
Top=65
Width=225
Height=125
Ctl3D=1
AddType=1
ScrollBars=2
}
Add(TCP_Client,16482401,322,175)
{
Port=6667
IP="95.172.133.164"
link(onRead,5432023:doCharset,[])
}
Add(Charset,5432023,364,175)
{
Type=7
link(onCharset,12970698:doEvent1,[])
}
Add(FormatStr,4120375,196,210)
{
DataCount=1
Mask=":ru IDENT 152 -1 4030 1 2 :GALA\r\nRECOVER %1\r\n"
link(onFString,7592917:doWork2,[])
link(Str1,16355833:Text,[])
}
Add(Button,3527773,112,210)
{
Left=160
Top=10
Width=70
Height=50
Font=[MS Sans Serif,8,1,0,1]
Ctl3D=0
Caption="Go"
link(onClick,4120375:doString,[])
}
Add(Label,7710592,91,96)
{
Left=5
Top=240
Width=49
Height=17
Caption="Запрост:"
}
Add(Memo,10086970,936,401)
{
Left=5
Top=255
Width=370
Height=85
Ctl3D=1
Strings=#31::ru IDENT 152 -1 4030 1 2 :GALA|18:RECOVER 15s24vpoo2|31:PHONE 360 640 1 2 :MPP_v.8.0.12|
}
Add(Button,5030718,888,463)
{
Left=150
Top=220
Width=80
Height=25
Ctl3D=0
Caption="Send"
link(onClick,12470601:doData,[])
}
Add(DoData,12470601,936,463)
{
link(onEventData,16221038:doEvent1,[(974,469)(974,468)])
link(Data,10086970:Text,[])
}
Add(LineBreakEx,7187201,245,225)
{
Type=1
link(OnEvent,7592917:doWork3,[(284,231)])
}
Add(HubEx,7592917,280,210)
{
link(onEvent,16482401:doSend,[(310,216)(310,195)])
}
Add(Replace,8906506,623,245)
{
SubStr="HAAAPSI "
link(onReplace,10709028:doReplace,[])
}
Add(Hub,12970698,420,175)
{
OutCount=3
link(onEvent1,1321069:doWork2,[])
link(onEvent2,10150143:doCompare,[(532,188)(532,244)])
link(onEvent3,360502:doCompare,[(452,195)(452,293)])
}
Add(StrMask,10150143,567,238)
{
Mask="HAAAPSI*"
link(onTrue,8906506:doReplace,[])
}
Add(Label,9510788,868,245)
{
Left=245
Top=65
Width=12
Height=17
Caption="H"
}
Add(StrMask,360502,469,287)
{
Mask="REGISTER*"
link(onTrue,3382646:doReplace,[])
}
Add(Replace,3382646,518,294)
{
SubStr="REGISTER"
link(onReplace,9888770:doEvent1,[])
}
Add(Label,5654986,686,294)
{
Left=245
Top=85
Width=12
Height=17
Caption="R"
}
Add(FormatStr,4356559,686,350)
{
Mask="USER %1 %2"
link(onFString,10908758:doReplace,[])
link(Str1,5654986:Caption,[])
link(Str2,9510788:Caption,[(699,314)(874,314)])
}
Add(LineBreakEx,13967977,1071,350)
{
}
Add(Hub,9888770,560,294)
{
link(onEvent1,8749952:doTrim,[])
link(onEvent2,4356559:doString,[(653,307)(653,356)])
}
Add(Replace,10908758,749,350)
{
SubStr="20"
link(onReplace,2231070:doReplace,[])
}
Add(Replace,10709028,672,245)
{
SubStr="20"
link(onReplace,1571027:doValue,[])
}
Add(Trim,8749952,602,294)
{
link(onTrim,5654986:doText,[])
}
Add(Replace,2231070,819,350)
{
SubStr="\r\n"
link(onReplace,16195625:doEvent1,[])
}
Add(Hub,16195625,868,350)
{
link(onEvent1,16176603:doEvent1,[])
link(onEvent2,10086970:doText,[(906,369)(906,428)])
}
Add(Label,3042770,175,94)
{
Left=245
Top=105
Width=13
Height=17
Font=[MS Sans Serif,8,1,255,1]
Caption="H"
}
Add(InlineCode,3021671,805,245)
{
@Color=11206570
WorkPoints=#10:doCalcHash|
EventPoints=#8:onResult|
DataPoints=#3:Str|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|4:uses|22: KOL, Share, Hash152;|0:|4:type|21: THiAsmClass = class|11: private|0:|10: public|21: Str: THI_Event;|29: onResult: THI_Event; |58: procedure doCalcHash(var _Data: TData; Index: Word);|6: end;|0:|0:|14:implementation|0:|0:|0:|65:procedure THiAsmClass.doCalcHash(var _Data: TData; Index: Word); |3:var|14: Hash: string;|5:begin|57: Hash := Hash152.CreateHash(ReadString(_Data, Str, ''));|42: _hi_CreateEvent(_Data, @onResult, Hash);|4:end;|0:|4:end.|
link(onResult,9510788:doText,[])
link(Str,1571027:Value,[(811,233)(786,233)(786,285)(748,285)])
}
Add(Hub,4961683,91,175)
{
link(onEvent1,16482401:doOpen,[])
}
Add(Charset,6194935,1022,350)
{
Type=6
link(onCharset,12948468:doWork2,[])
}
Add(Hub,16176603,980,350)
{
link(onEvent1,6194935:doCharset,[])
link(onEvent2,12948468:doWork3,[(1061,363)])
}
Add(HubEx,12948468,1057,350)
{
link(onEvent,13967977:doWork,[])
}
Add(TCP_Client,2385698,1043,462)
{
Port=6667
IP="95.172.133.164"
link(onRead,1321069:doWork3,[(1087,468)(1087,127)(550,127)])
}
Add(Hub,16221038,980,462)
{
link(onEvent1,2385698:doOpen,[])
link(onEvent2,2385698:doSend,[(1018,475)(1018,482)])
}
Add(HubEx,1321069,546,175)
{
link(onEvent,7124130:doAdd,[])
}
Add(Memory,1571027,742,245)
{
link(onData,3021671:doCalcHash,[])
}


--- Добавлено в 2016-12-06 15:21:42

В схеме от Sla8a так же подставляю Inline аналогично..


Add(MainForm,4378101,70,56)
{
Width=935
Height=600
Position=1
link(onCreate,16482401:doOpen,[])
}
Add(Edit,16355833,581,665)
{
Left=5
Top=25
Width=145
Ctl3D=1
Text="15s24vpoo2"
Alignment=2
}
Add(Memo,7124130,364,77)
{
@Hint=#31:Это последние полученные данные|
Left=5
Top=65
Width=225
Height=125
Ctl3D=1
ScrollBars=2
AddHint(-84,-32,194,13,@Hint)
}
Add(TCP_Client,16482401,126,70)
{
Port=6667
IP="95.172.133.164"
link(onRead,6527222:doEvent1,[])
}
Add(Charset,5432023,203,77)
{
Type=7
link(onCharset,1804923:doReplace,[])
}
Add(FormatStr,4120375,581,721)
{
Mask=":ru IDENT 152 -1 4030 1 2 :GALA\r\nRECOVER %1\r\nPHONE 360 640 1 2 :MPP_v.8.0.12\r\n"
link(onFString,3352258:doWork,[])
link(Str1,16355833:Text,[])
}
Add(Replace,1804923,252,77)
{
SubStr=" "
DestStr="\r\n"
link(onReplace,2130206:doEvent1,[(306,83)(306,76)])
}
Add(Hub,6527222,175,70)
{
OutCount=3
link(onEvent1,7124130:doClear,[(294,76)(294,90)])
link(onEvent2,5432023:doCharset,[])
link(onEvent3,5559791:doRead,[(198,90)(198,783)])
}
Add(Memo,8633362,483,70)
{
@Hint=#30:Это лог всех полученных данных|
Left=250
Top=65
Width=285
Height=360
Ctl3D=1
AddType=1
ScrollBars=2
AddHint(-74,-55,181,13,@Hint)
}
Add(Hub,2130206,329,70)
{
link(onEvent1,8633362:doAdd,[])
link(onEvent2,7124130:doAdd,[])
}
Add(ArrayRW,5559791,224,777)
{
@Hint=#20:Читаем первую строку|
Index=Integer(0)
link(onRead,8821029:doCase,[])
link(Array,6333921:getVar,[])
AddHint(-60,49,131,13,@Hint)
AddHint(10,-22,21,13,Index)
}
Add(Case,3396458,427,560)
{
Value=String(HAAAPSI)
link(onNextCase,1321523:doCase,[(485,566)(485,446)(422,446)(422,356)])
link(onTrue,6457300:doEvent1,[])
AddHint(-107,3,71,13,Value)
}
Add(Case,1321523,441,350)
{
Value=String(REGISTER)
link(onTrue,6423993:doEvent1,[])
AddHint(-124,7,80,13,Value)
}
Add(Case,8821029,441,777)
{
Value=String(PING)
link(onNextCase,3396458:doCase,[(485,783)(485,748)(422,748)(422,566)])
link(onTrue,2700626:doData,[])
AddHint(-93,12,51,13,Value)
}
Add(DoData,2700626,511,784)
{
Data=String(PONG)
link(onEventData,11907089:doWork,[])
AddHint(-13,-22,56,13,Data)
}
Add(FormatStr,9206063,567,378)
{
DataCount=4
Mask="USER\r\n%1\r\n%2\r\n%3\r\n%4"
link(onFString,10753192:doAdd,[])
link(Str1,11136958:Item,[])
link(Str2,7645903:Item,[(580,313)(615,313)])
link(Str3,5983206:Value,[(587,338)(755,338)])
link(Str4,9087631:Var,[])
}
Add(ArrayRW,11136958,567,189)
{
Index=Integer(1)
link(Array,14378459:getVar,[])
AddHint(14,-18,21,13,Index)
}
Add(Hub,6423993,518,357)
{
OutCount=5
link(onEvent1,11136958:doRead,[(541,363)(541,195)])
link(onEvent2,7645903:doRead,[(551,370)(551,223)])
link(onEvent3,11549066:doRead,[(559,377)(559,279)])
link(onEvent4,9206063:doString,[])
link(onEvent5,3953283:doReplace,[(546,391)(546,447)])
}
Add(ArrayRW,7645903,609,217)
{
Index=Integer(2)
link(Array,3768665:getVar,[])
AddHint(8,-18,21,13,Index)
}
Add(Memo,10753192,672,378)
{
Left=5
Top=205
Width=225
Height=205
}
Add(Hub,6457300,483,567)
{
link(onEvent1,13881349:doRead,[])
link(onEvent2,4120375:doString,[(539,580)(539,727)])
}
Add(ArrayRW,13881349,567,567)
{
Index=Integer(1)
link(onRead,425307:doValue,[])
link(Array,6190941:getVar,[])
AddHint(10,-19,21,13,Index)
}
Add(Memory,13036011,770,567)
{
}
Add(Check,1605529,651,616)
{
Caption="Сделать ХЭШ!"
}
Add(Memory,5983206,749,273)
{
}
Add(ArrayRW,11549066,651,273)
{
Index=Integer(3)
link(onRead,7542950:doCharset,[])
link(Array,5436636:getVar,[])
AddHint(9,-20,21,13,Index)
}
Add(LineBreak,6294035,770,616)
{
Caption="ХЭШ"
Type=1
link(Data,13036011:Value,[])
Primary=[9087631,-182,-266]
}
Add(LineBreakEx,4802288,378,140)
{
Caption="data"
Type=3
link(_Data,7124130:Array,[])
}
Add(LineBreakEx,6333921,224,735)
{
Caption="data"
Type=2
}
Add(LineBreakEx,14378459,567,154)
{
Caption="data"
Type=2
}
Add(LineBreakEx,11907089,560,784)
{
Caption="send"
}
Add(LineBreakEx,3352258,630,721)
{
Caption="send"
}
Add(LineBreakEx,13179498,63,98)
{
Caption="send"
Type=1
link(OnEvent,16482401:doSend,[(116,104)(116,90)])
}
Add(LineBreakEx,10934201,742,441)
{
Caption="send"
}
Add(LineBreakEx,3768665,609,182)
{
Caption="data"
Type=2
}
Add(LineBreakEx,5436636,651,238)
{
Caption="data"
Type=2
}
Add(LineBreakEx,6190941,567,532)
{
Caption="data"
Type=2
}
Add(Charset,7542950,700,273)
{
Type=6
link(onCharset,5983206:doValue,[])
}
Add(Replace,3953283,672,441)
{
SubStr="\r\n"
DestStr=" "
link(onReplace,10934201:doWork,[])
link(Str,10753192:Text,[])
}
Add(InlineCode,3021671,700,567)
{
@Color=11206570
WorkPoints=#10:doCalcHash|
EventPoints=#8:onResult|
DataPoints=#3:Str|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|4:uses|22: KOL, Share, Hash152;|0:|4:type|21: THiAsmClass = class|11: private|0:|10: public|21: Str: THI_Event;|29: onResult: THI_Event; |58: procedure doCalcHash(var _Data: TData; Index: Word);|6: end;|0:|0:|14:implementation|0:|0:|0:|65:procedure THiAsmClass.doCalcHash(var _Data: TData; Index: Word); |3:var|14: Hash: string;|5:begin|57: Hash := Hash152.CreateHash(ReadString(_Data, Str, ''));|42: _hi_CreateEvent(_Data, @onResult, Hash);|4:end;|0:|4:end.|
link(onResult,13036011:doValue,[])
link(Str,425307:Value,[(706,555)(684,555)(684,609)(636,609)])
}
Add(Memory,425307,630,567)
{
link(onData,3021671:doCalcHash,[])
}

карма: 0

0
Редактировалось 1 раз(а), последний 2016-12-06 15:21:42