#include "Fwce.ch"
//
// 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
//
// flags for FTP
//
#define INTERNET_FLAG_TRANSFER_ASCII 1
#define INTERNET_FLAG_TRANSFER_BINARY 2
FUNCTION MAIN()
LOCAL hInternet, hConnect
hInternet = INTERNETOPEN( "Anystring", INTERNET_OPEN_TYPE_DIRECT, 0, 0, 0 )
hConnect = INTERNETCONNECT( hInternet, "Your ftp address", INTERNET_INVALID_PORT_NUMBER, "userid", "password", INTERNET_SERVICE_FTP, 0, 0 )
// ? FTPGETFILE( hConnect, "Your remote file", "Your local file", 0, FILE_ATTRIBUTE_ARCHIVE, 0, 0 )
? FTPPUTFILE( hConnect, "Your local file", "Your remote file", 0, 0 )
INTERNETCLOSEHANDLE( hConnect )
INTERNETCLOSEHANDLE( hInternet )
RETURN NIL
#pragma BEGINDUMP
#include "windows.h"
#include "wininet.h"
#include "hbapi.h"
LPWSTR AnsiToWide( LPSTR );
HB_FUNC( INTERNETOPEN )
{
LPWSTR cAgent = AnsiToWide( hb_parc( 1 ) );
LPWSTR cProxyName = AnsiToWide( hb_parc( 3 ) );
LPWSTR cProxyBypass = AnsiToWide( hb_parc( 4 ) );
HINTERNET hInternet = InternetOpen( cAgent, hb_parnl( 2 ), cProxyName, cProxyBypass, hb_parnl( 5 ) );
hb_xfree( cAgent );
hb_xfree( cProxyName );
hb_xfree( cProxyBypass );
hb_retnl( ( LONG ) hInternet );
}
HB_FUNC( INTERNETCLOSEHANDLE )
{
hb_retl( InternetCloseHandle( ( HINTERNET ) hb_parnl( 1 ) ) );
}
HB_FUNC( INTERNETCONNECT )
{
LPWSTR cServerName = AnsiToWide( hb_parc( 2 ) );
LPWSTR cUserName = AnsiToWide( hb_parc( 4 ) );
LPWSTR cPassword = AnsiToWide( hb_parc( 5 ) );
HINTERNET hInternet = InternetConnect( ( HINTERNET ) hb_parnl( 1 ), cServerName, ( INTERNET_PORT ) hb_parnl( 3 ), cUserName, cPassword, hb_parnl( 6 ), hb_parnl( 7 ), hb_parnl( 8 ) );
hb_xfree( cServerName );
hb_xfree( cUserName );
hb_xfree( cPassword );
hb_retnl( ( LONG ) hInternet );
}
HB_FUNC( FTPGETFILE )
{
LPWSTR cRemoteFile = AnsiToWide( hb_parc( 2 ) );
LPWSTR cNewFile = AnsiToWide( hb_parc( 3 ) );
hb_retl( FtpGetFile( ( HINTERNET ) hb_parnl( 1 ), cRemoteFile, cNewFile, hb_parl( 4 ), hb_parnl( 5 ), hb_parnl( 6 ), hb_parnl( 7 ) ) );
hb_xfree( cRemoteFile );
hb_xfree( cNewFile );
}
HB_FUNC( FTPPUTFILE )
{
LPWSTR cLocalFile = AnsiToWide( hb_parc( 2 ) );
LPWSTR cNewRemoteFile = AnsiToWide( hb_parc( 3 ) );
hb_retl( FtpPutFile( ( HINTERNET ) hb_parnl( 1 ), cLocalFile, cNewRemoteFile, hb_parnl( 4 ), hb_parnl( 5 ) ) );
hb_xfree( cLocalFile );
hb_xfree( cNewRemoteFile );
}
#pragma ENDDUMP
#pragma BEGINDUMP
#include <WinTen.h>
#include <Windows.h>
#include <ras.h>
#include <HbApi.h>
#include <ClipApi.h>
HB_FUNC( RAS_DIAL ) // ( cEntryName, @nRetVal, @hRasCon ) -> NIL
{
RASDIALPARAMS rdp;
BOOL pwd;
HRASCONN hRas = 0;
DWORD res;
rdp.dwSize = 1052;
lstrcpy( rdp.szEntryName, hb_parc( 1 ) );
rdp.szPhoneNumber[ 0 ] = 0;
rdp.szCallbackNumber[ 0 ] = 0;
rdp.szUserName[ 0 ] = 0;
rdp.szPassword[ 0 ] = 0;
rdp.szDomain[ 0 ] = 0;
RasGetEntryDialParams( 0, &rdp, &pwd );
res = RasDial( 0, 0, &rdp, 0, 0, &hRas );
hb_stornl( res, 2 );
hb_stornl( ( LONG ) hRas, 3 );
}
#pragma ENDDUMP
// Header file: <connmgr.h>
// Library linked: CellCore.Lib
// Pocket Pc: Properly create GPRS connection (My ISP) in Connections Settings
// Connections Settings, Advanced Tab, Select Networks Button, set to My ISP
HB_FUNC (GPRSCONNECTION)
{
HANDLE phWebConnection = NULL;
DWORD pdwStatus = 0;
ConnMgrConnectionStatus (phWebConnection, &pdwStatus);
if (pdwStatus == CONNMGR_STATUS_CONNECTED)
{
hb_retl (TRUE);
}
else
{
CONNMGR_CONNECTIONINFO sConInfo;
memset (&sConInfo,0, sizeof (CONNMGR_CONNECTIONINFO));
sConInfo.cbSize = sizeof (CONNMGR_CONNECTIONINFO);
sConInfo.dwParams = CONNMGR_PARAM_GUIDDESTNET;
sConInfo.dwPriority = CONNMGR_PRIORITY_USERINTERACTIVE;
sConInfo.dwFlags = CONNMGR_FLAG_PROXY_HTTP;
sConInfo.bExclusive = FALSE;
sConInfo.bDisabled = FALSE;
sConInfo.guidDestNet = IID_DestNetInternet;
if (ConnMgrEstablishConnection (&sConInfo, &phWebConnection) == S_OK)
{
for (unsigned int k = 0; k < 8; k ++)
{
ConnMgrConnectionStatus(phWebConnection,&pdwStatus);
if (pdwStatus == CONNMGR_STATUS_CONNECTED)
{
hb_retl (TRUE);
}
else
{
if (pdwStatus == CONNMGR_STATUS_CONNECTIONCANCELED || pdwStatus == CONNMGR_STATUS_WAITINGCONNECTIONABORT)
{
hb_retl (FALSE);
}
Sleep (2500);
ConnMgrConnectionStatus (phWebConnection, &pdwStatus);
if (pdwStatus == CONNMGR_STATUS_WAITINGCONNECTION)
{}
if (pdwStatus == CONNMGR_STATUS_CONNECTIONCANCELED || pdwStatus == CONNMGR_STATUS_WAITINGCONNECTIONABORT)
{
hb_retl (FALSE);
}
}
}
hb_retl (FALSE);
}
else
{
hb_retl (FALSE);
}
}
}
Biel EA6DD wrote:Hi all,
many thanks Enrico and Pawel. I tryed the code provided by Pawel and it runs 100 %.
Many thanks again both.
Return to FiveWin for Pocket PC
Users browsing this forum: No registered users and 19 guests