백 보 운 COM 구성 요소 조작 튜 토리 얼

13860 단어
백 보 운 COM 모듈
백 보 운 이 제공 하 는 COM 플러그 인 에는 4 가지 함수 가 있 는데 각각 다음 과 같 습 니 다.
① 공공 인터페이스 류: 백 보 운 과 통신 하 는 데 사용 된다.
② 효과 알고리즘 클래스: 문자열, 파일 의 합 법성 을 검증 하 는 데 사 용 됩 니 다.
③ 복호화 클래스: 복호화 문자열, 파일 을 추가 합 니 다.
④ JSON 클래스: JSON 문자열 을 해석 하거나 구축 하 는 데 사 용 됩 니 다.
 
   여기 서 우 리 는 주로 백 보 운 의 기본 사건 과 관련 된 인터페이스, 다른 인 터 페 이 스 를 이야기 합 니 다. 여러분 은 백 보 운 의 도움 문 서 를 보 러 갈 수 있 습 니 다. 문서 안의 설명 이 비교적 상세 하고 해당 하 는 예제 코드 가 있 습 니 다.
 
    그러나 우 리 는 플러그 인의 함 수 를 호출 하기 전에 플러그 인 을 먼저 등록 해 야 합 니 다. 그렇지 않 으 면 호출 함수 가 실패 할 것 입 니 다.
TC 에 서 는 프로젝트 의 자원 디 렉 터 리 에 플러그 인 을 추가 할 수 있 습 니 다. (자원 가 져 오기, 자원 디 렉 터 리 에 수 동 으로 복사) 그 후에 저 희 는 TC 인터페이스 초기 화 이벤트 에 플러그 인 등록 코드 를 추가 하면 됩 니 다.코드 는 다음 과 같 습 니 다:
  bbycom_   ()

//           

  ret=    ("bby.soft")

  (!ret)

ret=    ("rc:t_baibaoyun.dll", )

  (!ret)

   ("      ")

  ()

  

  

bby=  ("bby.soft")

  


 코드 중
플러그 인의 대상 을 저장 하 는 전역 변수 입 니 다.
 
 
 
 
5.1 로그 인 인터페이스
프로그램 이 플러그 인 에 있 는 login 함 수 를 호출 하면 백 보 운 이 터치 합 니 다userlogin 이벤트.
메모: 이 함 수 를 호출 하기 전에 플러그 인 에 있 는 reg 함 수 를 먼저 호출 해 야 합 니 다. reg 가 성공 한 경우 에 만 login 이 성공 적 으로 호출 되 고 해당 하 는 이 벤트 를 촉발 할 수 있 습 니 다.
login 의 함수 원형 은 다음 과 같 습 니 다.
login(custom_char,arg,msgbuff)


 
대응 하 는 백 보 운 이벤트 의 원형 은 다음 과 같 습 니 다.
_userlogin(token,arg1,arg2,&out_ret)


 
이 클래스 는 매개 변수의 대응 관 계 를 설명 합 니 다.
_userlogin  token    reg   token 。

_userlogin  arg1    login   custom_char 。

_userlogin  arg2    login   arg 。

_userlogin  out_ret    login   msgbuff 。


 
주의: 같은 백 보 운 응용 중, customchar 의 값 은 유일 해 야 합 니 다. 그렇지 않 으 면 원래 사용 하 던 custom 을 차 버 립 니 다.char 에 로그 인 한 사용자 로 인해 백 보 운 이 보 내 온 메 시 지 를 받 을 수 없습니다.
 
백 보 운 테스트 코드
function_userlogin(token,arg1,arg2,&out_ret)

out_ret="  com   login     "

returntrue

end


 
클 라 이언 트 의 테스트 코드 (TC 코드)
  login    ()

  result

result=bby.reg("abin","aac5ddb832bbca6d2db00a7557152d5c")

  (result==0)

  ret=bby.login("user","pwd",result)

  (ret==0)

    ("    ")

   

  

    ("login    ,    :"&ret)

   

  

  

    ("    ,    :"&result)

   

  

  


 
