본문 바로가기
IT-개발,DB

[IT/개발] 파워빌더 - FTP 사용하기

by SB리치퍼슨 2010. 2. 22.


파워빌더 11.5 버전 테스트


FTP서버에 파일을 Upload, Download, Delete, 목록가져오기 등을 구현하는 예제입니다.

해당 Zip파일을 풀면 ftp.dll과 이 dll을 파워빌더에서 API로 사용하는 방법이 설명되어 있는 파일, 그리고 이를 구현한 PB n.v.o가 PBL에 있습니다.

ftp.dll은 system32폴더 또는 파워빌더 실행파일이 있는 위치에 두시면
됩니다.


[ftp1.pbl]
------------------------------------------------------------------------
// FTP
n_ftp in_ftp

// FTP UPload

string is_server, is_user, is_pass, is_serverfilename, is_clientfilename


is_server = a_server
is_user = a_user
is_pass = a_pass
is_serverfilename = a_serverfilename
is_clientfilename = a_clientfilename

    // 1. FTP object 생성
    in_ftp    = create n_ftp 

    // 2. FTP Connect
    Int li_i
    li_i = in_ftp.FTPConnect(is_server, is_user, is_pass)

    if li_i <> 0 then
       MessageBox("오류", "FTP Server에 접속중 오류가 발생했습니다.", Exclamation!)
       destroy in_ftp
       return
    end if

    // 3. FTP Transfer
    Int li_rtn
    string s_server_file, s_client_file
    s_server_file = is_serverfilename //"c:\\test.txt"
    s_client_file = is_clientfilename //"/tmp/test"

    // 송신 put
    li_rtn = in_ftp.FTPputFile(s_client_file, s_server_file, 0)

   
    /* -ftp의 사용법------------------------------------------------------------
    FTPgetCurrentDir ( return string(blob) ) 
    FTPsetCurrentDirUp ()
    FTPsetCurrentDir ( "디렉토리")
    FTPfileList ( return string(blob) )
    FTPgetFile ( String REMOTE_FILE, String LOCAL_FILE, integer BINARY_OR_TEXT )
    FTPcreateDir ( String NEW_DIR )
    FTPdeleteFile ( String DEL_FILE )
    FTPdeleteDir ( String DEL_DIR )
    FTPrenameDir ( String CURR_DIR, String NEW_DIR )
    FTPputFile ( String LOCAL_FILE, String REMOTE_FILE, integer BINARY_OR_TEXT )
    FTPping ( String IPaddress )
    ------------------------------------------------------------------------- */   

    if li_rtn = 0 then
       //Transfer Success..
        MessageBox("안내", "파일전송 성공!")
    else
       //Transfer Failure..
       MessageBox("안내", "파일전송 실패!")
       return
    end if

    // 4. FTP Disconnect
    Int li_rtn2
    li_rtn2 = in_ftp.FTPDisconnect()
    if li_rtn2 <> 0 then
       MessageBox("오류", "FTP Disconnect를 하는 중에 오류가 발생했습니다.", Exclamation!)
       destroy in_ftp
       return
    end if

    // 5. FTP Close
    destroy in_ftp

------------------------------------------------------------------------------------------

출처 : 구글 검색
고맙게 잘 봤습니다.

반응형

댓글