USO DE KEYBOAR CHR(13)

Post Reply
servicomver
Posts: 159
Joined: Fri Nov 18, 2005 7:34 pm

USO DE KEYBOAR CHR(13)

Post by servicomver »

HOLA:
TENGO UN PROBLEMA Q NO PUEDO HACER QUE EL FOCO DE UNA GET REGRESE DESPUES DE INGRESAR UN REGISTRO EN LISTBOX
ME DI CUENTA QUE LO HACE SOBRE UN OBJETO WINDOW, NO ASI EN UN DIALOG, PERO COMO ES TAN URGENTE PENSE EN RECURRIR AL VIEJO KEYBOARD CHR(13) DE CLIPPER PARA HACER O MAS BIEN FORZAR A MOVER AL FOCO A DONDE LO NECESITO, PERO NO LO SE HACER EN FIVEWIN, ALGUNA PROPUESTA ??
REQUIERO DAR 2 "TABS" (O SEA MOVER EL FOCO DEL LISTBOX AL GET Q LO QUIERO PONER)

DE ANTEMANO GRACIAS X SU AYUDA
SALUDOS
VERACRUZ, VER. MEXICO
User avatar
Armando Picon
Posts: 448
Joined: Mon Dec 26, 2005 9:11 pm
Location: Lima, Peru

Post by Armando Picon »

Sería bueno que mostrases el codigo... lo que relatas no es muy preciso.

Qué ingresa primero, el GET o el LISTBOX ? ´

Si es el GET porqué tienes que ir al Listbox y luego regresar; si es el LISTBOX quieres actualizar el GET con el dato del listbox?

Es decir; se requiere el codigo para que te puedan ayudar...
FWH + BCC582 + WorkShop 4.5 + Resource Hacker + Mingw
Mis nuevas herramientas
Comunicacion via WhatsApp (+51) 957549 665
Comunicación via Correo: apic1002002 at yahoo dot es; apic1002002@gmail.com
servicomver
Posts: 159
Joined: Fri Nov 18, 2005 7:34 pm

Post by servicomver »

Mil disculpas, ahi esta una parte del fuente, lo que necesito es que despues de poner la cantidad y la clave, ingrese el dato al listbox, pero q regrese al Get2,y no lo hace se queda en el listbox, esto lo programe bien pero usando un objeo WINDOW y no un DIALOG como aqui, gracias por su atencion.


Function Recibe(oLbx1,oPcion)

local oDlg6,oGet1,oGet2,oGet3,osay2
lNuevo:=.f.
lBorrar1:=.F.
regmodi:=0
nRegact:=Recno()
nPar:=0

nProvedor:=0
cProvedor:=Space(60)
dFecha:=Date()
dFecharec:=Date()
nDesc:=0
nDescFinal:=0
cClave:=Space(20)
nCantidad:=0

SET 3DLOOK ON // Microsoft 3D Look
DEFINE FONT oFont62 NAME "monospac821 bt" SIZE 0, -18 BOLD
DEFINE FONT oFont61 NAME "Arial" SIZE 0, -10 BOLD //
DEFINE FONT oFont65 NAME "monospac821 bt" SIZE 0, -12 BOLD

DEFINE DIALOG oDlg6 FROM 5,.5 TO 34,99.5 ;
TITLE "Recepcion de Materiales: " ;


@ .4, 1 SAY OemToAnsi( "FOLIO:" ) OF oDlg6;
SIZE 30, 9 BORDER

@ .4, 18 SAY OemToAnsi( "PROVEEDOR:" ) OF oDlg6;
SIZE 40, 9 BORDER

@ .4,35 SAY oSay1 VAR cProvedor OF oDlg6 COLOR RGB(0,0,255)

@ 1.4, 1 SAY OemToAnsi( "FECHA FAC:" ) OF oDlg6;
SIZE 40, 9 BORDER

@ 1.4, 18 SAY OemToAnsi( "FECHA REC:" ) OF oDlg6;
SIZE 40, 9 BORDER

@ 1.4, 35 SAY OemToAnsi( "DESCUENTO:" ) OF oDlg6;
SIZE 40, 9 BORDER

@ 1.4, 50 SAY OemToAnsi( "DESC. FINAL:" ) OF oDlg6;
SIZE 40, 9 BORDER

@ 2.4, 18 SAY OemToAnsi( "CLAVE:" ) OF oDlg6;
SIZE 30, 9 BORDER

@ 2.4, 1 SAY OemToAnsi( "CANTIDAD:" ) OF oDlg6;
SIZE 40, 9 BORDER

@ 10.6, 45 SAY OemToAnsi( "PARCIAL:" ) OF oDlg6;
SIZE 40, 9 BORDER FONT OFONT65

@ 10.6,55 say osay2 var nPar picture "999,999.99" of odlg6 font ofont65

@ 11.4, 45 SAY OemToAnsi( "DESC:" ) OF oDlg6;
SIZE 40, 9 BORDER FONT OFONT65

@ 12.2, 45 SAY OemToAnsi( "SUB-TOTAL:" ) OF oDlg6;
SIZE 40, 9 BORDER FONT OFONT65

@ 13, 45 SAY OemToAnsi( "I.V.A.:" ) OF oDlg6;
SIZE 40, 9 BORDER FONT OFONT65

@ 13.8, 45 SAY OemToAnsi( "TOTAL:" ) OF oDlg6;
SIZE 40, 9 BORDER FONT OFONT65

@ .6, 19 TBTNGET oGet1 VAR nProvedor OF oDlg6 ;
SIZE 30, 9 ;
RESOURCE "mail1.bmp" ;
PICTURE "99999";
ACTION Seleccion1( oSay1,oGet1 )


@ 2.9,7 Get oGet2 Var nCantidad Size 40,9 PICTURE "999,999.99" FONT oFont65 Of oDlg6 UPDATE

@ 2.9,17 Get oGet3 Var cClave VALID(Busca(@cClave,oGet2,oGet3,oLbx,osay2,odlg6),.T.) Size 40,9 PICTURE "@!" FONT oFont65 Of oDlg6 UPDATE

Select 6
USE C:\GRUPOTEX\User1 ALIAS aUser1 SHARED
Go Top

@ 3.5 , .5 LISTBOX oLbx FIELDS Transform(aUser1->Cantidad,"999,999.99"), Transform(aUser1->Piezas,"999,999"), aUser1->Clave, aUser1->Describe,Transform(aUser1->Ancho,"999.99"),aUser1->Color,Transform(aUser1->Costo,"999,999.99"),Transform(aUser1->Importe,"999,999.99");
HEADERS "Cantidad", "Piezas","Clave", "Descripcion de Articulo","Ancho","Color","Costo","Importe";
FIELDSIZES 80,55,80,250,50,90,70,90 FONT OFONT65;
SIZE 385, 110 OF oDlg6

ACTIVATE Dialog odLG6

oLbx1:UpStable()
oLbx1:Refresh()

Return NIL


Function Busca(cclave,oget2,oGet3,oLbx,osay2,odlg6)
local oDlg2, oBmp1,oSay66
SELECT 1
nRegistro:=Recno()
DEFINE FONT oFont65 NAME "monospac821 bt" SIZE 0, -12 BOLD

If Empty(cClave)=.F.
SELECT 1
USE C:\GrupoTex\General ALIAS aGeneral INDEX C:\grupotex\CLVGRAL SHARED
Seek cClave
If found()
xClave:=aGeneral->clave
xDescr:=aGeneral->Describe
CLOSE aGeneral

Select 6
USE C:\GRUPOTEX\User1 ALIAS aUser1 SHARED

Locate for alltrim(Field->Clave) == alltrim( cClave )
If Found() = .F.
Append blank
If Bloqreg(5)
aUser1->Cantidad:=nCantidad
aUser1->Describe:=xDescr
Endif
UNLOCK
oLbx:UpStable() // Corrects same page stabilizing Bug
oLbx:Refresh()
If Lastrec() > 11
xreg=Lastrec()-10
go xReg
Else
GO TOP
Endif
olbx:Lostfocus()
oGet2:SetFocus()

Endif


Endif
Endif
Return (cClave)

uso fivewin 2.3
clipper 5.1
blinker 6.0
User avatar
Armando Picon
Posts: 448
Joined: Mon Dec 26, 2005 9:11 pm
Location: Lima, Peru

Post by Armando Picon »

Cambia esta linea:

@ 2.9,17 Get oGet3 Var cClave VALID(Busca(@cClave,oGet2,oGet3,oLbx,osay2,odlg6),.T.) Size 40,9 PICTURE "@!" FONT oFont65 Of oDlg6 UPDATE

Por esta:


@ 2.9,17 Get oGet3 Var cClave VALID(Busca(@cClave,oGet2,oGet3,oLbx,osay2,odlg6),.T., oGet2:Setfocus() ) Size 40,9 PICTURE "@!" FONT oFont65 Of oDlg6 UPDATE

Con esto estas forzando al programa para que cuando termine de actualizar al LISTBOX vuelva el foco al objeto oGet2 (o al que prefieras si lo apuntas ).

Otro añadido: Particularmente yo utilizo TBROWSE con archivos temporales de uso exclusivo que creo "al vuelo" y que sirven para almacenar posteriormente los datos que recogí en las bases que requieran ser actualizadas. Después los elimino y listo.

Los usuarios no se percatan para nada de lo que ha sucedido... y esto hasta en máquinas PENTIUM I...!!!
servicomver wrote:Mil disculpas, ahi esta una parte del fuente, lo que necesito es que despues de poner la cantidad y la clave, ingrese el dato al listbox, pero q regrese al Get2,y no lo hace se queda en el listbox, esto lo programe bien pero usando un objeo WINDOW y no un DIALOG como aqui, gracias por su atencion.


Function Recibe(oLbx1,oPcion)

local oDlg6,oGet1,oGet2,oGet3,osay2
lNuevo:=.f.
lBorrar1:=.F.
regmodi:=0
nRegact:=Recno()
nPar:=0

nProvedor:=0
cProvedor:=Space(60)
dFecha:=Date()
dFecharec:=Date()
nDesc:=0
nDescFinal:=0
cClave:=Space(20)
nCantidad:=0

SET 3DLOOK ON // Microsoft 3D Look
DEFINE FONT oFont62 NAME "monospac821 bt" SIZE 0, -18 BOLD
DEFINE FONT oFont61 NAME "Arial" SIZE 0, -10 BOLD //
DEFINE FONT oFont65 NAME "monospac821 bt" SIZE 0, -12 BOLD

DEFINE DIALOG oDlg6 FROM 5,.5 TO 34,99.5 ;
TITLE "Recepcion de Materiales: " ;


@ .4, 1 SAY OemToAnsi( "FOLIO:" ) OF oDlg6;
SIZE 30, 9 BORDER

@ .4, 18 SAY OemToAnsi( "PROVEEDOR:" ) OF oDlg6;
SIZE 40, 9 BORDER

@ .4,35 SAY oSay1 VAR cProvedor OF oDlg6 COLOR RGB(0,0,255)

@ 1.4, 1 SAY OemToAnsi( "FECHA FAC:" ) OF oDlg6;
SIZE 40, 9 BORDER

@ 1.4, 18 SAY OemToAnsi( "FECHA REC:" ) OF oDlg6;
SIZE 40, 9 BORDER

@ 1.4, 35 SAY OemToAnsi( "DESCUENTO:" ) OF oDlg6;
SIZE 40, 9 BORDER

@ 1.4, 50 SAY OemToAnsi( "DESC. FINAL:" ) OF oDlg6;
SIZE 40, 9 BORDER

@ 2.4, 18 SAY OemToAnsi( "CLAVE:" ) OF oDlg6;
SIZE 30, 9 BORDER

@ 2.4, 1 SAY OemToAnsi( "CANTIDAD:" ) OF oDlg6;
SIZE 40, 9 BORDER

@ 10.6, 45 SAY OemToAnsi( "PARCIAL:" ) OF oDlg6;
SIZE 40, 9 BORDER FONT OFONT65

@ 10.6,55 say osay2 var nPar picture "999,999.99" of odlg6 font ofont65

@ 11.4, 45 SAY OemToAnsi( "DESC:" ) OF oDlg6;
SIZE 40, 9 BORDER FONT OFONT65

@ 12.2, 45 SAY OemToAnsi( "SUB-TOTAL:" ) OF oDlg6;
SIZE 40, 9 BORDER FONT OFONT65

@ 13, 45 SAY OemToAnsi( "I.V.A.:" ) OF oDlg6;
SIZE 40, 9 BORDER FONT OFONT65

@ 13.8, 45 SAY OemToAnsi( "TOTAL:" ) OF oDlg6;
SIZE 40, 9 BORDER FONT OFONT65

@ .6, 19 TBTNGET oGet1 VAR nProvedor OF oDlg6 ;
SIZE 30, 9 ;
RESOURCE "mail1.bmp" ;
PICTURE "99999";
ACTION Seleccion1( oSay1,oGet1 )


@ 2.9,7 Get oGet2 Var nCantidad Size 40,9 PICTURE "999,999.99" FONT oFont65 Of oDlg6 UPDATE

@ 2.9,17 Get oGet3 Var cClave VALID(Busca(@cClave,oGet2,oGet3,oLbx,osay2,odlg6),.T.) Size 40,9 PICTURE "@!" FONT oFont65 Of oDlg6 UPDATE

Select 6
USE C:\GRUPOTEX\User1 ALIAS aUser1 SHARED
Go Top

@ 3.5 , .5 LISTBOX oLbx FIELDS Transform(aUser1->Cantidad,"999,999.99"), Transform(aUser1->Piezas,"999,999"), aUser1->Clave, aUser1->Describe,Transform(aUser1->Ancho,"999.99"),aUser1->Color,Transform(aUser1->Costo,"999,999.99"),Transform(aUser1->Importe,"999,999.99");
HEADERS "Cantidad", "Piezas","Clave", "Descripcion de Articulo","Ancho","Color","Costo","Importe";
FIELDSIZES 80,55,80,250,50,90,70,90 FONT OFONT65;
SIZE 385, 110 OF oDlg6

ACTIVATE Dialog odLG6

oLbx1:UpStable()
oLbx1:Refresh()

Return NIL


Function Busca(cclave,oget2,oGet3,oLbx,osay2,odlg6)
local oDlg2, oBmp1,oSay66
SELECT 1
nRegistro:=Recno()
DEFINE FONT oFont65 NAME "monospac821 bt" SIZE 0, -12 BOLD

If Empty(cClave)=.F.
SELECT 1
USE C:\GrupoTex\General ALIAS aGeneral INDEX C:\grupotex\CLVGRAL SHARED
Seek cClave
If found()
xClave:=aGeneral->clave
xDescr:=aGeneral->Describe
CLOSE aGeneral

Select 6
USE C:\GRUPOTEX\User1 ALIAS aUser1 SHARED

Locate for alltrim(Field->Clave) == alltrim( cClave )
If Found() = .F.
Append blank
If Bloqreg(5)
aUser1->Cantidad:=nCantidad
aUser1->Describe:=xDescr
Endif
UNLOCK
oLbx:UpStable() // Corrects same page stabilizing Bug
oLbx:Refresh()
If Lastrec() > 11
xreg=Lastrec()-10
go xReg
Else
GO TOP
Endif
olbx:Lostfocus()
oGet2:SetFocus()

Endif


Endif
Endif
Return (cClave)

uso fivewin 2.3
clipper 5.1
blinker 6.0
FWH + BCC582 + WorkShop 4.5 + Resource Hacker + Mingw
Mis nuevas herramientas
Comunicacion via WhatsApp (+51) 957549 665
Comunicación via Correo: apic1002002 at yahoo dot es; apic1002002@gmail.com
servicomver
Posts: 159
Joined: Fri Nov 18, 2005 7:34 pm

Post by servicomver »

gracias por tu ayuda, me funciono correctamente, aunque nunca supe por que lo hace bien en un objeto Dialog y no en un onbjeto WINDOW
Post Reply