Fecha actual Mar Jul 01, 2025 5:26 pm

Todos los horarios son UTC + 1 hora [ DST ]




Nuevo tema Responder al tema  [ 9 mensajes ] 
Autor Mensaje
NotaPublicado: Jue Oct 13, 2005 7:29 pm 
Bruno,
Perdona que te moleste, pero te agradeceria que le echases un
vistazo, al siguiente trozo de codigo y me dijeses que es lo que estoy
haciendo mal, ya que como veras lo que estoy intentando, es ahorrar un
gran numero de lineas de codigo.

//así funciona perfectamente.

Method FichaRecNue() Class TPrincipal
Local oTN,oNU,oVar
oVar:=Array(22)

// Entrada del Titulo Nacional.
oVar[2]:= TEdit():Create( Venta )
oVar[2]:SetBounds( 124, 28, 300, 0 )
oVar[2]:Font:Size:=11
oVar[2]:Caption:=oTN
oVar[2]:OnExit:={|oSender|oTN:=oVar[2]:Caption}

// Entrada del Titulo Original.
oVar[3]:= TEdit():Create( Venta )
oVar[3]:SetBounds( 124, 58, 300, 0 )
oVar[3]:Font:Size:=11
oVar[3]:Caption:=oTO
oVar[3]:OnExit:={|oSender|oTO:=oVar[3]:Caption}

Return nil

//************************************************************************//

// Así NO funciona ya que las variables no captan los datos de entrada.

Static Procedure EntraDatos(ar,ve,c1,c2,c3,c4,tf,al,va)

ar:= TEdit():Create(ve)
ar:SetBounds(c1,c2,c3,c4)
ar:Font:Size:=tf
ar:Alignment:=al
ar:Caption:=va
ar:OnExit:={|oSender|va:=ar:Caption}

Return(va)



Method FichaRecNue() Class TPrincipal
Local oTN,oNU,oVar
oVar:=Array(22)

EntraDatos(oVar[2],venta,124,28,300,0,11,,oTN)
EntraDatos(oVar[3],venta,124,58,300,0,11,,oTO)

Return

perdona por las molestias y gracias por adelantado, un cordial saludo:

Fraguibo


Arriba
  
Responder citando  
NotaPublicado: Jue Oct 13, 2005 8:59 pm 
Site Admin
Avatar de Usuario

Registrado: Jue Oct 06, 2005 10:49 pm
Mensajes: 655
Ubicación: España - Salamanca
Francisco,

El código de las funciones está bien, creo que el problema lo tienes en la llamada, intentas cambiar el valor de los parámetros oTN y oTO sin pasarlos por referencia, prueba así:

EntraDatos(oVar[2],venta,124,28,300,0,11,,@oTN)
EntraDatos(oVar[3],venta,124,58,300,0,11,,@oTO)

_________________
Un saludo,
Bruno Cantero
www.c3compiler.com


Arriba
 Perfil  
Responder citando  
NotaPublicado: Vie Oct 14, 2005 12:13 am 
Avatar de Usuario

Registrado: Dom Oct 09, 2005 11:26 am
Mensajes: 362
Ubicación: Salamanca - España
Hola, Francisco (y grupo).

Perdona que te haga un comentario (':oops:') pero no me he podido resistir...

Es respecto a tu interes en utilizar los arrays con la intención de ahorrar (':cry:') creo que se va a liar más el código... y aprovechando la situación, ¿porque no te olvidas de la función que utilizas para hacer las llamadas a las distintas situaciones de edición...
Utiliza la OOP, que lo vas ha ver MUCHO más claro... bueno si quieres aondar en el tema lo cometas y seguimos....

Jesús


Arriba
 Perfil  
Responder citando  
NotaPublicado: Vie Oct 14, 2005 3:31 pm 
Bruno,
Perdona pero a lo mejor yo NO me explique bien en mi consulta, por que lo queria consultar es que cuando, la función de entrada de datos, devuelve el control a la función que la ha llamado, las variables oTN y oTO no cargan, los datos de la función de entrada de datos y al grabarlas en la base de datos estan vacias.
Tambien he probado hacerlo como me indicabas y tampoco funciona.

