차이점

이 페이지의 선택한 이전 버전과 현재 버전 사이의 차이점을 보여줍니다.

차이 보기로 연결

dr_kt_sms [2012/07/25 11:28] (현재)
admin 새로 만듦
줄 1: 줄 1:
 +== 명령어 설명 ==
  
 +DR_KT_SMS는  한국에서 Cell-phone 사용자에게 문자 메시지를 보내는 함수입니다.
 +
 +SOURCE 프로그램을 컴파일하기 위해 MAKE.BC파일 또는 NBUILD.BAT파일에 라이브러리 DR_KT_SMS.LIB와 X_MSGGATE_R.LIB파일을 추가바랍니다.
 +
 +프로그램을 배포할 때 실행 파일이 있는폴더에 아래 파일을 함께 배포 바랍니다.
 +<code>
 + \samples\ktsms\x_msggate_r.dll    : kt에서 제공하는 통신 모듈
 + \samples\x_msggate.conf           : kt에서 제공하는 통신 설정파일
 +</code>
 +
 +<code>
 +oSMS := TDr_KT_SMS():New( cID, cPassword )
 +       cID : 크로샷에 등록된 ID입니다.
 +      oSMS:Register()로 등록해야 합니다.
 +       cPassword : 크로샷에 등록된 password입니다.
 +</code>
 +
 +**Connect()**
 +
 +가입여부를 판단합니다.
 +
 + 
 +
 +인수(Arguments)
 +
 +없음
 +
 + 
 +
 +되돌림값(Return)
 +
 +ID와 PASSWORD가 일치하면 .t.가 return 됩니다.
 +
 + 
 +
 +설명(Explanation)
 +
 +가입 여부를 판단합니다.
 +
 +가입이 안되어 있으면 .f.를 보내줍니다.
 +
 + 
 +
 +예제(Example)
 +
 +<code>
 +     IF !oSMS:Connect()
 + oSMS:Register()
 +     ENDIF
 +</code>
 +
 +**Register()**
 +
 +KT에 가입합니다.
 +
 + 
 +
 +인수(Arguments)
 +
 +없음
 +
 + 
 +
 +되돌림값(Return)
 +
 +없음
 +
 + 
 +
 +설명(Explanation)
 +
 +SMS를 사용하려면 KT에 가입해야 합니다.
 +
 +가입을 위한 특별한 창이 자동으로 생성됩니다.
 +
 +가입 시 추천 ID는 반드시 fireboss로 입력해야 합니다.
 +
 + 
 +
 +예제(Example)
 +
 +<code>
 +     IF !oSMS:Connect()
 + oSMS:Register()
 +     ENDIF
 +</code>
 +
 +**Add( cName, cCellPhone )**
 +
 +SMS를 받을 사람의 정보를 추가합니다.
 +
 +50개까지 동시에 전달이 가능하니 50개 이하로 add바랍니다.
 +
 + 
 +
 +인수(Arguments)
 +
 +Add( cName, cCellPhone )
 +
 +     cName    : 이름
 +
 +     cCellPhone : 받을 사람 휴대번호
 +
 + 
 +
 +되돌림값(Return)
 +
 +.t. 정상적으로 추가되었습니다.
 +
 +.f. 50개를 초과 하여 추가가 안되었습니다.
 +
 + 
 +
 +설명(Explanation)
 +
 +가입을 위한 특별한 창이 자동으로 생성됩니다.
 +
 + 
 +
 +예제(Example)
 +
 +<code>
 +     IF !oSMS:Connect()
 + oSMS:Register()
 +     ENDIF
 +     oSMS:Init()
 +     oSMS:Add("홍길동", "011-011-0000" )
 +     oSMS:Add("홍길녀", "017-011-0000" )
 +     oSMS:Send ( "02-000-000", "입금이 확인되었습니다. 감사합니다." )
 +</code>
 +
 +**Send( cCallback, cMessage )**
 +
 +메시지를 전달합니다.
 +
 + 
 +
 +인수(Arguments)
 +
 +Send( cCallback, cMessage )
 +
 +     cCallback : 회신 번호
 +
 +     cMessage : 메시지 (80byte) 한글 40자
 +
 + 
 +
 +되돌림값(Return)
 +
 +없음
 +
 + 
 +
 +설명(Explanation)
 +
 +메시지를 보냅니다.
 +
 + 
 +
 +예제(Example)
 +
 +<code>
 +     IF !oSMS:Connect()
 + oSMS:Register()
 +     ENDIF
 +     oSMS:Init()
 +     oSMS:Add("홍길동", "011-011-0000" )
 +     oSMS:Add("홍길녀", "017-011-0000" )
 +     oSMS:Send ( "02-000-000", "입금이 확인되었습니다. 감사합니다." )
 +</code>
 +
 +NSAMPLES\KTSMS\SMS.PRG 참조
 +
 +{{:00112.jpg|}}
 +
 +<code>
 +#include "npp.ch"
 +
 +FUNCTION Main()
 +   LOCAL oDlg
 +   LOCAL oMessage,  cMessage := ""
 +   LOCAL oSender,   cSender := space(20)
 +   LOCAL oReceiver, cReceiver := space(20)
 +   LOCAL oId,       cId := space(20)           // 크로샷에 등록된 ID로 수정
 +   LOCAL oPasswd,   cPasswd := space(20)       // 크로샷에 등록된 password로 수정
 +   LOCAL oBut[2]
 +   // ID와 PASSWORD확인후 등록이 안된 사용자는 등록을 필히해야 합니다.
 +   
 +   SET RESOURCES TO "SMS.DLL"
 +
 +   cMessage += PADR("q/\/\p  힘!",16 )   + CRLF
 +   cMessage += PADR('(" ○ ")//내!'  ,16 ) + CRLF
 +   cMessage += PADR("☆m━━━━━☆",16 ) + CRLF
 +   cMessage += PADR("Enjoy Your Life",16 ) + CRLF
 +   cMessage += "☆━━━━━☆"            + CRLF
 +
 +   DEFINE DIALOG oDlg RESOURCE "D_SMS"
 +
 +      REDEFINE GET oSender   VAR cSender   ID 101  OF oDlg
 +      REDEFINE GET oReceiver VAR cReceiver ID 102  OF oDlg
 +      REDEFINE GET oMessage VAR cMessage   ID 103  OF oDlg MEMO ;
 +               COLOR CLR_BLACK, nRGB( 41,162,255 )
 +      REDEFINE GET oId      VAR cId        ID 104  OF oDlg
 +      REDEFINE GET oPasswd  VAR cPasswd    ID 105  OF oDlg
 +
 +
 +      REDEFINE BUTTON oBut[1] ID 201 OF oDlg ;
 +               ACTION SendData( cSender, cReceiver, cMessage, cId, cPasswd  )
 +      REDEFINE BUTTON oBut[2] ID 202 OF oDlg ACTION oDlg:End()
 +
 +   ACTIVATE DIALOG oDlg CENTER
 +
 +RETURN NIL
 +
 +FUNCTION SendData( cSender, cReceiver, cMessage, cId, cPasswd  )
 +   LOCAL oSms
 +
 +   IF Empty ( cSender )
 +      MsgStop( "회신번호를 입력바랍니다." )
 +      RETURN NIL
 +   ENDIF
 +
 +   IF Empty ( cSender )
 +      MsgStop( "받는사람 번호를 입력바랍니다." )
 +      RETURN NIL
 +   ENDIF
 +
 +   IF Empty ( cMessage )
 +      MsgStop( "전송 메시지를 입력바랍니다." )
 +      RETURN NIL
 +   ENDIF
 +
 +   IF Empty ( cId )
 +      MsgStop( "크로샷 ID를 입력 바랍니다." )
 +      RETURN NIL
 +   ENDIF
 +
 +   IF Empty ( cPasswd )
 +      MsgStop( "암호를 입력바랍니다." )
 +      RETURN NIL
 +   ENDIF
 +
 +   oSms := TDr_KT_SMS():New( cId, cPasswd )
 +
 +   IF !oSms:Connect()
 +       MsgStop("ID,암호를 확인바랍니다.")
 +       RETURN NIL
 +   ENDIF
 +
 +
 +   oSms:bSend := {| user_id, user_domain, user_phone_id, msg_id,job_id, total_price,;
 +                    content_amount, x_hdr_ret_code | ShowResult ( user_id,  user_domain,;
 +                    user_phone_id, msg_id, job_id, total_price, content_amount,;
 +                    x_hdr_ret_code, oSms ) }
 +
 +   oSms:Init()
 +
 +   oSms:Add( "고객", cReceiver )
 +
 +   /*
 +      CRLF를 제거하고 각 라인을 16줄로 맞춥니다.
 +   */
 +   cMessage := Message2Line( cMessage )
 +
 +   oSms:Send( cSender, cMessage )
 +
 +RETURN NIL
 +
 +
 +FUNCTION ShowResult ( user_id,  user_domain,  user_phone_id, msg_id, job_id, total_price,;
 +                      content_amount, x_hdr_ret_code, oSms )
 +
 +   IF total_price > 0
 +      MsgInfo("전송성공")
 +   ELSE
 +      MsgInfo("전송실패")
 +   ENDIF
 +
 +   oSms:Close()
 +
 +RETURN NIL
 +
 +FUNCTION Message2Line( cMessage )
 +   LOCAL nLines := mlCount( cMessage, 16 )
 +   LOCAL nI
 +   LOCAL cMsg   := ""
 +
 +   FOR nI := 1 TO nLines
 +       cMsg += PADR( MemoLine( cMessage, 16, nI ), 16 )
 +   NEXT
 +
 +RETURN cMsg
 +</code>
 

Link categories 1

Link categories 2