Ayuda->Problema en browse con variables.

Ayuda->Problema en browse con variables.

Postby AndresZaragoza » Fri Jan 12, 2007 2:03 pm

Un problema:

Si quiero hacer un browse con los campos a visualizar que sean variables, aprace el contenido todo el blanco.
No se si estoy haciendo algo erróneo.
Gracias de antemano.

Ej NO funciona:
@ 1.65, 0.5 LISTBOX oBrw FIELDS (lpCampo1),(lpCampo2),(lpCampo3)...

en cambio, si funciona:
@ 1.65, 0.5 LISTBOX oBrw FIELDS codigo,nombre1,nombre2...
AndresZaragoza
 
Posts: 28
Joined: Wed Dec 13, 2006 6:07 pm

Postby Antonio Linares » Fri Jan 12, 2007 4:41 pm

Andrés,

Que tipo de valores (C,N,L,D) tienen las variables lpCampo1, lpCampo2, lpCampo3 ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42080
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Browse

Postby AndresZaragoza » Fri Jan 12, 2007 5:59 pm

Hola Antonio,

Las variables contienen los nombres de los campos a mostrar, son carácter.
Verás estoy haciendo una función genérica de búsqueda con su browse para que valga para varios ficheros: articulos, clientes.... por lo que le mando nombre de fichero y entre otras cosas más los nombres que tiene que mostrar. Te escribo el ejemplo:

=Buscar(oWnd,'Clientes',210,250,'Efth010',99,83,'cprvcod','cprvome','cprvnom'...)

FUNCTION Buscar(lpVentana,lpTitulo,lpAncho,lpAlto,lpFichero,lpAncBrw,lpAltBrw,lpCampo1,lpCampo2,lpCampo3)

@ 1.65, 0.5 LISTBOX oBrw FIELDS (lpCampo1),(lpCampo2),(lpCampo3) .... SIZE lpAncBrw, lpAltBrw....
AndresZaragoza
 
Posts: 28
Joined: Wed Dec 13, 2006 6:07 pm

Postby Antonio Linares » Fri Jan 12, 2007 6:19 pm

Andrés,

Estos nombres de variables no deben llevar comillas:

'cprvcod','cprvome','cprvnom', ...

debe ser:

cprvcod, cprvome, cprvnom, ...
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42080
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby AndresZaragoza » Fri Jan 12, 2007 8:47 pm

Sigue sin funcionar.

Creo que mandandole el nombre del campo sin comillas estamos mandando el cotenido de la variable, no el nombre en si que hace falta para montar el browse, te mando el ejemplo completo (con el cambio que propones):
Gracias de nuevo


#include "FWCE.ch"

function Main()
local cText := Space( 50 )
NumReg = 0
oWnd = 0
DEFINE WINDOW oWnd TITLE "Ejemplo"

AbrirFicheros()

@ 5, 5 BUTTON "Acción" SIZE 80, 20 ACTION Avisa(oWnd, 'Clientes',210,250,'Efth010',99,83,cprvcod,cprvome,cprvnom,'Código', 'Nombre Comercial', 'Nombre Fiscal',50,200,200)
@ 7.9, 5.1 SAY NumReg OF oWnd SIZE 80, 15
@ 7, 5 BUTTON "Dime" SIZE 80, 20 ACTION prueba(NumReg)

ACTIVATE WINDOW oWnd
RETURN nil

FUNCTION prueba(nr)
@ 9.9, 5.1 SAY Nr OF oWnd SIZE 80, 15
RETURN nil


FUNCTION Avisa(lpVentana,lpTitulo,lpAncho,lpAlto,lpFichero,lpAncBrw,lpAltBrw,lpCampo1,lpCampo2,lpCampo3,lpATit1,lpATit2,lpATit3,lpAncho1,lpAncho2,lpAncho3)
*************************************************************
* lpVentana -> Ventana padre
* lpTitulo -> Título de ventana
* lpAncho -> Ancho de pantalla
* lpAlto -> Alto de pantalla
* lpFichero -> Fichero a listar
*************************************
* Si están en blanco no se ponen.
*************************************
* lpAncBrw -> Alto del browse
* lpAltBrw -> Alto del browse

