Alguna sugerencia con Get

Alguna sugerencia con Get

Postby ricardog » Fri Dec 21, 2007 11:19 pm

En mi aplicacion tengo varias tablas que son "catalogos" del sistema, algunas de ellas con tan solo 2 campos y solo uno para ser actualizado, (el otro es la llave, y lo genera "autonumerado"), pues bien, para no tener varios dialogos en mi .RC, el sistema genera automaticamente un dialogo en base a los campos que serán editados. en el caso de las tablas que solo tienen 2 campos, tan solo edito 1 que seria el nombre de (ciudad, moneda, etc.), Y lo que quiero hacer es que cuando el usuario cambie el dato de ese campo, con oprimir las teclas CTRL + F4, se grabe ese dato en la base de datos, para que no utilize tanto el mouse. Pero no se como validar que el campo ya fué cambiado.

Por su atención GRACIAS

Y FELIZ NAVIDA Y PROSPERO 2008, PARA TODOS Y CADA UNO DE UDS.

Ricardo E. Guardado Flores
ricardog
 
Posts: 158
Joined: Tue Oct 11, 2005 3:10 pm

Postby Armando » Sat Dec 22, 2007 3:14 am

Ricardo:

En principio no veo la necesidad de saber si el dato fue cambiado o no, simplemente con la combinación de las teclas que mencionas grabas el dato aunque haya o no cambiado.

Perooooo, si insistes en saber si el dato cambió o no te recomiendo que uses la clase TDATABASE que si no recuerdo mal tiene la propiedad lModified que te indica si cambió o no.

Saludos y Felíz Navidad para todo el foro
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3242
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Postby ricardog » Sat Dec 22, 2007 5:41 am

Armando, gracias por contestar.
Perdon que no me haya dado a entender como deberia de ser. Te explico.
Como comento tengo un dialogo con tan solo un campo y dos botones

Al "EDITAR" el campo, este tiene el dato "HERMOSILLOS", para corregir el dato el usuario logicamente escribira "HERMOSILLO", pero sin que el usuario de "ENTER", al querer grabar con CTRL + F4, como el get no ha perdido el foco NI CON ENTER, NI CON TAB, pues el registro se queda como estaba, en cambio si llevo el mouse hacia el boton grabar, si lo hace, porque el get ya perdio el foco, (hay usuarios que les da flojera arrastrar el mouse, al cliente lo que solicite, porque gracias a ellos tenemos trabajo).

"Necesito grabar los datos cuando el usuario esta dentro del get".

Gracias por tus comentarios.

Ricardo E. Guardado Flores.
ricardog
 
Posts: 158
Joined: Tue Oct 11, 2005 3:10 pm

Postby Vital » Sat Dec 22, 2007 7:01 am

Vital
 
Posts: 58
Joined: Mon Nov 06, 2006 6:56 am

Postby Antonio Linares » Sat Dec 22, 2007 8:04 am

Ricardo,

Aqui tienes un ejemplo funcionando como quieres:
Code: Select all  Expand view  RUN
#include "FiveWin.ch"

function Main()

   local oDlg, oGet, cText := "Hello world"

   SetKey( VK_F4, { || SaveGet( oGet ) } )

   DEFINE DIALOG oDlg TITLE "Test"

   @ 2, 2 GET oGet VAR cText

   ACTIVATE DIALOG oDlg CENTERED

return nil

function SaveGet( oGet )

   if GetKeyState( VK_CONTROL )
      MsgInfo( AllTrim( oGet:GetText() ) ) // salvar aqui el contenido del GET
   endif   
   
return nil 
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby ricardog » Sat Dec 22, 2007 9:03 pm

Sr. Linares
Como siempre, funciono Ok.

Armando, Vital, Muchas gracias por sus sugerencias.
ricardog
 
Posts: 158
Joined: Tue Oct 11, 2005 3:10 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 95 guests