Alguna sugerencia con Get

Post Reply
ricardog
Posts: 149
Joined: Tue Oct 11, 2005 3:10 pm

Alguna sugerencia con Get

Post by ricardog »

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 _ 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
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Post by Armando »

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
ricardog
Posts: 149
Joined: Tue Oct 11, 2005 3:10 pm

Post by ricardog »

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.
Vital
Posts: 58
Joined: Mon Nov 06, 2006 6:56 am

Post by Vital »

User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Ricardo,

Aqui tienes un ejemplo funcionando como quieres:

Code: Select all

#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
ricardog
Posts: 149
Joined: Tue Oct 11, 2005 3:10 pm

Post by ricardog »

Sr. Linares
Como siempre, funciono Ok.

Armando, Vital, Muchas gracias por sus sugerencias.
Post Reply