Harbour y TXBROWSE

Harbour y TXBROWSE

Postby colthop » 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.
colthop
 
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

Re: Harbour y TXBROWSE

Postby colthop » 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.
colthop
 
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

Re: Harbour y TXBROWSE

Postby hmpaquito » 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: Select all  Expand view
nKey == VK_RETURN


Saludos
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Harbour y TXBROWSE

Postby colthop » 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.
colthop
 
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

Re: Harbour y TXBROWSE

Postby carlos vargas » Wed Jul 16, 2014 5: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)
User avatar
carlos vargas
 
Posts: 1683
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Harbour y TXBROWSE

Postby hmpaquito » Wed Jul 16, 2014 5: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.
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 91 guests