5.2 pushconnect 인터페이스
프로그램 이 플러그 인 에 있 는 pushconnect 함 수 를 호출 하면 백 보 운 이 촉발 합 니 다userpush 이벤트.
메모: 이 함 수 를 호출 하기 전에 플러그 인 에 있 는 reg 함 수 를 먼저 호출 해 야 합 니 다. reg 가 성공 한 경우 에 만 pushconnect 가 성공 적 으로 호출 되 고 해당 하 는 이 벤트 를 촉발 할 수 있 습 니 다.
pushconnect 의 함수 원형 은 다음 과 같 습 니 다.
pushconnect(custom_char,arg,msgbuff)


 
대응 하 는 백 보 운 이벤트 의 원형 은 다음 과 같 습 니 다.
_userpush(token,arg1,arg2,&out_ret)


 
이 클래스 는 매개 변수의 대응 관 계 를 설명 합 니 다.
_userpush  token    reg   token 。

_userpush  arg1    pushconnect   custom_char 。

_userpush  arg2    pushconnect   arg 。

_userpush  out_ret    pushconnect   msgbuff 。


 
주의: 같은 customchar 값 은 같은 백 보 클 라 우 드 응용 프로그램 에서 여러 번 사용 할 수 있 으 며 원래 로그 인 한 것 을 차 버 리 는 상황 이 발생 하지 않 습 니 다.
 
백 보 운 의 테스트 코드 는 다음 과 같다.
function_userpush(token,arg1,arg2,&out_ret)

out_ret="  com   pushconnect     "

returntrue

end


 
TC 의 테스트 코드 는 다음 과 같 습 니 다.
  push    ()

  result

result=bby.reg("abin","aac5ddb832bbca6d2db00a7557152d5c")

  (result==0)

  ret=bby.pushconnect("user","pwd",result)

  (ret==0)

    ("    ")

   

  

    ("push    ,    :"&ret)

   

  

  

    ("    ,    :"&result)

   

  

  


 
 
5.3 commoninterface 인터페이스
프로그램 이 플러그 인 에 있 는 comoninterface 함 수 를 호출 하면 백 보 운 이 촉발 합 니 다comoninterface 이벤트.
메모: 이 함 수 를 호출 하기 전에 플러그 인 에 있 는 reg 함 수 를 먼저 호출 해 야 합 니 다. reg 가 성공 한 경우 에 만 comoninterface 가 성공 적 으로 호출 되 고 해당 하 는 이 벤트 를 촉발 할 수 있 습 니 다.
commoninterface 의 함수 원형 은 다음 과 같 습 니 다.
commoninterface(arg,retbuff)


 
대응 하 는 백 보 운 이벤트 의 원형 은 다음 과 같 습 니 다.
_commoninterface(token,arg)


 
이 클래스 는 매개 변수의 대응 관 계 를 설명 합 니 다.
_commoninterface  token    reg   token 。

_commoninterface  arg    commoninterface   arg 。

commoninterface  retbuff    _commoninterface  return  。


 
백 보 운 의 이벤트 코드:
function_commoninterface(token,arg)

return"  com       "

end


 
TC 의 테스트 코드 는 다음 과 같 습 니 다.
  push    ()

  result

result=bby.reg("abin","aac5ddb832bbca6d2db00a7557152d5c")

  (result==0)

  ret=bby.commoninterface("test",result)

  (ret==0)

    ("    ")

   

  

    ("commoninterface  ,    :"&ret)

   

  

  

    ("    ,    :"&result)

   

  

  


 
 
5.4 백 보 운 푸 시 데 이 터 를 받 는 함수
플러그 인 에 서 는 백 보 클 라 우 드 가 푸 시 하 는 내용 을 받 아들 이 는 데 몇 가지 반전 함 수 를 제공 합 니 다. 그러면 우 리 는 많은 일 을 할 수 있 습 니 다. 예 를 들 어 로그 인 한 사용자 그룹 에 업데이트 소프트웨어 알림, 기능 변경 알림 을 보 낼 수 있 습 니 다.한 사용자 에 게 명절 인사, 경고 알림 등 을 보 냅 니 다.
 
