AYUDA POR FAVOR. TODAVIA ESTOY APRENDIENTO
AYUDA POR FAVOR. TODAVIA ESTOY APRENDIENTO
Te envio el programa y tendo el siguiente problema
Defino una ventana principal en donde coloco los botones de la ventana
Cuando llaman al boton clientes, muestro del fichero de clientes
Tendo un boton de busqueda para realizar un filtro sobre el fichero. El problema que me ocurre es que cuando el programa vuelve hacia atras no me refresca la lista con los clientes que yo he seleccionado sino que la lista sigue igual. Muevo la lista con el raton y automaticamente me refresca los clientes.
*************************************************************
* DEFINE FONT oFont NAME "Arial" SIZE 0, -10
#include "FWCE.ch"
function Main()
local oWnd, oBmp
* MsgInfo(SerialNumber()) * Numero de serie del documento para que no se copia el software de la PALM
ctext = space(20)
Config()
abrir_ficheros()
DEFINE BITMAP oBmp FILE CurDir() + "\bmp\inicio.bmp"
DEFINE WINDOW oWnd TITLE "MJCC"
@ 25, 20 BTNBMP FILE CurDir() + "\bmp\cliente.bmp" SIZE 60, 60 ACTION BROWSE_CLIENTES(oWnd,"cliente",0)
@ 25, 90 BTNBMP FILE CurDir() + "\bmp\articulo.bmp" SIZE 60, 60
@ 25, 160 BTNBMP FILE CurDir() + "\bmp\agenda.bmp" SIZE 60, 60
@ 96, 20 BTNBMP FILE CurDir() + "\bmp\planning.bmp" SIZE 60, 60
@ 96, 90 BTNBMP FILE CurDir() + "\bmp\albav.bmp" SIZE 60, 60
@ 96, 160 BTNBMP FILE CurDir() + "\bmp\pedido.bmp" SIZE 60, 60
@ 171, 20 BTNBMP FILE CurDir() + "\bmp\salir.bmp" SIZE 60, 60
@ 171, 90 BTNBMP FILE CurDir() + "\bmp\salir.bmp" SIZE 60, 60 ACTION indexa_ficheros()
@ 171, 160 BTNBMP FILE CurDir() + "\bmp\salir.bmp" SIZE 60, 60 ACTION IF( MsgYesNo( '¿ Salir del sistema ?', "Gestion" ), oWnd:End(), )
ACTIVATE WINDOW oWnd ;
ON PAINT oWnd:SayBitmap( 0, 0, oBmp ) ;
ON CLICK MsgInfo("MJCC" + CHR(13) + "Bembibre" + chr(13) +;
"La Coruña"+ chr(13)+;
"Telefono 902234568", "Gestión")
DbCloseAll()
oBmp:End()
return 0
*************************************************************************
* Muestra un Browser de la ficha del cliente para seleccionar un cliente
**************************************************************************
FUNCTION browse_clientes(oWnd,sel_dbf,estado)
SELECT (sel_dbf)
SET FILTER TO
SET ORDER TO 1
DEFINE BITMAP oBmp FILE CurDir() + "\bmp\menus.bmp"
DEFINE DIALOG oDlg TITLE 'Gestion de clientes' SIZE 230,240 OF oWnd
@ 1,0 LISTBOX oBrw FIELDS nombrec,telefono COLSIZES 135,13 HEADERS "Nombre Comercial","Teléfono" SIZE 116,114
*ON DBLCLICK Eligefichacli();
* Botones superiores de acceso al sistema
@ 0, 0 BTNBMP FILE CurDir() + "\bmp\nuevo.bmp" SIZE 18, 15
@ 0, 18 BTNBMP FILE CurDir() + "\bmp\buscar.bmp" SIZE 18, 15 ACTION buscar_columna(odlg,"CLIENTE",oWnd)
@ 0, 36 BTNBMP FILE CurDir() + "\bmp\imprimir.bmp" SIZE 18, 15
@ 0, 54 BTNBMP FILE CurDir() + "\bmp\delete.bmp" SIZE 18, 15
@ 0, 98 BTNBMP FILE CurDir() + "\bmp\cerrar.bmp" SIZE 18, 15 ACTION odlg:End()
ACTIVATE DIALOG oDlg CENTERED ON PAINT odlg:SayBitmap( 0, 0, oBmp )
RETURN 0
**************************************************************************
* Pantalla de busqueda de datos sea de clientes o de proveedores
**************************************************************************
FUNCTION buscar_columna(odlg,dbf_buscar,oWnd)
DEFINE DIALOG ofind TITLE 'Buscar nombre comercial'SIZE 220,22 OF odlg
@ 0, 0 GET cText SIZE 98, 12
@ 0, 98 BTNBMP FILE CurDir() + "\bmp\bf2.bmp" SIZE 14, 12 ;
ACTION(iif(.NOT. EMPTY(ctext),buscar(ctext,dbf_buscar,ofind,odlg,oWnd),msginfo("Debe teclear un valor","Gestión")))
ACTIVATE DIALOG ofind CENTERED ON PAINT ofind:SayBitmap( 0, 0, oBmp )
* Refresco de pantalla
odlg:refresh()
RETURN 0
*************************************************************************
* Busqueda de datos en un fichero por nombre
**************************************************************************
FUNCTION buscar(ctext,dbf_buscar,ofind,odlg,oWnd)
IF UPPER(ALLTRIM(dbf_buscar)) = "CLIENTE"
SELECT cliente
ctext = UPPER(ALLTRIM(ctext))
SET FILTER TO ctext$cliente->nombrec
GO TOP
ofind:end()
ENDIF
RETURN 0
*************************************************************************
* Indexa los ficheros de la aplicacion por _ que a mi me interesan
**************************************************************************
Function indexa_ficheros ()
Request DbfCdx
Request DbfFpt
RddSetDefault ('DbfCdx')
Request Hb_Lang_PLWIN
Request Hb_CodePage_PLWIN
* Clientes
Index On nombrec Tag inombrec TO ( CurDir() + "\dat\cliente.cdx" )
Index On codigo Tag icodigo TO ( CurDir() + "\dat\cliente.cdx" )
Return 0
**********************************************************
* Funcion de inicio del sistema para gestionar los SETS
**********************************************************
STATIC FUNCTION Config()
HB_LANGSELECT( "ESWIN" )
SET DELETED ON
SET DATE TO ITALIAN
SET SOFTSEEK ON
SET CENTURY ON
SET EPOCH TO 2000
Hb_LangSelect ('PL')
Hb_SetCodePage ('PLWIN')
RETU 0
*********************************************************
* Abrir ficheros de datos
**********************************************************
FUNCTION abrir_ficheros
IF .NOT. USED("CLIENTE")
USE ( CurDir() + "\dat\cliente.dbf" ) NEW
ENDIF
* Fichero temporal de datos de clientes
*DbCreate(CurDir() + "\tmp\result.dbf",{{ "codigo", "n", 10, 0 },{ "nombrec", "c", 45, 0 },{ "telefono", "c", 20, 0 }})
*USE ( CurDir() + "\tmp\result.dbf" ) NEW
*Index On nombrec Tag inombrec TO ( CurDir() + "\tmp\result.cdx" )
*Index On nombrec Tag icodigo TO ( CurDir() + "\tmp\result.cdx" )
RETURN 0
Defino una ventana principal en donde coloco los botones de la ventana
Cuando llaman al boton clientes, muestro del fichero de clientes
Tendo un boton de busqueda para realizar un filtro sobre el fichero. El problema que me ocurre es que cuando el programa vuelve hacia atras no me refresca la lista con los clientes que yo he seleccionado sino que la lista sigue igual. Muevo la lista con el raton y automaticamente me refresca los clientes.
*************************************************************
* DEFINE FONT oFont NAME "Arial" SIZE 0, -10
#include "FWCE.ch"
function Main()
local oWnd, oBmp
* MsgInfo(SerialNumber()) * Numero de serie del documento para que no se copia el software de la PALM
ctext = space(20)
Config()
abrir_ficheros()
DEFINE BITMAP oBmp FILE CurDir() + "\bmp\inicio.bmp"
DEFINE WINDOW oWnd TITLE "MJCC"
@ 25, 20 BTNBMP FILE CurDir() + "\bmp\cliente.bmp" SIZE 60, 60 ACTION BROWSE_CLIENTES(oWnd,"cliente",0)
@ 25, 90 BTNBMP FILE CurDir() + "\bmp\articulo.bmp" SIZE 60, 60
@ 25, 160 BTNBMP FILE CurDir() + "\bmp\agenda.bmp" SIZE 60, 60
@ 96, 20 BTNBMP FILE CurDir() + "\bmp\planning.bmp" SIZE 60, 60
@ 96, 90 BTNBMP FILE CurDir() + "\bmp\albav.bmp" SIZE 60, 60
@ 96, 160 BTNBMP FILE CurDir() + "\bmp\pedido.bmp" SIZE 60, 60
@ 171, 20 BTNBMP FILE CurDir() + "\bmp\salir.bmp" SIZE 60, 60
@ 171, 90 BTNBMP FILE CurDir() + "\bmp\salir.bmp" SIZE 60, 60 ACTION indexa_ficheros()
@ 171, 160 BTNBMP FILE CurDir() + "\bmp\salir.bmp" SIZE 60, 60 ACTION IF( MsgYesNo( '¿ Salir del sistema ?', "Gestion" ), oWnd:End(), )
ACTIVATE WINDOW oWnd ;
ON PAINT oWnd:SayBitmap( 0, 0, oBmp ) ;
ON CLICK MsgInfo("MJCC" + CHR(13) + "Bembibre" + chr(13) +;
"La Coruña"+ chr(13)+;
"Telefono 902234568", "Gestión")
DbCloseAll()
oBmp:End()
return 0
*************************************************************************
* Muestra un Browser de la ficha del cliente para seleccionar un cliente
**************************************************************************
FUNCTION browse_clientes(oWnd,sel_dbf,estado)
SELECT (sel_dbf)
SET FILTER TO
SET ORDER TO 1
DEFINE BITMAP oBmp FILE CurDir() + "\bmp\menus.bmp"
DEFINE DIALOG oDlg TITLE 'Gestion de clientes' SIZE 230,240 OF oWnd
@ 1,0 LISTBOX oBrw FIELDS nombrec,telefono COLSIZES 135,13 HEADERS "Nombre Comercial","Teléfono" SIZE 116,114
*ON DBLCLICK Eligefichacli();
* Botones superiores de acceso al sistema
@ 0, 0 BTNBMP FILE CurDir() + "\bmp\nuevo.bmp" SIZE 18, 15
@ 0, 18 BTNBMP FILE CurDir() + "\bmp\buscar.bmp" SIZE 18, 15 ACTION buscar_columna(odlg,"CLIENTE",oWnd)
@ 0, 36 BTNBMP FILE CurDir() + "\bmp\imprimir.bmp" SIZE 18, 15
@ 0, 54 BTNBMP FILE CurDir() + "\bmp\delete.bmp" SIZE 18, 15
@ 0, 98 BTNBMP FILE CurDir() + "\bmp\cerrar.bmp" SIZE 18, 15 ACTION odlg:End()
ACTIVATE DIALOG oDlg CENTERED ON PAINT odlg:SayBitmap( 0, 0, oBmp )
RETURN 0
**************************************************************************
* Pantalla de busqueda de datos sea de clientes o de proveedores
**************************************************************************
FUNCTION buscar_columna(odlg,dbf_buscar,oWnd)
DEFINE DIALOG ofind TITLE 'Buscar nombre comercial'SIZE 220,22 OF odlg
@ 0, 0 GET cText SIZE 98, 12
@ 0, 98 BTNBMP FILE CurDir() + "\bmp\bf2.bmp" SIZE 14, 12 ;
ACTION(iif(.NOT. EMPTY(ctext),buscar(ctext,dbf_buscar,ofind,odlg,oWnd),msginfo("Debe teclear un valor","Gestión")))
ACTIVATE DIALOG ofind CENTERED ON PAINT ofind:SayBitmap( 0, 0, oBmp )
* Refresco de pantalla
odlg:refresh()
RETURN 0
*************************************************************************
* Busqueda de datos en un fichero por nombre
**************************************************************************
FUNCTION buscar(ctext,dbf_buscar,ofind,odlg,oWnd)
IF UPPER(ALLTRIM(dbf_buscar)) = "CLIENTE"
SELECT cliente
ctext = UPPER(ALLTRIM(ctext))
SET FILTER TO ctext$cliente->nombrec
GO TOP
ofind:end()
ENDIF
RETURN 0
*************************************************************************
* Indexa los ficheros de la aplicacion por _ que a mi me interesan
**************************************************************************
Function indexa_ficheros ()
Request DbfCdx
Request DbfFpt
RddSetDefault ('DbfCdx')
Request Hb_Lang_PLWIN
Request Hb_CodePage_PLWIN
* Clientes
Index On nombrec Tag inombrec TO ( CurDir() + "\dat\cliente.cdx" )
Index On codigo Tag icodigo TO ( CurDir() + "\dat\cliente.cdx" )
Return 0
**********************************************************
* Funcion de inicio del sistema para gestionar los SETS
**********************************************************
STATIC FUNCTION Config()
HB_LANGSELECT( "ESWIN" )
SET DELETED ON
SET DATE TO ITALIAN
SET SOFTSEEK ON
SET CENTURY ON
SET EPOCH TO 2000
Hb_LangSelect ('PL')
Hb_SetCodePage ('PLWIN')
RETU 0
*********************************************************
* Abrir ficheros de datos
**********************************************************
FUNCTION abrir_ficheros
IF .NOT. USED("CLIENTE")
USE ( CurDir() + "\dat\cliente.dbf" ) NEW
ENDIF
* Fichero temporal de datos de clientes
*DbCreate(CurDir() + "\tmp\result.dbf",{{ "codigo", "n", 10, 0 },{ "nombrec", "c", 45, 0 },{ "telefono", "c", 20, 0 }})
*USE ( CurDir() + "\tmp\result.dbf" ) NEW
*Index On nombrec Tag inombrec TO ( CurDir() + "\tmp\result.cdx" )
*Index On nombrec Tag icodigo TO ( CurDir() + "\tmp\result.cdx" )
RETURN 0
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Manuel,
Haz un ZIP con todos los ficheros de tu aplicación (PRGs, DBFs, etc) y lo alojas en www.hyperupload.com y publica aqui el link de descarga que se te proporciona en ese sitio. Gracias.
Haz un ZIP con todos los ficheros de tu aplicación (PRGs, DBFs, etc) y lo alojas en www.hyperupload.com y publica aqui el link de descarga que se te proporciona en ese sitio. Gracias.
Gracias
http://hyperupload.com/download/0121804 ... k.zip.html
Lo haria con el conversor que teneis de borlan pero me cuesta mucho entenderlo.
muchisimas gracias.
Lo haria con el conversor que teneis de borlan pero me cuesta mucho entenderlo.
muchisimas gracias.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
OK muchas gracias
Dime algo sobre como puedo enviar los datos que generan los comerciales desde la Pokect al ordenador y viceversa, recuerda que todos los clientes hay que empezar pensando que son unos burros y practicamente tienes que hacer que solo pulsado un boton realice el proceso.
Gracias
Gracias
Como puedo recoger automaticamente los datos de la pokect
Como puedo recoger automaticamente los datos de la pokect de la carpeta de la SD CAR y colocarlos automaticamente en el disco duro para su reproceso y viceversa, ya que despues tengo que volver a copiar a la pokect los clientes nuevos.
gracias.
gracias.
No tengo ni idea de lo que me dices
Me lo puedes explicar por favor.
gracias.
gracias.
Yo tambien soy novato con las pda, solo he hecho una aplicación y muy simple.
De las 3 pda que he usado, en la Hp y en la Airys se puede sacar la tarjeta Sd y ponerla en el pc. Si el pc no tiene lector de tarjetas puedes ponerle uno, creo que son muy baratos.
La pda Symbol no tiene ( o no se puede sacar ) la Sd. Pero se pone en una cuna y se pueden copiar archivos de la pda al pc. Hay un mensaje en el foro sobre "Total Commander" pero yo los copio con copiar y pegar. La que está en el Pc sabe hacer estas cosas.
De las 3 pda que he usado, en la Hp y en la Airys se puede sacar la tarjeta Sd y ponerla en el pc. Si el pc no tiene lector de tarjetas puedes ponerle uno, creo que son muy baratos.
La pda Symbol no tiene ( o no se puede sacar ) la Sd. Pero se pone en una cuna y se pueden copiar archivos de la pda al pc. Hay un mensaje en el foro sobre "Total Commander" pero yo los copio con copiar y pegar. La que está en el Pc sabe hacer estas cosas.
Jose Valle
Bilbao
Spain
Bilbao
Spain
Para mjcc:
Lei en el foro ingles de la utilidad cecopy para copiar datos del pc al pocket y viceversa
http://www.microsoft.com/downloads/deta ... laylang=en
espero te sirva, porque yo tambien pensaba ya a esta altura copiar los datos sacando la SD cada vez del pocket.
saludos
Lei en el foro ingles de la utilidad cecopy para copiar datos del pc al pocket y viceversa
http://www.microsoft.com/downloads/deta ... laylang=en
espero te sirva, porque yo tambien pensaba ya a esta altura copiar los datos sacando la SD cada vez del pocket.
saludos
Pedro Gonzalez
- luis.santeliz
- Posts: 47
- Joined: Mon May 29, 2006 9:04 pm
Puedes tambien trabajar con ftp aqui te pongo un ejemplillo bien chulo que hice, tomado como base el que da fw en la carpeta sample:
Code: Select all
// FTP sample developed by Enrico Maria Giordano
// interfaz grafica: Luis Santeliz <luissanteliz@cantv.net>
// 20/8/2006
#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 oWnd
PUBLIC server:="192.168.2.1"+space(15)
PUBLIC user:="luissanteliz"+space(15)
PUBLIC pass:=""+space(15)
PUBLIC loc_archivo:=curdir()+"\uno.dat"+space(15)
PUBLIC rem_archivo:="uno.dat"+space(40)
PUBLIC lSobreescribir:=.T.
PUBLIC lBinary:=.T.
DEFINE WINDOW oWND TITLE "Prueba FTP"
#DEFINE margen_derecho 5
#DEFINE largo_say 100
#DEFINE largo_get 130
#DEFINE ancho 20
#DEFINE separacion_entre_lineas ancho+10
/*
// SERVIDOR:
*/
#DEFINE oSay1 oWND:aControls[1]
@10,margen_derecho SAY "Servidor: " SIZE largo_say, ancho PIXEL OF oWND
@ oSay1:ntop, oSay1:nRight+1 GET server SIZE largo_get, ancho PIXEL OF oWnd
/*
// USER:
*/
#DEFINE oSay2 oWnd:aControls[3]
@ oSay1:nTop+separacion_entre_lineas, margen_derecho SAY "User:" SIZE largo_say, ancho PIXEL OF oWnd
@ oSay2:nTop, oSay2:nRight+1 GET user SIZE largo_get,ancho PIXEL OF oWnd
/*
// PASS:
*/
#DEFINE oSay3 oWnd:aControls[5]
@ oSay2:nTop+separacion_entre_lineas, margen_derecho SAY "Password:" SIZE largo_say, ancho PIXEL OF oWnd
@ oSay3:nTop, oSay3:nRight+1 GET pass SIZE largo_get,ancho PIXEL OF oWnd
/*
// ARCHIVO LOCAL:
*/
#DEFINE oSay4 oWnd:aControls[7]
@ oSay3:nTop+separacion_entre_lineas, margen_derecho SAY "Archivo local:" SIZE largo_say, ancho PIXEL OF oWnd
@ oSay4:nTop, oSay4:nRight+1 GET loc_archivo SIZE largo_get,ancho PIXEL OF oWnd
/*
// ARCHIVO REMOTO:
*/
#DEFINE oSay5 oWnd:aControls[9]
@ oSay4:nTop+separacion_entre_lineas, margen_derecho SAY "Archivo Remoto:" SIZE largo_say, ancho PIXEL OF oWnd
@ oSay5:nTop, oSay5:nRight+1 GET rem_archivo SIZE largo_get,ancho PIXEL OF oWnd
/*
// ENVIAR
*/
#DEFINE oButton1 oWnd:aControls[11]
@ oSay5:nTop+separacion_entre_lineas, margen_derecho+10 BUTTON "Enviar" SIZE 50, ancho PIXEL ACTION msginfo(enviar()) OF oWnd
/*
// TRAER
*/
#DEFINE oButton2 oWnd:aControls[12]
@ oButton1:nTop, oButton1:nRight+20 BUTTON "Traer" SIZE 50, ancho PIXEL ACTION msginfo(traer()) OF oWnd
/*
// SOBREESCRIBIR
*/
#DEFINE oChk1 oWnd:aControls[13]
@ oButton1:nTop+separacion_entre_lineas, margen_derecho CHECKBOX lSobreescribir PROMPT "Sobreescribir" SIZE 150, ancho PIXEL OF oWnd
/*
// BINARY
*/
#DEFINE oChk2 oWnd:aControls[14]
@ oChk1:nTop+separacion_entre_lineas, margen_derecho CHECKBOX lBinary PROMPT "Transferencia Binaria" SIZE 150, ancho PIXEL OF oWnd
ACTIVATE WINDOW oWND
RETURN NIL
FUNCTION Enviar()
LOCAL nRet
LOCAL hInternet, hConnect
hInternet = INTERNETOPEN( "Anystring", INTERNET_OPEN_TYPE_DIRECT, 0, 0, 0 )
hConnect = INTERNETCONNECT(hInternet, rtrim(server), INTERNET_INVALID_PORT_NUMBER, rtrim(user), rtrim(pass), INTERNET_SERVICE_FTP, 0, 0 )
IF FTPPUTFILE( hConnect, rtrim(loc_archivo), rtrim(rem_archivo),iif(lBinary,INTERNET_FLAG_TRANSFER_BINARY,INTERNET_FLAG_TRANSFER_ASCII), 0 )
nRet:=0
ELSE
nRet:=GetLAstError()
ENDIF
INTERNETCLOSEHANDLE( hConnect )
INTERNETCLOSEHANDLE( hInternet )
RETURN nRet
FUNCTION Traer()
LOCAL nRet
LOCAL hInternet, hConnect
hInternet = INTERNETOPEN( "Anystring", INTERNET_OPEN_TYPE_DIRECT, 0, 0, 0 )
hConnect = INTERNETCONNECT(hInternet, rtrim(server), INTERNET_INVALID_PORT_NUMBER, rtrim(user), rtrim(pass), INTERNET_SERVICE_FTP, 0, 0 )
IF FTPGETFILE( hConnect, rtrim(rem_archivo), rtrim(loc_archivo), IIF( lSobreescribir,0,1), FILE_ATTRIBUTE_ARCHIVE, 0, 0 )
nRet:=0
ELSE
nRet:=GetLAstError()
ENDIF
INTERNETCLOSEHANDLE( hConnect )
INTERNETCLOSEHANDLE( hInternet )
RETURN nRet
#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
Luis Santeliz
Móvil SoftWare, C.A.
---------------------------------------------
MySQL DBA,
MySQL Server Performance Tunning,
DPxBase, FiveWin, Java,
Linux Redhat, Windows
Caracas Venezuela
luissanteliz@cantv.net
Móvil SoftWare, C.A.
---------------------------------------------
MySQL DBA,
MySQL Server Performance Tunning,
DPxBase, FiveWin, Java,
Linux Redhat, Windows
Caracas Venezuela
luissanteliz@cantv.net