In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Preguntas de principiante

Foro de Xailer profesional en español
Responder
EBM
Mensajes: 38
Registrado: Mié Feb 09, 2005 1:25 am

Preguntas de principiante

Mensaje por EBM »

Hola a todos:
Estoy por fin empezando una nueva aplicacion que me han pedido y quiero
hacerla con xailer, de inicio me he diseñado la pantalla para captura de
clientes pero tengo unas dudas que creo que son tontas pero no le encuentro
por donde:
1) Hice un form TForm1 al que le puse varios Gets para que el usuario haga
la captura de los datos de cada cliente, como su codigo, nombre, direccion,
etc.... Ya tengo definida una clase que se llama Cliente con todas sus datas
y metodos que necesito, en FW yo hacia lo siguiente:
oCliente := Cliente():Init()
REDEFINE GET oGet1 VAR oCliente:cCodigo .....
REDEFINE GET oGet2 VAR oCliente:cNombre ....
y en el boton de aceptar hacia una llamada a oCliente:Graba()
Esto como lo hago en xailer??? al definir un get me pide el var pero del
objeto, como asigno la var para el dato que tiene el objeto get????
2) En ese mismo formulario, puse una explorer bar, que van de maravilla por
cierto, muy faciles de implementar, en una de las opciones de esa explorer
bar, esta la opcion de salir, y en el evento onclick de ese item, yo puse
como codigo para cerrar el form un codeblock asi:
{ | oSender | ::Close() }
mi duda es si es esto correcto o cual es la mejor forma para cerrar el form
desde la opcion de la explorer bar.
3) Esta duda es mas bien como cultura general :), al crear el TForm, en que
variable se asigna dicho form, por que no existe oForm1, ni tform1 como
variable, en FW se creaba un oWnd o un oDlg, por eso de mi duda.
Saludos y gracias
LCP Eduardo Borondon Muñiz
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9448
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Preguntas de principiante

Mensaje por ignacio »

Eduardo,
Me alegro de verte por aquí. Espero que transición a Xailer sea lo menos
tortuosa posible. Haremos lo posible para que así sea.
1)
En Xailer ya no hace falta tener una variable para guardar el dato como se
hacía en FW y aunque simplemente puedes inicializar oGet:Value con el valor
del campo en la carga del formulario y luego grabarlo con un simple REPLACE
FIELD WITH oGet:Value, lo más adecuado sin duda algunan es utilizar
DataControls. Te aconsejo que te leas la documentación de Xailer al
respecto, y le eches un vistazo a todos los ejemplos de DataControls que
incluye Xailer en el directorio samples. Estoy seguro que lo tendrás
clarísimo y lo entenderás a la primera, es realmente fácil e intuitivo. Si
después de leerlo tienes alguna duda aquí nos tienes para resolvertela.
2)
No, no es correcto, porque en esto caso oSender es el control que disparo el
evento, que no es precisamente el formulario, sino el Item. No tienes más
que poner ::Close() y asunto arreglado. De esta forma estás ejecutando el
método Close del propio formulario, pues si te fijas cada vez que creas un
formulario realmente estás creando una clase que hereda de TForm.
3)
Creo que esta respondido en la segunda pregunta, pero intento abundar más en
ello:
Fijate que realmente cuando creas un formulario estas creando una nueva
clase que hereda de TForm:
CLASS TForm1 FROM TForm
Cada vez que creas un control en el formulario se añade un nuevo DATO en la
clase con la palabra reservada COMPONENT pero que no es más que un simple
DATA, por lo tanto estás añadiendo DATAS a la clase, ni más ni menos.
Todo el módulo Form1.prg no es más que el desarrollo de dicha clase
propiamente dicho. Cada vez que sobrecargas un evento de cualquier control
se generá automáticamente un método en la clase, por lo tanto SIEMPRE tienes
el formulario en ambito con tan sólo poner '::'. Igualmente todos los
controles del formulario están en ámbito, y por eso puedes escribir por
ejemplo ::oTEdit:Value.
En definitiva los eventos se rutan siempre al formulario contendor creandose
un método automáticamente (aunque también admitimos directamente
code-blocks), y dicho evento siempre recibe como primer parametro el objeto
que realmente disparo el evento.
Espero que lo tengas ya más claro.
Un saludo,
"EBM" <eduardoNO_SPAM@ebmsistemas.com> escribió en el mensaje
news:[email=44479a0e@ozsrvnegro.ozlan.local...]44479a0e@ozsrvnegro.ozlan.local...[/email]
> Hola a todos:
>
> Estoy por fin empezando una nueva aplicacion que me han pedido y quiero
> hacerla con xailer, de inicio me he diseñado la pantalla para captura de
> clientes pero tengo unas dudas que creo que son tontas pero no le
> encuentro por donde:
>
> 1) Hice un form TForm1 al que le puse varios Gets para que el usuario haga
> la captura de los datos de cada cliente, como su codigo, nombre,
> direccion, etc.... Ya tengo definida una clase que se llama Cliente con
> todas sus datas y metodos que necesito, en FW yo hacia lo siguiente:
>
> oCliente := Cliente():Init()
>
> REDEFINE GET oGet1 VAR oCliente:cCodigo .....
>
> REDEFINE GET oGet2 VAR oCliente:cNombre ....
>
> y en el boton de aceptar hacia una llamada a oCliente:Graba()
>
> Esto como lo hago en xailer??? al definir un get me pide el var pero del
> objeto, como asigno la var para el dato que tiene el objeto get????
>
> 2) En ese mismo formulario, puse una explorer bar, que van de maravilla
> por cierto, muy faciles de implementar, en una de las opciones de esa
> explorer bar, esta la opcion de salir, y en el evento onclick de ese item,
> yo puse como codigo para cerrar el form un codeblock asi:
>
> { | oSender | ::Close() }
>
> mi duda es si es esto correcto o cual es la mejor forma para cerrar el
> form desde la opcion de la explorer bar.
>
> 3) Esta duda es mas bien como cultura general :), al crear el TForm, en
> que variable se asigna dicho form, por que no existe oForm1, ni tform1
> como variable, en FW se creaba un oWnd o un oDlg, por eso de mi duda.
>
> Saludos y gracias
>
> LCP Eduardo Borondon Muñiz
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
EBM
Mensajes: 38
Registrado: Mié Feb 09, 2005 1:25 am