백 보 운 에서 내용 을 푸 시 하 는 몇 가지 명령 을 제 공 했 습 니 다. 명령 은 다음 과 같 습 니 다.
pushttextmsg 연결 사용자 에 게 텍스트 메 시 지 를 전송 합 니 다.
pushttextmsgall 모든 연결 사용자 에 게 텍스트 메 시 지 를 전송 합 니 다.
로그 인 사용자 에 게 메 시 지 를 전송 합 니 다.
로그 인 사용자 확장
 
push 류 의 푸 시 데이터
푸 시 데이터 기능 을 실현 하 는 절 차 는 다음 과 같다.
1) 플러그 인 등록 성공
2) 플러그 인 대상 만 들 기
3) 플러그 인 을 성공 적 으로 호출 하 는 reg 방법
4) 플러그 인 을 성공 적 으로 호출 한 pushconnect 방법
5) 플러그 인의 리 셋 함수 에 로 컬 리 셋 함수 와 연 결 됩 니 다.
6) 백 보 운 리 는 pushttextmsg, pushttextmsgal 을 통 해 로그 인 한 사용자 에 게 콘 텐 츠 를 전송 합 니 다.
 
TC 엔 드 의 코드 는 다음 과 같 습 니 다 (주요 코드 만 있 음).
  bbycom_   ()

//           

  ret=    ("bby.soft")

  (!ret)

ret=    ("rc:t_baibaoyun.dll", )

  (!ret)

   ("      ")

  ()

  

  




bby=  ("bby.soft")

ret=bby.reg("abin","fb0093726c769c715c038450a52442a8")

  (ret!=0)

   ("        ,    :"&bby.TranslateErr(ret))

  ()

  

  




  login_  ()

//           

  result

  ret=bby.pushconnect("user2","pwd",result)

  (ret==0)

  login_callback_handle=      ("login_callbackpush","bby_callback")

  (login_callback_handle!=0)

bby.msgcallback_push(login_callback_handle)

    ("  push      ")

  

   ("        ,         !")

  

    (result)

  

    (ret)

  


  

  login_callbackpush(type,arg)

traceprint("      ")

  content=    ()&"\r
push :"&type&"\r
"&"push :"& (arg,"wchar*") traceprint(content) (content
)

 노랗다
배경의 코드 세그먼트 는 리 셋 함 수 를 설정 하고 백 보 운 푸 시 내용 을 받 는 관건 적 인 코드 세그먼트 입 니 다.
 
 
 
코드 데모 그림:
백 보 구름 효과
 
 
TC 엔 드 효과 도
 
 
 
 
login 류 의 푸 시 데이터
푸 시 데이터 기능 을 실현 하 는 절 차 는 다음 과 같다.
1) 플러그 인 등록 성공
2) 플러그 인 대상 만 들 기
3) 플러그 인 을 성공 적 으로 호출 하 는 reg 방법
4) 플러그 인 을 성공 적 으로 호출 하 는 login 방법
5) 플러그 인의 리 셋 함수 에 로 컬 리 셋 함수 와 연 결 됩 니 다.
6) 백 보 운 리 는 logintextmsg, logintextmsgex 를 통 해 로그 인 한 사용자 에 게 콘 텐 츠 를 전송 합 니 다.
 
TC 엔 드 의 코드 는 다음 과 같 습 니 다 (주요 코드 만 있 음).
  bbycom_   ()

//           

  ret=    ("bby.soft")

  (!ret)

ret=    ("rc:t_baibaoyun.dll", )

  (!ret)

   ("      ")

  ()

  

  




bby=  ("bby.soft")

ret=bby.reg("abin","fb0093726c769c715c038450a52442a8")

  (ret!=0)

   ("        ,    :"&bby.TranslateErr(ret))

  ()

  

  




  login_  ()

//           

  result

  ret=bby.login("user","pwd",result)

  (ret==0)

  login_callback_handle=      ("login_callbacklogin","bby_callback")

  (login_callback_handle!=0)

bby.msgcallback_login(login_callback_handle)

    ("  login      ")

  

   ("        ,         !")

  

    (result)

  

    (ret)

  


  


  login_callbacklogin(type,arg)

traceprint("      ")

  content=    ()&"\r
login :"&type&"\r
"&"login :"& (arg,"wchar*") traceprint(content) (content)

 
 
 
노란색 배경의 코드 세그먼트 는 리 셋 함 수 를 설정 하고 백 보 운 푸 시 내용 을 받 는 관건 적 인 코드 세그먼트 입 니 다.
 
백 보 클 라 우 드 의 코드:
백 보 운 은 주로 이 루어 졌 다userlogin 이벤트 이후 메 인 단추 에서 명령 logintextmsg 푸 시 내용 을 호출 합 니 다.

//      

  _initial()

      ("     ")

  

//            

  _mainbutton()

      ("      ")

if(logintextmsg("user","HI,  "))

sendtextmsg("login      ")

else

sendtextmsg("login      ")

end

  




  _userlogin(token,arg1,arg2,&out_ret)

sendtextmsg("loginname="&arg1&"pwd="&arg2)

out_ret="  com   login     "

returntrue

  


 
데모 그림:
백 보 운 APP 그림
 
TC 엔 드 의 그림:
 
 
 
주의:
TC 코드 에서 신청 한 리 셋 함수 가 모두 bby 이기 때 문 입 니 다.callback, 그래서 login 과 push 의 푸 시 는 로 컬 에서 마지막 으로 신청 한 리 셋 함수 만 유효 합 니 다.
그러나 C + + 에 서 는 리 턴 함수 가 스스로 정의 할 수 있 기 때문에 이 문 제 는 존재 하지 않 습 니 다.
 
5.5 효과 와 복호화 인터페이스
COM 플러그 인의 효과 인터페이스, 복호화 인터페이스 와 백 보 운 에서 제공 하 는 효과 인터페이스, 복호화 함 수 는 대응 하 며 통용 할 수 있 습 니 다.현재 하나의 예 시 를 통 해 다음 과 같은 요 구 를 검증 합 니 다.
COM 에 서 는 AES 암호 화 알고리즘 인 aesencrypt 를 사용 하여 문자열 'abcd' 를 암호 화한 후 비밀문 을 comoninterface 를 통 해 백 보 클 라 우 드 에 보 내 복호화 하여 원 데 이 터 를 얻 습 니 다.
TC 엔 드 코드
  test()

  bby=  ("bby.soft")

  sourcestr="abcd",key="bby"

  result=bby.aesencrypt(sourcestr,key)

  retbuff=""

  (bby.reg("abin","aac5ddb832bbca6d2db00a7557152d5c")==0)

  ret=bby.commoninterface(result,retbuff)

  (ret==0)

   (retbuff)

  

   ("commoninterface  ")

  

  

   ("reg  ")

  

  


 
백 보 클 라 우 드 의 코드
  _commoninterface(token,arg)

  ret=aesdecrypt(arg,"bby")

  "         :"&ret

  


 
 
 
5.6JSon 조작 인터페이스
5.6.1 com 을 이용 하여 json 문자열 구축
TC 코드 는 다음 과 같 습 니 다.
  pJson=bby.jsoncreate()

bby.jsonpushstring(pJson,"str","         ")

bby.jsonpushstring(pJson,"type","sendApp")

  conent=bby.jsontostring(pJson)

bby.jsonfree(pJson)

  retstr

bby.commoninterface(conent,retstr)

   (retstr)





 
백 보 운 코드 는 다음 과 같 습 니 다.
  _commoninterface(token,arg)

      ("       :"&arg)

  ret=json   (arg)

      ("str="&ret["str"])

      ("type="&ret["type"])

  "    "

  




5.6.2  JSON   

     

  _commoninterface(token,arg)

  arr=  ()

arr["zhangsan"]="  "

arr["lisi"]="   "

     json(arr)

  




TC   

    JSON   (json   )

  a=bby.jsonparse(json   )

  size=bby.jsongetsize(a)

  key,value

  (  i=0;i<size;i++)

bby.jsongetat(a,i,value,key)

    (i&":key="&key&"value="&value)

  

  




좋은 웹페이지 즐겨찾기