FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Harbour y TXBROWSE
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM

Harbour y TXBROWSE

Posted: Tue Jul 15, 2014 12:12 PM

Hola a todos:

Estoy terminando de para a harbour de xharbour y me da un error que no consigo arreglar y es el siguiente:

Yo uso la clase TxBrowse y una de las utilidades es que cuando se pulsa el ENTER seleccione la línea del browse. lo hago así:

oBrw:bKeyDown := { | nKey | if (nKey == chr(13), BusqEmpr4(zOpc),) }

Con xHarbour funciona perfectamente pero con Harbour da el siguiente error:

Error description: Error BASE/1070 Error de argumento: ==

Una ayudita por favor.

Gracias

CArlos

Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM

Re: Harbour y TXBROWSE

Posted: Tue Jul 15, 2014 12:22 PM
Hola a todos:

No hay como preguntar para hallar la solución en vez de :

oBrw:bKeyDown := { | nKey | if (nKey == chr(13), BusqEmpr4(zOpc),) }

hay que poner

oBrw:bKeyDown := { | nKey | if (nKey == 13, BusqEmpr4(zOpc),) }

Un saludo

Carlos
Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM

Re: Harbour y TXBROWSE

Posted: Tue Jul 15, 2014 12:39 PM
coltop,

Si te fijas tu codigo está mal. nKey es numerico y Chr(13) es caracter. ¿ Qué pasa entonces ? Porque xHarbour tiene una ¿ propiedad ? por la cual las variables caracter de un byte se pueden utilizar en operaciones con variables numericas.

Asi lo dice en la web de xHarbour:

Strings may be indexed like arrays:
<StringExp>[<IndexExp>]

String as Array Index can also accepts a numeric as an assigned value:
<StringExp>[<IndexExp>] := 65 // Same as := 'A'

String Index and all String of 1 character length, automatically carry a secondary CHAR type, which means they are also compatible with numeric operations.

cVar := "hello"; cVar[1] -= 32 // -> "Hello"


Solucion: arregla tu codigo allá donde sea necesario. Para el caso es suficiente con cambiar por
Code (fw): Select all Collapse
nKey == VK_RETURN


Saludos
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM

Re: Harbour y TXBROWSE

Posted: Tue Jul 15, 2014 12:51 PM

Gracias por la explicación. ya lo estoy corrigiendo pero en vez de "VK_RETURN" pongo directamente 13 que es lo mismo

Un saludo

Carlos

Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM

Re: Harbour y TXBROWSE

Posted: Wed Jul 16, 2014 05:04 PM

es de mi opinión mejor usar las constantes ya definidas, dado que nos dan claridad en nuestro código.
casualmente, ayer tenia una acalorada discusión con un compañero de trabajo, donde yo le indicaba ciertas
reglas que tiene el lenguaje html (conste que no se nada del mismo, solo algunas cosillas), le indicaba que hay muchas formas de realizar cierto trabajos, pero que la experiencia que todos y cada uno vamos acumulando con el pasar de los años, se nota en la forma como se codifica,
es cierto que funciona, y muy bien, pero no es mas adecuado respetar las indicaciones de los creadores del lenguaje, de los que escriben guias, manuales, a la vez que que lo hacen mejor profesional.

salu2

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM

Re: Harbour y TXBROWSE

Posted: Wed Jul 16, 2014 05:58 PM

Carlos,

Soy de tu misma opinión. El uso de constantes definidas es muy práctico. Supongamos que tengo que buscar en TODOS los prgs allá donde se ha utilizado el valor de la tecla return. Si se busca 13 aparecerá un montón de cosas que nada tienen que ver. En cambio buscando VK_RETURN vamos directos.

Por no decir que un cambio en el valor de la constante, si no es usada via define, conllevará necesariamente un cambio en todos los programas.

Gracias a Dios quedaron atrás los años de que con Clipper exceso de defines nos daban problemas de compilado...

Saludos a todos.

Continue the discussion