Página 1 de 1

Picture 9999 en TMaskEdit

Publicado: Dom Dic 18, 2005 6:23 pm
por Jaime Irurzun
Hola,
Tengo un control TMaskEdit al que he asignado 9999 como cPicture desde el
IDE. Supuestamente, al asignarle ese cPicture estoy forzando que el tipo
de la propiedad Value sea numérico. Sin embargo, al ejecutar la siguiente
instrucción se produce un error en tiempo de ejecución:
cSeek := strZero( ::oEditCentro:Value, 4 )
El error es este:
Subsistema: BASE
Código de error: 9999
Estado: .F.
Descripción: Argument error
Operación: STRZERO
Argumentos: [ 1] = Tipo: C Valor: 3001 [ 2] = Tipo: N Valor:
4 [ 3] = Tipo: U Valor: NIL
Fichero:
Código error SO: 0
Pila de llamadas:
STRZERO (0)
TPROFESIONALES:EDITBUSQUEDAKEYUP (272)
TEDIT:ONKEYUP (0)
TEDIT:WMKEYUP (968)
TPROFESIONALES:SHOWMODAL (0)
GES_PRF (225)
(b)TFORMMAIN:CREARTOOLBAR (192)
TTOOLBUTTON:ONCLICK (0)
(b)XTOOLBUTTON (54)
TTOOLBUTTON:CLICK (0)
TTOOLBAR:COMMAND (173)
TREBAR:WMCOMMAND (241)
RUNFORM (0)
TAPPLICATION:RUN (189)
MAIN (17)
Tengo que aclarar una cosa: si al TMaskEdit le he asignado un valor desde
código, mediante esta expresión:
::oEditCentro:Value := 3001
Entonces la instrucción de arriba NO da error. El error lo da cuando no le
asigno ningún valor desde código y en cambio se lo asigno en tiempo de ejecución
intruduciendo valores desde teclado sobre el TMaskEdit.
No entiendo por qué ocurre, puesto que si el cPicture del TMaskEdit es 9999,
supuestamente debería entender que lo que le introduzco desde teclado en
tiempo de ejecución es un valor numérico. Sin embargo, da error al tratar
de hacer un strZero()... ¿Sabéis qué puede pasar? ¿Podría ser un fallo de
Xailer o estoy haciendo algo mal? Muchas gracias.
Un saludo,
Jaime Irurzun.

Picture 9999 en TMaskEdit

Publicado: Dom Dic 18, 2005 6:40 pm
por CapelSoft
Jaime,
¿Tambien le has cambiado el valor en el IDE al tMaskEdit? Porque
normalmente tiene como valor el nombre del control, que es tipo
caracter. Y... aunque cambies el picture a "9999", como ya tiene un
valor tipo carácter, éste valor prevalece.
Saludos,
José Luis Capel
Jaime Irurzun escribió:
> Hola,
>
> Tengo un control TMaskEdit al que he asignado 9999 como cPicture desde el
> IDE. Supuestamente, al asignarle ese cPicture estoy forzando que el tipo
> de la propiedad Value sea numérico. Sin embargo, al ejecutar la siguiente
> instrucción se produce un error en tiempo de ejecución:
>
> cSeek := strZero( ::oEditCentro:Value, 4 )
>
> El error es este:
>
> Subsistema: BASE
> Código de error: 9999
> Estado: .F.
> Descripción: Argument error
> Operación: STRZERO
> Argumentos: [ 1] = Tipo: C Valor: 3001 [ 2] = Tipo: N Valor:
> 4 [ 3] = Tipo: U Valor: NIL
> Fichero:
> Código error SO: 0
>
> Pila de llamadas:
> STRZERO (0)
> TPROFESIONALES:EDITBUSQUEDAKEYUP (272)
> TEDIT:ONKEYUP (0)
> TEDIT:WMKEYUP (968)
> TPROFESIONALES:SHOWMODAL (0)
> GES_PRF (225)
> (b)TFORMMAIN:CREARTOOLBAR (192)
> TTOOLBUTTON:ONCLICK (0)
> (b)XTOOLBUTTON (54)
> TTOOLBUTTON:CLICK (0)
> TTOOLBAR:COMMAND (173)
> TREBAR:WMCOMMAND (241)
> RUNFORM (0)
> TAPPLICATION:RUN (189)
> MAIN (17)
>
> Tengo que aclarar una cosa: si al TMaskEdit le he asignado un valor desde
> código, mediante esta expresión:
>
> ::oEditCentro:Value := 3001
>
> Entonces la instrucción de arriba NO da error. El error lo da cuando no le
> asigno ningún valor desde código y en cambio se lo asigno en tiempo de ejecución
> intruduciendo valores desde teclado sobre el TMaskEdit.
>
> No entiendo por qué ocurre, puesto que si el cPicture del TMaskEdit es 9999,
> supuestamente deberí­a entender que lo que le introduzco desde teclado en
> tiempo de ejecución es un valor numérico. Sin embargo, da error al tratar
> de hacer un strZero()... ¿Sabéis qué puede pasar? ¿Podrí­a ser un fallo de
> Xailer o estoy haciendo algo mal? Muchas gracias.
>
> Un saludo,
> Jaime Irurzun.
>