Tambien quiero comentarte que cuando intento registrarme con mi nonbre, mi e-mail y mi contraseña, me dice que ya estoy registrado y sin embargo en el foro a parecco como invitado y no como registrado y tampoco aparece mi e-mail, que hay que hacer para que aparecca correctamente.

Un Saludo
Fraguibo


Arriba
  
Responder citando  
NotaPublicado: Vie Oct 14, 2005 4:25 pm 
Site Admin
Avatar de Usuario

Registrado: Jue Oct 06, 2005 10:49 pm
Mensajes: 655
Ubicación: España - Salamanca
Francisco,

Francisco escribió:
Perdona pero a lo mejor yo NO me explique bien en mi consulta, por que lo queria consultar es que cuando, la función de entrada de datos, devuelve el control a la función que la ha llamado, las variables oTN y oTO no cargan, los datos de la función de entrada de datos y al grabarlas en la base de datos estan vacias.


Intenta mandar un ejemplo completo.

Francisco escribió:
Tambien quiero comentarte que cuando intento registrarme con mi nonbre, mi e-mail y mi contraseña, me dice que ya estoy registrado y sin embargo en el foro a parecco como invitado y no como registrado y tampoco aparece mi e-mail, que hay que hacer para que aparecca correctamente.


Haz Login en el menú de los foros, pones tu usuario y tu clave.

_________________
Un saludo,
Bruno Cantero
www.c3compiler.com


Arriba
 Perfil  
Responder citando  
 Asunto: Cambiar Codigo
NotaPublicado: Vie Oct 14, 2005 7:54 pm 
Avatar de Usuario

Registrado: Mar Oct 11, 2005 6:58 pm
Mensajes: 138
Ubicación: España
Bruno,
Aqui te adjunto el codigo tal como me pides.

Un Saludo.
Fraguibo


Adjuntos:
Consutar.prg [2.94 KiB]
306 veces
Arriba
 Perfil  
Responder citando  
 Asunto: Cambiar Codigo
NotaPublicado: Vie Oct 14, 2005 8:07 pm 
Avatar de Usuario

Registrado: Mar Oct 11, 2005 6:58 pm
Mensajes: 138
Ubicación: España
Bruno,
Perdona pero te he remitido un archibo que NO es, pero que puede servir para que el foro lo consulte, ya que funciona perfectamente.

Aqui te adjunto el que me pides para revisar.

Un Saludo.
Fraguibo


Adjuntos:
Prueva.txt [894 Bytes]
281 veces
Arriba
 Perfil  
Responder citando  
 Asunto:
NotaPublicado: Vie Oct 14, 2005 8:26 pm 
Site Admin
Avatar de Usuario

Registrado: Jue Oct 06, 2005 10:49 pm
Mensajes: 655
Ubicación: España - Salamanca
Francisco,

Mira estas líneas de tu ejemplo:
// Boton Para Archivar.
::CrearBoton(Venta,21,430,214,23,9,"Archivar Esta Ficha",;
{|oSender|::Archivar(oTN,oTO,Venta:Close(),Venta:Destroy()})


Llamas a Archivar desde un codeblock, pero le pasas 4 parámetros y los dos últimos son para cerrar y destruir el formulario, es decir, antes de ejecutar la función Archivar se ha cerrado y destruído el forumlario, ¿no te faltará un paréntesis después de oTO?

_________________
Un saludo,
Bruno Cantero
www.c3compiler.com


Arriba
 Perfil  
Responder citando  
 Asunto: Cambiar Codigo
NotaPublicado: Vie Oct 14, 2005 8:59 pm 
Avatar de Usuario

Registrado: Mar Oct 11, 2005 6:58 pm
Mensajes: 138
Ubicación: España
Bruno,
Tienes razón se me ha olvidado poner el Parentesis, en el archivo que te mandado, pero en el archivo original si que esta bien puesto y me grava las variables en la base de datos, antes de destruirse la ventana, ya que salen encima de la ficha unos mensages, de que la ficha se esta archivando etc., etc.
Pero las entradas de datos estan vacias y por lo tanto no queda nada gravado en la base de datos.

Un saludo y perdona por las molestias.

Fraguibo


Arriba
 Perfil  
Responder citando  
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 9 mensajes ] 

Todos los horarios son UTC + 1 hora [ DST ]


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Buscar:
Saltar a: