FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour saber que get edito
Posts: 418
Joined: Wed Nov 26, 2008 06:33 PM
saber que get edito
Posted: Sat Aug 03, 2013 11:15 PM

Saludotes.

Una que quiza es facil, pero no se como!!!

Tengo una function Calc(), para llamar cuando tecleo F2 que es una calculadora, la cual el resultado me lo deja en ::nResultado

y en la ediciones de datos tengo varios get's, alguno de ellos es numerico y estoy en ese get actualmente...

como se desde mi funcion Calc() que get estoy editando, para asignarle el valor del resultado

he intentado con: xGet:GetFocus() y no

Noé Aburto Sánchez
Tec. Prog. de Sistemas. -Morelia, Mich. México.
fwh 20.06, Harbour 3.2.0, bcc 7.4
TsBrowse 9.0, TsButton 7.0, xEdit 6.1
naburtos@gmail.com, noeaburto67@hotmail.com
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: saber que get edito
Posted: Sun Aug 04, 2013 12:11 AM

Noe:

Podrías enviarle la variable del get a la función Calc() pasada por referencia,
así podrás actualizar la variable del get que sea.

Saludos

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
Posts: 1088
Joined: Fri Oct 07, 2005 03:33 PM
Re: saber que get edito
Posted: Mon Aug 05, 2013 12:47 AM

Noé,

puedes utilizar la clausula WHEN de los gets para fijar un valor y asi saber en que get estas WHEN ( nGet := n, .T.)
y en función de nGet haces lo que necesitas, no se si habrá una solución mas elegante

saludos

Marcelo

Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: saber que get edito
Posted: Mon Aug 05, 2013 08:47 AM
A ver si te sirve ésto que uso yo para mi calculadora.

Code (fw): Select all Collapse
Function MiraCalc (oDlg)
Local nControl:=0

  For nControl:=1 to len(odlg:aControls)
    If oDlg:aControls[nControl]:lFocused .AND. oDlg:aControls[nControl]:ClassName()="TGET"
       oDlg:aControls[nControl]:cText:=ResultadoCalculadora (oDlg)
    Endif
  Next

Return (nil)


Básicamente comprueba todos los controles del diálogo y si el que tiene el foco es un objeto TGET obtiene el resultado de la calculadora.
Saludos,
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
Re: saber que get edito
Posted: Mon Aug 05, 2013 07:39 PM
Hola

Todo los get tiene un variable nId

Aqui un Ejemplo de como usarlo con SETKEY


Code (fw): Select all Collapse
SetKey( VK_F3, { |handle, n, oGet| ;
            iif( lok .and. oGet:nID = id_IDrutcli .and. (alias_clientes)->( dbSeek( oIng:Rutcli ) ), (lok:= .f., ABMCLIENTE( , oIng:RutCli, "M" ), lOk:= .t.), NIL ),;
            iif( lok .and. oGet:nID = id_IDrutpara .and. (alias_clientes)->(dbSeek(oIng:rutpara ) ), (lok:= .f., ABMCLIENTE( , oIng:rutpara,"M" ), lOk:= .t.), NIL )} )
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl

Continue the discussion