?????? ???? ?? ?????? ??????? ?????? ??????????? ????? 1? ??? ? ??????????? ?????????? ??????? ????????. ??????? ???????? ????????? ??? ????? ? ???????????? ?? TCP. ?????????? ????? ???????? ? ?????? ???????, ??????????? ???????????? ???? ???????? ? ???? ??????? ? ????????? ??????? ??????. ????? ???????????? WinSocket, ????? ?????????? ?????.
??? ???????? ??????????, ??? ??????????????? ?????? ??????? ? ??????? ? ?????????????? ActiveX:http://infostart.ru/public/119982/
???? ???? - ??. ActiveX - ?? ??????????????.
???? ?????????.
???????????? ? ??
ActiveX ?? ???????? ?? ??. ????? ? ??????, ??????? ?????????????? ????? - ?????????, ??????? ?????????? Winsocket ??? COM??????.
??? ?? ??? ???????? ????? ??????? ??? ? ?????????? ??????. ?????? ?? ???????? ? ??????? ? ???????.
????????? ????????????????????()
?? ??????????? = ????? COM??????("mswinsock.winsock");?
?? ????????????????????? = ????? ?????????("?????, ????");
?? ?????????????????????.????? = "xxx.xxx.xxx.xxx";
?? ?????????????????????.???? = "pppp";
?? ?
?? ?????????????? = ????? ?????????("??????????",??????????);
?? ????????????????.Z5=?????????????????????????????(?????????????,????? ???????????????????????());
?? ????????????????????????????(????????????????????);
??????????????
???????, ??? COM?????? ?? ???????? ? ?????????. ??? ??? ??????????? ?? ??????????, COM??????? ?? ???????????? ????????????. ? ???? "????????" ??? ? ?????????, ?????? ?? ?????:
?????????????? = ????? ?????????("??????????",??????????);
?? ????????????????.Z5=?????????????????????????????(?????????????,????? ???????????????????????());
?????????? ???????????. ????????? ??????? ??????, ?????? ??????????: http://infostart.ru/public/119982/ ? ?????????? ?????????? ?? ?????????? ? winsocket.
&?????????
????????? ???????????????????????????(????????????????????)?? ?
?? ?ws = ?????????????????????????????(???????????????.Z5).??????????;
?? ????? ws.State <> 7 ?????
??? ??? ????? ws.State <> 0 ?????
?? ??? ??? ?ws.Close();
?? ??? ??????????;
?? ??? ?
?? ??? ?ws.RemoteHost = ??????(????????????????????.?????);
?? ??? ?ws.RemotePort = ??????(????????????????????.????);
?? ??? ?ws.Connect();
?? ??????
?? ??? ?ws.Close();
?? ??? ?
?? ??? ?ws.RemoteHost = ??????(????????????????????.?????);
?? ??? ?//?? ??? ?ws.RemoteHostIP = ??????(????????????????????.?????);
?? ??? ?ws.RemotePort = ??????(????????????????????.????);
?? ??? ?
?? ??? ?ws.Connect();
?? ??????????;
?? ???????.?????? = ws.state; //????????? ?????? ????? ?????????? ??? ?? ?????
?? ?
??????????????
???, ????????????. ??? ???????? ????? ????? ????????? ?? ????? ???????? ????????? ?????? ? ???????????.
?????? ? ???????????? ????? ??????????? ??????????. ?????????? ??????, ????? ???? ?????. ?????????? ???????????? ??? ? ?????????? ????? ?????? ? ?.?.
??? ?????? ????????? ??????? ?????????? ?????? ???????????? ? ???????? ????????????? ????? ? ??????? ???? ??????? ?? ????????? ?????? ???? ? ????????? ???:
&?????????
????????? ???????????(?????)
//?? ????? ???????????? ?????? ? ???????????
????????????????????????????????????=??????;
// ????????????????????????
??????????????????????????????????????????.?????????????????????????????????????????????(????????, "???????????????,????????????????????????");
// ????? ????????????????????????
//--------------------------------------------
????????????????????();
//??????????? ????? ?? ?????????
??????????????????????(????);
//?????? ?????? ??????? ?? ????????? ?????? ????????????
????????????????????????????("??????????????",10);
??????.?????????? = "20";
??????.??????? = "????????????????????????";
??????.?????????????? = "00 08 08 01 00 00 00 00";
????????????????????????????("????????????????",1);
//????????? ????????????? ????? ????????????
??????.????????????????????????????? = 1;
????????????????????????????("??????????????????",1); //????? ????? ????????? ????????? ??????, ??????? ???????? ??????? ? ?????????? ?????????
??????????????
???? ????????? ???????? ???????, ??????? ? ????? ?????? ?????????? ??????????? 1 ??? ? ???????, ?? ??????, ???? ?????????? ???-?? ?????.
&?????????
????????? ????????????????()
?? ?
?? ???????????????();
?? ?????????.??????.????????? = ??????.??????;
?? ????? ??????.?????? = 0 ????? ? //?? ??????????
?? ??? ?????????????????????();
?? ??? ????????;
?? ?????????? ??????.?????? = 6 ????? // ??? ???? ???????????
?? ??? ????????;
?? ??????????;
?? ???????????????????????(????); //?????? ?????? ?????? ?? ?????
?? ?????????? = ???????????????(); ? // ???? ??????? ????????
?? ?????????.??????.????????? = ??????.??????;
?? ????? ????????? ?????
?? ??? ???????.??? = ??????(???????????(),"???=DT") + ": " + ??????.??????? +" --> " + ???????.?? + ??????.???;
?? ??? ???????.??? = ??????.?????????????? + ???????.?? + ??????.???;
?? ??? ????????????????????????????("????????????????"); //??????? ???????????, ????????? ???? ??????????
?? ??? ?????????????????????????????("?????????????",1); //?????????? ???????? ?????? ?????????? ?
?? ??????
?? ??? ????? ??????.?????? = 9 ????? //??????, ?? ???????????? ?????
?? ??? ??? ?????????????????????(); //????????? (?????? ?? ????????. ?????? ?????????? ??????)
?? ??? ??????????;
?? ??????????; ? ?? ?
?? ?
??????????????
??????? ???????????????() ?? ?????????? ????, ? ???? ?? ???? ?????, ??? ????? ???????? ??????? ?? ?????????? ?? ?????????? ?????? ?????????? ???????? ?? ????????? ?????? ???????????. ActiveX winsocket, ??????? ?? ? ???? ????????????? ?? ????? ????????????, ????? ????? ?????? ??????? WinSocketDataArrival, ??????? ????????? ??? ????????? ??????. ??? ???????? ?????????? ??? ????. ?? ?????? 1 ??? ? ??????? ????? ?????? ???????? ?????????? ??????.
&?????????
????????? ?????????????()
?? ?????????.??????.????????? = ??????.??????;
?? ?????????? = ??????????????????????(); //?-? ???堠 ?
?? ?????????.??????.????????? = ??????.??????;
?? ????? ????????? ?????
?? ??? ????????????????????????????("?????????????"); //????? ???????, ????????? ??????????
?? ??? ???????.??? = ??????(???????????(),"???=DT") + ": " +??????.??????? +" <-- " + ???????.?? + ??????.???;
?? ??? ???????.??? = ??????.???????????????? + ???????.?? + ??????.???;
?? ??? ?????????????????????????(); // ????? ????? ??????? ??????? ???????? ???????? ??????? ? ?????????????? ?? ????????????
?? ??????
?? ??? ?????????????????????(); ?//????????? (?? ????, ????? ? ??? ?????))))
?? ??????????; ? ?? ?
?? ?
??????????????
?????????? ??????? ????????:
&?????????
??????? ???????????????()
?? ?????????? = ????;
?? ??????????? = ?????????????????????????????(???????????????.Z5).??????????; //???????? winsocket ?? ?????????? ??????
?? ?buff = ????????????????????????(??????.??????????????); ?// ?????????????? ? ?????? HEX ????????? ??? ????? ???????????
?? ?buff[0] = "&H" + ??????.??????????;
?? ?????????? = "";
?? ???? ? = 0 ?? buff.??????????()-1 ????
?? ??? ?????????? =????????? + buff[?] + " ";?? ?
?? ???????????;
?? ???????.?????? = ??????????.State;
?? ?
?? ????? ??????????.State = 7 ????? //???????????? ??????, ?????????? ??????
?? ??? ????????
?? ??? ??? ???? ? = 0 ?? buff.??????????()-1 ????
?? ??? ??? ??? ???????????.SendData(Chr(buff[?])); // ????????? ??????????? ?? ?????? ?Chr(???) - ??????? ? VBScript ??????? ??????????? ?? HEX ? ??????.
?? ??? ??? ???????????;
?? ??? ??? ?????????? = ??????;
?? ??? ???????????
?? ??? ?????????????;
?? ? ??????????;?? ?
?? ???????? ?????????;?? ?
????????????
..? ??????? ????????? ??????, ??????? ?????????? ???????????? ???????????? ????????? ??????? ???????????:
&?????????
??????? ??????????????????????()
????????? = "";
???????
????????? = ??????????????????????????();
??????.???????????????? = ?????????;
??????? ??????;
??????????
??????? ????;
????????????;
????????????
&?????????
??????? ??????????????????????????()
?????????? = ?????????????????????????????(???????????????.Z5).??????????;
????? = "";
???? ?????? ????
????????? = "";
??????????.GetData(?????????);
???? ?? ????????? = "" ?????
????? = ????? + ?????????;
?????
//?????????????
??????????? = ??????????????(?????);
???? = ???????????[0];
?4 = ????????????;
????????? = ?????????????5_4(????,?4);
???????????? = "";
??? ? = 0 ?? ?4.??????????()-1 ????
???????????? = ???????????? + ?4[?] + " ";
??????????;
??????.???????????????? = ????????????;
????????;
?????????;
??????????;
??????? ??????.????????????????;
????????????
???, ??? ?? ??? ?????, ??? ????? ????????? ??????? ?? ?????????? ?? ?????? ????????? ????????? ???:
??????.?????????? = "20";
?? ???????.??????? = "????????????????????????";
?? ???????.?????????????? = "00 08 08 01 00 00 00 00";
?? ?????????????????????????????("????????????????",1);
?????? ??? ???????? ???? ???????????? ???????? "????????????????" ? "?????????????".
?? ????????? ?????????? ??????? ? ????????? ?????? ??????????? ????? ??????? ????????? ????????????????????????(), ??????? ???????? ????????? ???????? ? ?????????? ???????. ?? ??????, ??? ????????? ??????? ??????? ?? ??????????. ????????, ? ???? ?????? ??? ????????? ???? ???? ??????? ? ?????????? ????????? ????????? ????????? ????????:
1. ????????? ????? ????????? ?????. ???????? ??????? ???? ???????? ??? ?????, ??????? ?? ????? ?? 64 ????? (1 ???????? ???? ???????? ? ???????????)
2. ????????? 1 ????
3. ???????? ????? - ??????????
4. ????????? 2 ???? - ??????????
........
n. ????????? ???????? ????????? ????
n+1. ??????????.
? ???? ?????? ? ????????? ????????????????????????() ?? ??????????? ?????????? ??????, ????? ? ???? ????????? ???????? ?? ?????????? ????? ???????.
??????? ????????? ?????????? ???????:
&?????????
????????? ????????????????????????()
//?? ???????????? = ??????????????(??????.????????????????);
?? ????? ??????.??????? = "????????????????????????" ?????
?? ??? ??4 = ????????????();
?? ??? ??????????? = ??????;
?? ??? ?//?????????? ?????????? ??????
?? ??? ?i = 8;
?? ??? ????? i < 20 ????
?? ??? ??? ??????? = ????????????????(?4[i], i - 8);
?? ??? ??? ????? ??????.??????????()>0 ?????
?? ??? ??? ??? ???? ??????? ?? ?? ?????? ????
?? ??? ??? ??? ??? ???????.??????????????????.????????(??.????????);
?? ??? ??? ??? ???????????;
?? ??? ??? ??????????;
?? ??? ??? ?i = i + 1;
?? ??? ???????????;
?? ??? ???????.??????? = "";
?? ?????????? ??????.??????? = "??????????" ?????
..........................................
?? ??????????;
?? ???????????????????????(??????);?? ?
??????????????
?????? ??? ??? ??????? ???? ? ???, ??? SendData() ?????????? ?????? ????? ???????????? ??????????. ???????.
??????????.sendData("???-??-???");
???????? ?= ???????????();
???? ?????? ????
???? ???????????() > ???????? + 10;//???? ???????? 10 ?????? ?????
????????;
?????????;
??????????;
???????? = ??????????.GetData();
?? ????????. ???????? ?????????? ?? ????????? ?????????? ????? ???? ??????? ?????????, ??????? ?? ???????, ???????????, ???????? ?? ??????. ?????? ?????????.
???? ? ??????????.
???????????? ??????? ?? ?????????? ?? ??????????????, ?? ???? ????????. ????????, ?? ????????.
???????, ??? ??? ???? ????-?????? ??????????.
??????, ???? ??????. ???? ?? ????? ??????? ???????, ??????? ?? ? ????????:
1. ??????????(?????,????) ?????????? ??????, ????
2. ???????????????(??????) ?????????? ?????? ????
3. ??????????????() ?????????? ??????, ??????????? ? ?????? ???????? ???????, ? ?????-???? ?????????? ?????????? ?????, ??????? ?? ??????? 1? ????? ????????? ?/??? ???????, ???? ?????????
4. ?????????
??? ????? 50 ?????? ?????, ??????? ??????? ????????????, ??????? ?? ????????????? ? 1?, ??????? ??????? ????????????, ??????? ???????? 1 ??? ? ??????? ? ????????? ??????? ? ????????????.
???????, ??? ????? ???? ???????????? ?????, ?? ???????? ?????????? - ??????? ?????????. ????????? ? ???????????? ??????: ?????????? Z5 ? ????????? ???????.
???? ???? ??? ???????, ??????????????? ? ???????. ? ??? ???-?? ????????. 1? ?? ????? ?? ?????.
????? ? ???????? ?????? ? ???????????? ?? 1?.