Preguntas de principiante

Mensaje por EBM »

Mil gracias Ignacio por la explicacion, voy a ponerme a analizar lo que me
sugieres y si tengo alguna duda ya te comentaré, Gracias de nuevo.
Saludos
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:4447a967$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Eduardo,
>
> Me alegro de verte por aquí. Espero que transición a Xailer sea lo menos
> tortuosa posible. Haremos lo posible para que así sea.
>
> 1)
> En Xailer ya no hace falta tener una variable para guardar el dato como se
> hacía en FW y aunque simplemente puedes inicializar oGet:Value con el
> valor del campo en la carga del formulario y luego grabarlo con un simple
> REPLACE FIELD WITH oGet:Value, lo más adecuado sin duda algunan es
> utilizar DataControls. Te aconsejo que te leas la documentación de Xailer
> al respecto, y le eches un vistazo a todos los ejemplos de DataControls
> que incluye Xailer en el directorio samples. Estoy seguro que lo tendrás
> clarísimo y lo entenderás a la primera, es realmente fácil e intuitivo. Si
> después de leerlo tienes alguna duda aquí nos tienes para resolvertela.
>
> 2)
> No, no es correcto, porque en esto caso oSender es el control que disparo
> el evento, que no es precisamente el formulario, sino el Item. No tienes
> más que poner ::Close() y asunto arreglado. De esta forma estás ejecutando
> el método Close del propio formulario, pues si te fijas cada vez que creas
> un formulario realmente estás creando una clase que hereda de TForm.
>
> 3)
> Creo que esta respondido en la segunda pregunta, pero intento abundar más
> en ello:
>
> Fijate que realmente cuando creas un formulario estas creando una nueva
> clase que hereda de TForm:
>
> CLASS TForm1 FROM TForm
>
> Cada vez que creas un control en el formulario se añade un nuevo DATO en
> la clase con la palabra reservada COMPONENT pero que no es más que un
> simple DATA, por lo tanto estás añadiendo DATAS a la clase, ni más ni
> menos.
>
> Todo el módulo Form1.prg no es más que el desarrollo de dicha clase
> propiamente dicho. Cada vez que sobrecargas un evento de cualquier control
> se generá automáticamente un método en la clase, por lo tanto SIEMPRE
> tienes el formulario en ambito con tan sólo poner '::'. Igualmente todos
> los controles del formulario están en ámbito, y por eso puedes escribir
> por ejemplo ::oTEdit:Value.
>
> En definitiva los eventos se rutan siempre al formulario contendor
> creandose un método automáticamente (aunque también admitimos directamente
> code-blocks), y dicho evento siempre recibe como primer parametro el
> objeto que realmente disparo el evento.
>
> Espero que lo tengas ya más claro.
>
> Un saludo,
>
> "EBM" <eduardoNO_SPAM@ebmsistemas.com> escribió en el mensaje
> news:[email=44479a0e@ozsrvnegro.ozlan.local...]44479a0e@ozsrvnegro.ozlan.local...[/email]
>> Hola a todos:
>>
>> Estoy por fin empezando una nueva aplicacion que me han pedido y
>> quiero hacerla con xailer, de inicio me he diseñado la pantalla para
>> captura de clientes pero tengo unas dudas que creo que son tontas pero no
>> le encuentro por donde:
>>
>> 1) Hice un form TForm1 al que le puse varios Gets para que el usuario
>> haga la captura de los datos de cada cliente, como su codigo, nombre,
>> direccion, etc.... Ya tengo definida una clase que se llama Cliente con
>> todas sus datas y metodos que necesito, en FW yo hacia lo siguiente:
>>
>> oCliente := Cliente():Init()
>>
>> REDEFINE GET oGet1 VAR oCliente:cCodigo .....
>>
>> REDEFINE GET oGet2 VAR oCliente:cNombre ....
>>
>> y en el boton de aceptar hacia una llamada a oCliente:Graba()
>>
>> Esto como lo hago en xailer??? al definir un get me pide el var pero del
>> objeto, como asigno la var para el dato que tiene el objeto get????
>>
>> 2) En ese mismo formulario, puse una explorer bar, que van de maravilla
>> por cierto, muy faciles de implementar, en una de las opciones de esa
>> explorer bar, esta la opcion de salir, y en el evento onclick de ese
>> item, yo puse como codigo para cerrar el form un codeblock asi:
>>
>> { | oSender | ::Close() }
>>
>> mi duda es si es esto correcto o cual es la mejor forma para cerrar el
>> form desde la opcion de la explorer bar.
>>
>> 3) Esta duda es mas bien como cultura general :), al crear el TForm, en
>> que variable se asigna dicho form, por que no existe oForm1, ni tform1
>> como variable, en FW se creaba un oWnd o un oDlg, por eso de mi duda.
>>
>> Saludos y gracias
>>
>> LCP Eduardo Borondon Muñiz
>>
>>
>
>
Responder