* lpCampo1 -> 1 Campo en la base de datos
* lpCampo2 -> 2 Campo en la base de datos
* lpCampo3 -> 3 Campo en la base de datos
* lpATit1 -> Título del Campo 1
* lpATit2 -> Título del Campo 2
* lpATit3 -> Título del Campo 3
* lpAncho1 -> Ancho del Campo 1
* lpAncho2 -> Ancho del Campo 2
* lpAncho3 -> Ancho del Campo 3
*
************************************************************
DEFINE FONT ofontPeque NAME "Arial" SIZE 4, -8
SELECT (lpFichero)
DEFINE DIALOG dBrowse TITLE lpTitulo SIZE lpAncho, lpAlto OF lpVentana

@ 1.65, 0.5 LISTBOX oBrw FIELDS (lpCampo1),(lpCampo2),(lpCampo3) COLSIZES 50,200,200 ;
OF dBrowse HEADERS 'Código', 'Nombre Comercial', 'Nombre Fiscal' SIZE lpAncBrw, lpAltBrw

@ 107, 35 BTNBMP oCancelar FILE CurDir() + "\bmp\cancelar.bmp" SIZE 12, 12 ACTION Cancelar()
@ 107, 65 BTNBMP oAceptar FILE CurDir() + "\bmp\ok.bmp" SIZE 12, 12 ACTION Aceptar()

@ 7.9, 5.1 SAY "Cancelar Aceptar" OF dBrowse font ofontPeque SIZE 80, 15

ACTIVATE DIALOG dBrowse CENTERED
RETURN nil



FUNCTION Aceptar(lpFichero)
SELECT (lpFichero)
NumReg = RECNO()
dBrowse:End()
RETURN nil



FUNCTION CAncelar
NumReg = 0
dBrowse:End()
RETURN nil


FUNCTION AbrirFicheros
Request DbfCdx
Request DbfFpt
RddSetDefault ('DbfCdx')
Request Hb_Lang_PLWIN
Request Hb_CodePage_PLWIN

**********
* Clientes
**********
IF .NOT. USED("Efth010")
USE (CurDir()+"\Efth010") NEW
ELSE
SELECT Efth010
ENDIF
RETURN nil
AndresZaragoza
 
Posts: 28
Joined: Wed Dec 13, 2006 6:07 pm

Postby Antonio Linares » Fri Jan 12, 2007 9:47 pm

Andrés,

No había entendido bien lo que querías hacer, disculpa.

Puedes hacerlo como querías, solo cambiando esto:

=Buscar(oWnd,'Clientes',210,250,'Efth010',99,83,'cprvcod','cprvome','cprvnom'...)

FUNCTION Buscar(lpVentana,lpTitulo,lpAncho,lpAlto,lpFichero,lpAncBrw,lpAltBrw,lpCampo1,lpCampo2,lpCampo3)

@ 1.65, 0.5 LISTBOX oBrw FIELDS FieldGet( FieldPos( lpCampo1 ) ),FieldGet( FieldPos( (lpCampo2) ), FieldGet( FieldPos( (lpCampo3) ) .... SIZE lpAncBrw, lpAltBrw....

Fíjate en el uso de FieldGet() y FieldPos()
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42080
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby AndresZaragoza » Fri Jan 12, 2007 11:00 pm

Gracias, lo pruebo y te comento
Un saludo
AndresZaragoza
 
Posts: 28
Joined: Wed Dec 13, 2006 6:07 pm

Postby AndresZaragoza » Sat Jan 13, 2007 11:37 am

Muy agradecido. funciona perfectamente.
Saludos
AndresZaragoza
 
Posts: 28
Joined: Wed Dec 13, 2006 6:07 pm


Return to FiveWin para Pocket PC

Who is online

Users browsing this forum: No registered users and 26 guests