Picture 9999 en TMaskEdit

Publicado: Dom Dic 18, 2005 7:24 pm
por Jaime Irurzun
José Luis,
Sí, se lo he cambiado. Siempre lo borro y lo dejo en blanco.
Un saludo,
Jaime Irurzun.
=?ISO-8859-1?Q?Jos=E9_Luis_Capel?= <capelsoft@terra.es> wrote:
>Jaime,
>
>¿Tambien le has cambiado el valor en el IDE al tMaskEdit? Porque
>normalmente tiene como valor el nombre del control, que es tipo
>caracter. Y... aunque cambies el picture a "9999", como ya tiene un
>valor tipo carácter, éste valor prevalece.
>
>Saludos,
>José Luis Capel
>
>Jaime Irurzun escribió:
>> Hola,
>>
>> Tengo un control TMaskEdit al que he asignado 9999 como cPicture desde
el
>> IDE. Supuestamente, al asignarle ese cPicture estoy forzando que el tipo
>> de la propiedad Value sea numérico. Sin embargo, al ejecutar la siguiente
>> instrucción se produce un error en tiempo de ejecución:
>>
>> cSeek := strZero( ::oEditCentro:Value, 4 )
>>
>> El error es este:
>>
>> Subsistema: BASE
>> Código de error: 9999
>> Estado: .F.
>> Descripción: Argument error
>> Operación: STRZERO
>> Argumentos: [ 1] = Tipo: C Valor: 3001 [ 2] = Tipo: N Valor:

>> 4 [ 3] = Tipo: U Valor: NIL
>> Fichero:
>> Código error SO: 0
>>
>> Pila de llamadas:
>> STRZERO (0)
>> TPROFESIONALES:EDITBUSQUEDAKEYUP (272)
>> TEDIT:ONKEYUP (0)
>> TEDIT:WMKEYUP (968)
>> TPROFESIONALES:SHOWMODAL (0)
>> GES_PRF (225)
>> (b)TFORMMAIN:CREARTOOLBAR (192)
>> TTOOLBUTTON:ONCLICK (0)
>> (b)XTOOLBUTTON (54)
>> TTOOLBUTTON:CLICK (0)
>> TTOOLBAR:COMMAND (173)
>> TREBAR:WMCOMMAND (241)
>> RUNFORM (0)
>> TAPPLICATION:RUN (189)
>> MAIN (17)
>>
>> Tengo que aclarar una cosa: si al TMaskEdit le he asignado un valor desde
>> código, mediante esta expresión:
>>
>> ::oEditCentro:Value := 3001
>>
>> Entonces la instrucción de arriba NO da error. El error lo da cuando no
le
>> asigno ningún valor desde código y en cambio se lo asigno en tiempo de
ejecución
>> intruduciendo valores desde teclado sobre el TMaskEdit.
>>
>> No entiendo por qué ocurre, puesto que si el cPicture del TMaskEdit es
9999,
>> supuestamente debería entender que lo que le introduzco desde teclado
en
>> tiempo de ejecución es un valor numérico. Sin embargo, da error al tratar
>> de hacer un strZero()... ¿Sabéis qué puede pasar? ¿Podría ser un fallo
de
>> Xailer o estoy haciendo algo mal? Muchas gracias.
>>
>> Un saludo,
>> Jaime Irurzun.
>>

Picture 9999 en TMaskEdit

Publicado: Dom Dic 18, 2005 8:50 pm
por CapelSoft
Jaime,
>
> Sí­, se lo he cambiado. Siempre lo borro y lo dejo en blanco.
>
Blanco es tipo Carácter. Pon 0 y dime si así­ te va.
Saludos,
José Luis Capel

Picture 9999 en TMaskEdit

Publicado: Dom Dic 18, 2005 9:51 pm
por Jaime Irurzun
José Luis,
¡Era eso!
Pensaba que si forzabas con el Picture a que el TMaskEdit fuera numérico,
aunque pusieras blanco en el IDE él lo tomaría como un 0. Realmente ni había
pensado en eso, pero siempre tiendo a borrar el contenido... muchas gracias
:)
Un saludo,
Jaime Irurzun.
=?ISO-8859-1?Q?Jos=E9_Luis_Capel?= <capelsoft@terra.es> wrote:
>Jaime,
>
>>
>> Sí, se lo he cambiado. Siempre lo borro y lo dejo en blanco.
>>
>
>Blanco es tipo Carácter. Pon 0 y dime si así te va.
>
>Saludos,
>José Luis Capel