FTP on Pocket PC
FTP on Pocket PC
I have translate my application with FWPPC. Thanks!. FWPPC is a really good application!. It only take somes hours and this is the first time that I use fivewin.
Now I have to ftp data from the smartphone (Vodafone v1640) to a ftp server. How I have to operate ?
On XP I use wininet.dll but I think this is not working on Win Mobile.
I await your idea.
Thanks a lot.
Now I have to ftp data from the smartphone (Vodafone v1640) to a ftp server. How I have to operate ?
On XP I use wininet.dll but I think this is not working on Win Mobile.
I await your idea.
Thanks a lot.
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Re: FTP on Pocket PC
This is a sample:
Code: Select all
#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
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Grazie per l'aiuto ma ho un problema....
ho inserito il tuo codice ma quando linko il programma ho questi errori:
---------------------------------------
menu.obj : error LNK2001: unresolved external symbol "void __cdecl
HB_FUN_FTPSETCURRENTDIRECTORY(void)" (?HB_FUN_FTPSETCURRENTDIRECTORY@@YAXXZ)
menu.obj : error LNK2001: unresolved external symbol "void __cdecl HB_FUN_INETCONNECT(void)" (?HB_FUN_INETCONNECT@@YAXXZ)
menu.obj : error LNK2001: unresolved external symbol "void __cdecl HB_FUN_INETOPEN(void)" (?HB_FUN_INETOPEN@@YAXXZ)
menu.obj : error LNK2019: unresolved external symbol InternetOpenW referenced in function "void __cdecl HB_FUN_INTERNETOPEN(void)" (?HB_FUN_INTERNETOPEN@@YAXXZ)
menu.obj : error LNK2019: unresolved external symbol InternetCloseHandle referenced in function "void __cdecl HB_FUN_INTERNETCLOSEHANDLE(void)" (?HB_FUN_INTERNETCLOSEHANDLE@@YAXXZ)
menu.obj : error LNK2019: unresolved external symbol InternetConnectW referenced in function "void __cdecl HB_FUN_INTERNETCONNECT(void)" (?HB_FUN_INTERNETCONNECT@@YAXXZ)
menu.obj : error LNK2019: unresolved external symbol FtpGetFileW referenced in function "void __cdecl HB_FUN_FTPGETFILE(void)" (?HB_FUN_FTPGETFILE@@YAXXZ)
menu.obj : error LNK2019: unresolved external symbol FtpPutFileW referenced in function "void __cdecl HB_FUN_FTPPUTFILE(void)" (?HB_FUN_FTPPUTFILE@@YAXXZ)
menu.exe : fatal error LNK1120: 8 unresolved externals
-----------------------------
Dove ho sbagliato ?
Grazie Ciao
---------------------------------------
menu.obj : error LNK2001: unresolved external symbol "void __cdecl
HB_FUN_FTPSETCURRENTDIRECTORY(void)" (?HB_FUN_FTPSETCURRENTDIRECTORY@@YAXXZ)
menu.obj : error LNK2001: unresolved external symbol "void __cdecl HB_FUN_INETCONNECT(void)" (?HB_FUN_INETCONNECT@@YAXXZ)
menu.obj : error LNK2001: unresolved external symbol "void __cdecl HB_FUN_INETOPEN(void)" (?HB_FUN_INETOPEN@@YAXXZ)
menu.obj : error LNK2019: unresolved external symbol InternetOpenW referenced in function "void __cdecl HB_FUN_INTERNETOPEN(void)" (?HB_FUN_INTERNETOPEN@@YAXXZ)
menu.obj : error LNK2019: unresolved external symbol InternetCloseHandle referenced in function "void __cdecl HB_FUN_INTERNETCLOSEHANDLE(void)" (?HB_FUN_INTERNETCLOSEHANDLE@@YAXXZ)
menu.obj : error LNK2019: unresolved external symbol InternetConnectW referenced in function "void __cdecl HB_FUN_INTERNETCONNECT(void)" (?HB_FUN_INTERNETCONNECT@@YAXXZ)
menu.obj : error LNK2019: unresolved external symbol FtpGetFileW referenced in function "void __cdecl HB_FUN_FTPGETFILE(void)" (?HB_FUN_FTPGETFILE@@YAXXZ)
menu.obj : error LNK2019: unresolved external symbol FtpPutFileW referenced in function "void __cdecl HB_FUN_FTPPUTFILE(void)" (?HB_FUN_FTPPUTFILE@@YAXXZ)
menu.exe : fatal error LNK1120: 8 unresolved externals
-----------------------------
Dove ho sbagliato ?
Grazie Ciao
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Re: Grazie per l'aiuto ma ho un problema....
menu.obj : error LNK2001: unresolved external symbol "void __cdecl
HB_FUN_FTPSETCURRENTDIRECTORY(void)"
The above (and other) is not from my sample.
EMG
HB_FUN_FTPSETCURRENTDIRECTORY(void)"
The above (and other) is not from my sample.
EMG
Sorry. I mixed from 2 source
this is the result with your code:
menu.obj : error LNK2019: unresolved external symbol InternetOpenW referenced in function "void __cdecl HB_FUN_INTERNETOPEN(void)" (?HB_FUN_INTERNETOPEN@@YAXXZ)
menu.obj : error LNK2019: unresolved external symbol InternetCloseHandle referenced in function "void __cdecl HB_FUN_INTERNETCLOSEHANDLE(void)" (?HB_FUN_INTERNETCLOSEHANDLE@@YAXXZ)
menu.obj : error LNK2019: unresolved external symbol InternetConnectW referenced in function "void __cdecl HB_FUN_INTERNETCONNECT(void)" (?HB_FUN_INTERNETCONNECT@@YAXXZ)
menu.obj : error LNK2019: unresolved external symbol FtpGetFileW referenced in function "void __cdecl HB_FUN_FTPGETFILE(void)" (?HB_FUN_FTPGETFILE@@YAXXZ)
menu.obj : error LNK2019: unresolved external symbol FtpPutFileW referenced in function "void __cdecl HB_FUN_FTPPUTFILE(void)" (?HB_FUN_FTPPUTFILE@@YAXXZ)
menu.exe : fatal error LNK1120: 5 unresolved externals
-------------------
Where I failed.
Thanks
Alfredo
menu.obj : error LNK2019: unresolved external symbol InternetOpenW referenced in function "void __cdecl HB_FUN_INTERNETOPEN(void)" (?HB_FUN_INTERNETOPEN@@YAXXZ)
menu.obj : error LNK2019: unresolved external symbol InternetCloseHandle referenced in function "void __cdecl HB_FUN_INTERNETCLOSEHANDLE(void)" (?HB_FUN_INTERNETCLOSEHANDLE@@YAXXZ)
menu.obj : error LNK2019: unresolved external symbol InternetConnectW referenced in function "void __cdecl HB_FUN_INTERNETCONNECT(void)" (?HB_FUN_INTERNETCONNECT@@YAXXZ)
menu.obj : error LNK2019: unresolved external symbol FtpGetFileW referenced in function "void __cdecl HB_FUN_FTPGETFILE(void)" (?HB_FUN_FTPGETFILE@@YAXXZ)
menu.obj : error LNK2019: unresolved external symbol FtpPutFileW referenced in function "void __cdecl HB_FUN_FTPPUTFILE(void)" (?HB_FUN_FTPPUTFILE@@YAXXZ)
menu.exe : fatal error LNK1120: 5 unresolved externals
-------------------
Where I failed.
Thanks
Alfredo
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
missing wininet.lib in buildce.bat
I found my error. no wininet.lib declared in buildce.bat.
Stop for this evening. link is ok tomorrow I will test to transfer data.
Ciao.
Alfredo
Stop for this evening. link is ok tomorrow I will test to transfer data.
Ciao.
Alfredo
- Biel EA6DD
- Posts: 680
- Joined: Tue Feb 14, 2006 9:48 am
- Location: Mallorca
- Contact:
Hi,
starting from the sample of Enrico (many thanks), I have developed a function to send customer orders from PDA to PC via FTP, using GPRS connection.
All is runing ok when GPRS is conected (manually connected), I'm looking (and not finding for the moment) a way to automatic connect the GPRS, like do for example internet explorer .
Thanks in advance.
starting from the sample of Enrico (many thanks), I have developed a function to send customer orders from PDA to PC via FTP, using GPRS connection.
All is runing ok when GPRS is conected (manually connected), I'm looking (and not finding for the moment) a way to automatic connect the GPRS, like do for example internet explorer .
Thanks in advance.
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
I'm not sure if it is applicable on GPRS connections but try adapting the following Win32 function:
EMG
Code: Select all
#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
Hello,
I use function like sample below.
Regards
Pawel
I use function like sample below.
Regards
Pawel
Code: Select all
// 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
- Posts: 680
- Joined: Tue Feb 14, 2006 9:48 am
- Location: Mallorca
- Contact:
- Richard Chidiak
- Posts: 946
- Joined: Thu Oct 06, 2005 7:05 pm
- Location: France
- Contact:
- Biel EA6DD
- Posts: 680
- Joined: Tue Feb 14, 2006 9:48 am
- Location: Mallorca
- Contact: