zekasan Posted September 26, 2018 Report Share Posted September 26, 2018 Bom dia, alguma alma nobre pode me ajudar com estas encrenca? Estou procurando exemplo na versão 1207 e não estou achando, alguém tem esta COISA??? Agradeço muito se puderem me ajudar. Quote Link to comment Share on other sites More sharing options...
Rogerio Figueira Posted September 26, 2018 Report Share Posted September 26, 2018 Boa tarde. Te passo dois exemplos, funcionando ok. // // File attributes // #define FILE_ATTRIBUTE_READONLY 1 #define FILE_ATTRIBUTE_HIDDEN 2 #define FILE_ATTRIBUTE_SYSTEM 4 #define FILE_ATTRIBUTE_DIRECTORY 16 #define FILE_ATTRIBUTE_ARCHIVE 32 #define FILE_ATTRIBUTE_NORMAL 128 #define FILE_ATTRIBUTE_TEMPORARY 256 // // access types for InternetOpen() // #define INTERNET_OPEN_TYPE_PRECONFIG 0 // use registry configuration #define INTERNET_OPEN_TYPE_DIRECT 1 // direct to net #define INTERNET_OPEN_TYPE_PROXY 3 // via named proxy #define INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY 4 // prevent using java/script/INS // // manifests // #define INTERNET_INVALID_PORT_NUMBER 0 // use the protocol-specific default #define INTERNET_DEFAULT_FTP_PORT 21 // default for FTP servers #define INTERNET_DEFAULT_GOPHER_PORT 70 // " " gopher " #define INTERNET_DEFAULT_HTTP_PORT 80 // " " HTTP " #define INTERNET_DEFAULT_HTTPS_PORT 443 // " " HTTPS " #define INTERNET_DEFAULT_SOCKS_PORT 1080 // default for SOCKS firewall servers. // // service types for InternetConnect() // #define INTERNET_SERVICE_FTP 1 #define INTERNET_SERVICE_GOPHER 2 #define INTERNET_SERVICE_HTTP 3 #define INTERNET_FLAG_PASSIVE 134217728 // // flags for FTP // #define INTERNET_FLAG_TRANSFER_ASCII 1 #define INTERNET_FLAG_TRANSFER_BINARY 2 //------------------------------------------------------------------- FUNCTION MandaFTP(host, usuario, senha, pasta, arquivo, dir, oquefazer, QuemChamou) LOCAL hInternet, hConnect Local afiles hInternet = INTERNETOPEN( "Anystring", INTERNET_OPEN_TYPE_DIRECT, 0, 0, 0 ) hConnect = INTERNETCONNECT( hInternet, host, INTERNET_INVALID_PORT_NUMBER, usuario, senha, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0 ) if oquefazer = "pega" if ! FTPGETFILE( hConnect, pasta+arquivo, arquivo, 0, FILE_ATTRIBUTE_ARCHIVE, 0, 0 ) msgStop("Erro ao receber arquivo "+pasta+arquivo,"Atenção!") else SumLog(arquivo, "Recebido por ","FTP ") end else if FTPPUTFILE( hConnect, dir+arquivo, pasta+arquivo, 0, 0 ) if QuemChamou = "WT5f0A" msginfo("Arquivo enviado.","Sucesso!") end // crio log da transacao SumLog(arquivo, "Enviado por ","FTP ") else msgalert("Falha no envio do arquivo"+CRLF+; "Verifique conexão com a internet e firewall.","Problemas.") SumLog(arquivo, "Falhou ao enviar ","FTP ") end end INTERNETCLOSEHANDLE( hConnect ) INTERNETCLOSEHANDLE( hInternet ) RETURN NIL //============================================================================================== FUNCTION MandaImg(host, usuario, senha, pasta, aJPG, dir, oquefazer, QuemChamou) LOCAL hInternet, hConnect local hFTPDir, aFiles := {} local oWin32FindData, cBuffer Local aonde, arquivo STRUCT oWin32FindData MEMBER nFileAttributes AS DWORD MEMBER nCreationTime AS STRING LEN 8 MEMBER nLastReadAccess AS STRING LEN 8 MEMBER nLastWriteAccess AS STRING LEN 8 MEMBER nSizeHight AS DWORD MEMBER nSizeLow AS DWORD MEMBER nReserved0 AS DWORD MEMBER nReserved1 AS DWORD MEMBER cFileName AS STRING LEN 260 MEMBER cAltName AS STRING LEN 14 ENDSTRUCT hInternet = INTERNETOPEN( "Anystring", INTERNET_OPEN_TYPE_DIRECT, 0, 0, 0 ) hConnect = INTERNETCONNECT( hInternet, host, INTERNET_INVALID_PORT_NUMBER, usuario, senha, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0 ) if oquefazer = "vesetem" cBuffer = oWin32FindData:cBuffer hFTPDir = FtpFindFirstFile( hConnect, "*.*", @cBuffer, 0, 0 ) oWin32FindData:cBuffer = cBuffer if ! Empty( oWin32FindData:cFileName ) aadd( aFiles, { oWin32FindData:cFileName,; oWin32FindData:nSizeLow } ) while InternetFindNextFile( hFTPDir, @cBuffer ) oWin32FindData:cBuffer = cBuffer aadd( aFiles, { oWin32FindData:cFileName,; oWin32FindData:nSizeLow } ) end endif if len(afiles)>0 for i=1 to len(aJPG) aonde := ascan(afiles,aJpg[i]) if aonde > 0 adel(aJPG,aonde) //fica na matriz somente o que vai ser enviado end next else msgAlert("Erro ao carregar Dir Remoto."+CRLF+"Conexão falhou."+CRLF+"Gere o relatório novamente.","Atenção:") end else aJPg := {} end if len(aJPG)>0 for i=1 to len(aJPG) arquivo := aJPG[i] if FTPPUTFILE( hConnect, dir+arquivo, pasta+arquivo, 0, 0 ) if QuemChamou = "WT5f0A" msginfo("Arquivo enviado.","Sucesso!") end // crio log da transacao SumLog(arquivo, "Enviado por ","FTP ") else msgalert("Falha no envio do arquivo"+CRLF+; "dir+arquivo: "+dir+arquivo + CRLF+; "pasta+arquivo: "+pasta+arquivo+CRLF+; "Verifique conexão com a internet e firewall.","Problemas.") SumLog(arquivo, "Falhou ao enviar ","FTP ") end next end INTERNETCLOSEHANDLE( hConnect ) INTERNETCLOSEHANDLE( hInternet ) RETURN NIL //================================================================================================ #pragma BEGINDUMP #include "windows.h" #include "wininet.h" #include "hbapi.h" HB_FUNC( INTERNETOPEN ) { hb_retnl( ( LONG ) InternetOpen( hb_parc( 1 ), hb_parnl( 2 ), hb_parc( 3 ), hb_parc( 4 ), hb_parnl( 5 ) ) ); } HB_FUNC( INTERNETCLOSEHANDLE ) { hb_retl( InternetCloseHandle( ( HINTERNET ) hb_parnl( 1 ) ) ); } HB_FUNC( INTERNETCONNECT ) { hb_retnl( ( LONG ) InternetConnect( ( HINTERNET ) hb_parnl( 1 ), hb_parc( 2 ), ( INTERNET_PORT ) hb_parnl( 3 ), hb_parc( 4 ), hb_parc( 5 ), hb_parnl( 6 ), hb_parnl( 7 ), hb_parnl( 8 ) ) ); } HB_FUNC( FTPGETFILE ) { hb_retl( FtpGetFile( ( HINTERNET ) hb_parnl( 1 ), hb_parc( 2 ), hb_parc( 3 ), hb_parl( 4 ), hb_parnl( 5 ), hb_parnl( 6 ), hb_parnl( 7 ) ) ); } HB_FUNC( FTPPUTFILE ) { hb_retl( FtpPutFile( ( HINTERNET ) hb_parnl( 1 ), hb_parc( 2 ), hb_parc( 3 ), hb_parnl( 4 ), hb_parnl( 5 ) ) ); } HB_FUNC( FTPDELETEFILE ) { hb_retl( FtpDeleteFile( ( HINTERNET ) hb_parnl( 1 ), hb_parc( 2 ) ) ); } HB_FUNC( FTPCREATEDIRECTORY ) { hb_retl( FtpCreateDirectory( ( HINTERNET ) hb_parnl( 1 ), hb_parc( 2 ) ) ); } HB_FUNC( FTPREMOVEDIRECTORY ) { hb_retl( FtpRemoveDirectory( ( HINTERNET ) hb_parnl( 1 ), hb_parc( 2 ) ) ); } HB_FUNC( FTPFINDFIRSTFILE ) { hb_retnl( ( LONG ) FtpFindFirstFile( ( HINTERNET ) hb_parnl( 1 ), hb_parc( 2 ), ( WIN32_FIND_DATA * ) hb_parc( 3 ), hb_parnl( 4 ), hb_parnl( 5 ) ) ); } HB_FUNC( INTERNETFINDNEXTFILE ) { hb_retl( InternetFindNextFile( ( HINTERNET ) hb_parnl( 1 ), hb_parc( 2 ) ) ); } #pragma ENDDUMP Quote Link to comment Share on other sites More sharing options...
zekasan Posted September 26, 2018 Author Report Share Posted September 26, 2018 Muito obrigado, irei implementar Quote Link to comment Share on other sites More sharing options...
Ladinilson Posted May 7, 2021 Report Share Posted May 7, 2021 Bom dia, Em 26/09/2018 at 12:18, Rogerio Figueira disse: Boa tarde. Te passo dois exemplos, funcionando ok. // // File attributes // #define FILE_ATTRIBUTE_READONLY 1 #define FILE_ATTRIBUTE_HIDDEN 2 #define FILE_ATTRIBUTE_SYSTEM 4 #define FILE_ATTRIBUTE_DIRECTORY 16 #define FILE_ATTRIBUTE_ARCHIVE 32 #define FILE_ATTRIBUTE_NORMAL 128 #define FILE_ATTRIBUTE_TEMPORARY 256 // // access types for InternetOpen() // #define INTERNET_OPEN_TYPE_PRECONFIG 0 // use registry configuration #define INTERNET_OPEN_TYPE_DIRECT 1 // direct to net #define INTERNET_OPEN_TYPE_PROXY 3 // via named proxy #define INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY 4 // prevent using java/script/INS // // manifests // #define INTERNET_INVALID_PORT_NUMBER 0 // use the protocol-specific default #define INTERNET_DEFAULT_FTP_PORT 21 // default for FTP servers #define INTERNET_DEFAULT_GOPHER_PORT 70 // " " gopher " #define INTERNET_DEFAULT_HTTP_PORT 80 // " " HTTP " #define INTERNET_DEFAULT_HTTPS_PORT 443 // " " HTTPS " #define INTERNET_DEFAULT_SOCKS_PORT 1080 // default for SOCKS firewall servers. // // service types for InternetConnect() // #define INTERNET_SERVICE_FTP 1 #define INTERNET_SERVICE_GOPHER 2 #define INTERNET_SERVICE_HTTP 3 #define INTERNET_FLAG_PASSIVE 134217728 // // flags for FTP // #define INTERNET_FLAG_TRANSFER_ASCII 1 #define INTERNET_FLAG_TRANSFER_BINARY 2 //------------------------------------------------------------------- FUNCTION MandaFTP(host, usuario, senha, pasta, arquivo, dir, oquefazer, QuemChamou) LOCAL hInternet, hConnect Local afiles hInternet = INTERNETOPEN( "Anystring", INTERNET_OPEN_TYPE_DIRECT, 0, 0, 0 ) hConnect = INTERNETCONNECT( hInternet, host, INTERNET_INVALID_PORT_NUMBER, usuario, senha, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0 ) if oquefazer = "pega" if ! FTPGETFILE( hConnect, pasta+arquivo, arquivo, 0, FILE_ATTRIBUTE_ARCHIVE, 0, 0 ) msgStop("Erro ao receber arquivo "+pasta+arquivo,"Atenção!") else SumLog(arquivo, "Recebido por ","FTP ") end else if FTPPUTFILE( hConnect, dir+arquivo, pasta+arquivo, 0, 0 ) if QuemChamou = "WT5f0A" msginfo("Arquivo enviado.","Sucesso!") end // crio log da transacao SumLog(arquivo, "Enviado por ","FTP ") else msgalert("Falha no envio do arquivo"+CRLF+; "Verifique conexão com a internet e firewall.","Problemas.") SumLog(arquivo, "Falhou ao enviar ","FTP ") end end INTERNETCLOSEHANDLE( hConnect ) INTERNETCLOSEHANDLE( hInternet ) RETURN NIL //============================================================================================== FUNCTION MandaImg(host, usuario, senha, pasta, aJPG, dir, oquefazer, QuemChamou) LOCAL hInternet, hConnect local hFTPDir, aFiles := {} local oWin32FindData, cBuffer Local aonde, arquivo STRUCT oWin32FindData MEMBER nFileAttributes AS DWORD MEMBER nCreationTime AS STRING LEN 8 MEMBER nLastReadAccess AS STRING LEN 8 MEMBER nLastWriteAccess AS STRING LEN 8 MEMBER nSizeHight AS DWORD MEMBER nSizeLow AS DWORD MEMBER nReserved0 AS DWORD MEMBER nReserved1 AS DWORD MEMBER cFileName AS STRING LEN 260 MEMBER cAltName AS STRING LEN 14 ENDSTRUCT hInternet = INTERNETOPEN( "Anystring", INTERNET_OPEN_TYPE_DIRECT, 0, 0, 0 ) hConnect = INTERNETCONNECT( hInternet, host, INTERNET_INVALID_PORT_NUMBER, usuario, senha, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0 ) if oquefazer = "vesetem" cBuffer = oWin32FindData:cBuffer hFTPDir = FtpFindFirstFile( hConnect, "*.*", @cBuffer, 0, 0 ) oWin32FindData:cBuffer = cBuffer if ! Empty( oWin32FindData:cFileName ) aadd( aFiles, { oWin32FindData:cFileName,; oWin32FindData:nSizeLow } ) while InternetFindNextFile( hFTPDir, @cBuffer ) oWin32FindData:cBuffer = cBuffer aadd( aFiles, { oWin32FindData:cFileName,; oWin32FindData:nSizeLow } ) end endif if len(afiles)>0 for i=1 to len(aJPG) aonde := ascan(afiles,aJpg[i]) if aonde > 0 adel(aJPG,aonde) //fica na matriz somente o que vai ser enviado end next else msgAlert("Erro ao carregar Dir Remoto."+CRLF+"Conexão falhou."+CRLF+"Gere o relatório novamente.","Atenção:") end else aJPg := {} end if len(aJPG)>0 for i=1 to len(aJPG) arquivo := aJPG[i] if FTPPUTFILE( hConnect, dir+arquivo, pasta+arquivo, 0, 0 ) if QuemChamou = "WT5f0A" msginfo("Arquivo enviado.","Sucesso!") end // crio log da transacao SumLog(arquivo, "Enviado por ","FTP ") else msgalert("Falha no envio do arquivo"+CRLF+; "dir+arquivo: "+dir+arquivo + CRLF+; "pasta+arquivo: "+pasta+arquivo+CRLF+; "Verifique conexão com a internet e firewall.","Problemas.") SumLog(arquivo, "Falhou ao enviar ","FTP ") end next end INTERNETCLOSEHANDLE( hConnect ) INTERNETCLOSEHANDLE( hInternet ) RETURN NIL //================================================================================================ #pragma BEGINDUMP #include "windows.h" #include "wininet.h" #include "hbapi.h" HB_FUNC( INTERNETOPEN ) { hb_retnl( ( LONG ) InternetOpen( hb_parc( 1 ), hb_parnl( 2 ), hb_parc( 3 ), hb_parc( 4 ), hb_parnl( 5 ) ) ); } HB_FUNC( INTERNETCLOSEHANDLE ) { hb_retl( InternetCloseHandle( ( HINTERNET ) hb_parnl( 1 ) ) ); } HB_FUNC( INTERNETCONNECT ) { hb_retnl( ( LONG ) InternetConnect( ( HINTERNET ) hb_parnl( 1 ), hb_parc( 2 ), ( INTERNET_PORT ) hb_parnl( 3 ), hb_parc( 4 ), hb_parc( 5 ), hb_parnl( 6 ), hb_parnl( 7 ), hb_parnl( 8 ) ) ); } HB_FUNC( FTPGETFILE ) { hb_retl( FtpGetFile( ( HINTERNET ) hb_parnl( 1 ), hb_parc( 2 ), hb_parc( 3 ), hb_parl( 4 ), hb_parnl( 5 ), hb_parnl( 6 ), hb_parnl( 7 ) ) ); } HB_FUNC( FTPPUTFILE ) { hb_retl( FtpPutFile( ( HINTERNET ) hb_parnl( 1 ), hb_parc( 2 ), hb_parc( 3 ), hb_parnl( 4 ), hb_parnl( 5 ) ) ); } HB_FUNC( FTPDELETEFILE ) { hb_retl( FtpDeleteFile( ( HINTERNET ) hb_parnl( 1 ), hb_parc( 2 ) ) ); } HB_FUNC( FTPCREATEDIRECTORY ) { hb_retl( FtpCreateDirectory( ( HINTERNET ) hb_parnl( 1 ), hb_parc( 2 ) ) ); } HB_FUNC( FTPREMOVEDIRECTORY ) { hb_retl( FtpRemoveDirectory( ( HINTERNET ) hb_parnl( 1 ), hb_parc( 2 ) ) ); } HB_FUNC( FTPFINDFIRSTFILE ) { hb_retnl( ( LONG ) FtpFindFirstFile( ( HINTERNET ) hb_parnl( 1 ), hb_parc( 2 ), ( WIN32_FIND_DATA * ) hb_parc( 3 ), hb_parnl( 4 ), hb_parnl( 5 ) ) ); } HB_FUNC( INTERNETFINDNEXTFILE ) { hb_retl( InternetFindNextFile( ( HINTERNET ) hb_parnl( 1 ), hb_parc( 2 ) ) ); } #pragma ENDDUMP Tens exemplos de envio e recebimento de imagens (JPG) meu caro? Ladinilson Sousa Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.