FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Favor Ayuda Urgente
Posts: 719
Joined: Fri May 12, 2017 02:50 PM

Favor Ayuda Urgente

Posted: Sat Oct 24, 2020 11:46 PM
Hola Amigos.

Necesito molestarlos.

Tengo un programa que debe ingresar datos a una base de datos, el problema que no logro limpiar las variables despues de grabar un dato, mantiene los datos del ingreso, ya estoy mareado y no encuentro el error. Debo limpiar todas las variables para el proximo ingreso.

Desde ya muchos gracias y muchos saludos.

Antonio.

Dejo el Codigo:
Code (fw): Select all Collapse
Function Crea_Lista()
聽 聽 聽 聽 Local oDlg2, oBrw2, oFont2, oFont4,otitu2,oFont5,oFont6,oFont10
聽 聽 聽 聽 Local oGroup,oGroup1,oGroup2
聽 聽 聽 聽 Field NAME

聽 聽 聽 聽 Private 聽oGet1,oGet2,oGet3,oGet4 , 聽oGet5,oGet6,oGet7,oGet8,oGet9,oGet10,oGet11,oGet12,oGet13,oGet14,oGet15
聽 聽 聽 聽 Private Rut_Pac1:=Spac(12) , 聽Nom_Pac1:=Spac(35),Ape_Pac1:=Spac(35) , Nro_Cor1:=1


聽 聽 聽 聽 Abre_dbf("maepacie",1,.f.,"")
聽 聽 聽 set inde to maepacie

聽 聽 聽 Abre_dbf("DetaFis",2,.f.,"")
聽 聽 聽 set inde to DetaFis

聽 聽 聽聽 聽Sele b
聽 聽 聽聽 聽Go Top
聽 聽 聽聽 聽If Eof()
聽 聽 聽 聽 聽 聽 聽 聽 Nro_Cor1:=1
聽 聽 聽 聽 Else
聽 聽 聽聽 聽聽 聽 聽 聽 DbSetOrder(2)
聽 聽 聽聽 聽聽 聽 聽 聽 Go Bott
聽 聽 聽聽 聽聽 聽 聽 聽 Nro_Cor1:=Nro_Cor + 1
聽 聽 聽 聽 Endif
聽 聽 聽/*
聽 聽 聽Sele Maepacie
聽 聽 聽Nro_Fic1 = a->Nro_Fic
聽 聽 聽Rut_Pac1 = a->Rut_Pac
聽 聽 聽Ape_Pac1 = a->Ape_Pac
聽 聽 聽Nom_Pac1 = a->Nom_Pac
聽 聽 聽Fec_Nac1 = ctod(a->Fec_Nac)
聽 聽 聽Eda_Pac1 = a->Eda_Pac
聽 聽 聽Sex_Pac1 = a->Sex_Pac
聽 聽 聽Dir_Pac1 = a->Dir_Pac
聽 聽 聽Cod_Ciu1 = a->Cod_Ciu
聽 聽 聽Cod_Com1 = a->Cod_Com
聽 聽 聽Fon_Pac1 = a->Fon_Pac
聽 聽 聽Tip_Pag1 = a->Tip_Pag
聽 聽 聽Act_Pac1 = a->Act_Pac
聽 聽 聽Cod_Pai1 = a->Cod_Pai
聽 聽 聽Fec_ate1 = ctod(a->Fec_Ate)
聽 聽 聽Nro_Pas1 = a->Nro_Pas
聽 聽 聽Pat_Pac1 = a->Pat_Pac
聽 聽 聽Rut_Pac1 = Saca_puntos(Rut_Pac1)
聽 聽 聽*/

聽 聽 聽DEFINE FONT oFont2 NAME "TAHOMA" SIZE 0,-15 聽BOLD
聽 聽 聽DEFINE FONT oFont4 NAME 'TAHOMA' SIZE 0,20 聽 BOLD
聽 聽 聽DEFINE FONT oFont5 NAME 'TAHOMA' SIZE 0,24 聽 BOLD
聽 聽 聽DEFINE FONT oFont6 NAME "TAHOMA" SIZE 0,-14 聽BOLD
聽 聽 聽DEFINE FONT oFont10 NAME "TAHOMA" SIZE 0,-13

聽 聽 // @ 10,50 SAY otitu2 PROMPT " MAESTRO DE PACIENTES " 聽PIXEL OF oDlg2 COLORS RGB(12, 135, 27) 聽 FONT oFont4


聽 聽DEFINE DIALOG oDlg2 SIZE 680,560 PIXEL TRUEPIXEL FONT oFont2 聽STYLE 4

聽 聽 聽@ 00,150 SAY otitu PROMPT " CREA LISTA DE PACIENTES " 聽PIXEL OF oDlg2 COLORS RGB(0,100,0) 聽 FONT oFont5

聽 聽 聽@ 聽045,18 GROUP oGroup1 聽TO 208,660 PIXEL OF oDlg2

聽 聽 聽@ 030,020 SAY "Nro. Regis.: " 聽 聽 SIZE 100,20 PIXEL OF oDlg2 聽RIGHT

聽 聽 聽@ 030,140 SAY oGet4 PROMPT Nro_Cor1 聽 聽 聽 SIZE 100,22 聽PIXEL OF oDlg2 聽 聽 聽COLOR RGB(0,0,128) 聽 FONT oFont4 聽 BORDER

聽 聽@ 060,020 SAY "R.u.t." 聽 聽 聽 聽 聽 SIZE 100,20 PIXEL OF oDlg2 聽RIGHT
聽 聽 聽@ 060,180 SAY "(Ej. 99999999-9)" SIZE 200,20 PIXEL OF oDlg2 聽RIGHT FONT oFont10
聽 聽@ 090,020 SAY "Apellidos" 聽 聽 聽 聽SIZE 100,20 PIXEL OF oDlg2 聽RIGHT
聽 聽@ 120,020 SAY "Nombres" 聽 聽 聽聽 聽 SIZE 100,20 PIXEL OF oDlg2 聽RIGHT

聽 聽 聽@ 060,140 GET oGet1 聽 聽Var Rut_Pac1 聽 聽 聽 SIZE 130,22 聽PIXEL OF oDlg2 聽 聽 聽COLOR RGB(0,0,128) 聽 FONT oFont4 UPDATE

聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oGet1:bValid := <|g|
聽 聽 聽 聽 聽聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 If !Vrut(Rut_pac1)
聽 聽 聽 聽 聽聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽return .f.
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Else
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 If !Consulta_datos(Rut_Pac1,Nom_Pac1,Ape_Pac1)
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 MsgStop(" ERROR No Hay Pacientes Digitado ")
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Return .f.
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Else
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Sele a

聽 聽 聽聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Sele b
聽 聽 聽聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 DbSetOrder(1)
聽 聽 聽聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Seek Rut_Pac1
聽 聽 聽聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 If Eof()
聽 聽 聽聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 DbSetOrder(2)
聽 聽 聽聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Go Bott
聽 聽 聽聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Nro_Cor1:=Nro_Cor + 1
聽 聽 聽聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Nom_Pac1:=a->Nom_Pac
聽 聽 聽聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Ape_Pac1:=a->Ape_Pac
聽 聽 聽聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Else
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽聽 聽聽 聽 聽 聽 MsgStop(" CUIDADO Paciente YA EXISTE ")

聽 聽 聽聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Nro_Cor1:=Nro_Cor
聽 聽 聽聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Nom_Pac1:=B->Nom_Pac
聽 聽 聽聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Ape_Pac1:=B->Ape_Pac
聽 聽 聽聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Endif
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oGet2:Refresh()
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oGet3:Refresh()
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oGet4:Refresh()

聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Endif
聽 聽 聽 聽 聽聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 return .t.
聽 聽 聽 聽 聽聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 endif

聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 >

聽 聽 聽@ 090,140 GET oGet2 聽 聽Var Ape_Pac1 聽 聽 聽 SIZE 300,22 PIXEL OF oDlg2 聽 PICTURE "@!" 聽 COLOR RGB(0,0,128) 聽 FONT oFont4 UPDATE
聽 聽 聽@ 120,140 GET oGet3 聽 聽Var Nom_Pac1 聽 聽 聽 SIZE 300,22 PIXEL OF oDlg2 聽 PICTURE "@!" 聽 COLOR RGB(0,0,128) 聽 FONT oFont4 UPDATE

聽 聽 聽@ 460,500 BTNBMP SIZE 60,60 PROMPT "SALIR" 聽OF oDlg2 PIXEL 2007 Resource "#8101" 聽FONT oFont6 oGroup FLAT;
聽 聽聽聽 聽 聽 聽 聽 聽 聽 聽 ToolTip 聽"VOLVER";
聽 聽聽 聽 聽聽 聽 聽 聽 聽 聽 ACTION (oDlg2:End())

聽 聽 聽@ 460,50 BTNBMP 聽SIZE 60,60 PROMPT "MODIFI" OF oDlg2 2007 Resource "#8105" FONT oFont6 oGroup FLAT;
聽 聽聽聽 聽 聽 聽 聽 聽 聽 聽 ToolTip "MODIFICAR DATOS" ;
聽 聽聽聽 聽 聽 聽 聽 聽 聽 聽 ACTION (oGet1:SetFocus() )

聽 聽 聽@ 460,200 BTNBMP 聽SIZE 60,60 PROMPT "GRABA" OF oDlg2 2007 Resource "#8106" FONT oFont6 oGroup FLAT;
聽 聽聽聽 聽 聽 聽 聽 聽 聽 聽 ToolTip "GRABA DATOS";
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ACTION 聽IF(!Graba(Rut_Pac1,Nom_Pac1,Ape_Pac1,Nro_Cor1),(MsgInfo( "NO SE HA REALIZADO LA ACTUALIZACION" ),.F.),(oGet1:Refresh(),oGet2:Refresh(),oGet3:Refresh(),oDlg2:Refresh(),oGet1:SetFocus()))

聽 聽 聽ACTIVATE DIALOG oDlg2 CENTERED


聽 聽 聽RELEASE FONT oFont2,oFont4,oFont5
聽 聽 聽Return


Function Consulta_Datos(Rut_Pac1,Nom_Pac1,Ape_Pac1)
聽 聽 聽Rut2 = Pone_Puntos(Rut_Pac1)

聽 聽 聽Sele Maepacie

聽 聽 聽Seek Rut2
聽 聽 聽If Eof()
聽 聽 聽 聽 聽 聽 return .f.
聽 聽 聽Endif
聽 聽 聽Return .t.

Function Graba(Rut_Pac1,Nom_Pac1,Ape_Pac1,Nro_Cor1)
聽 聽 IF MsgYesNo( "Atenci贸n: 驴Est谩 Seguro de Querer GRABAR Datos ?","Ingrese Opci贸n")
聽 聽 聽 聽 聽 聽 Rut2 = Pone_Puntos(Rut_Pac1)
聽 聽 聽 聽 聽 聽 Sele a
聽 聽 聽 聽 聽 聽 Seek Rut_Pac1
聽 聽 聽 聽 聽 聽 Sele b
聽 聽 聽 聽 聽 聽 Seek Rut_Pac1
聽 聽 聽 聽 聽 聽 If !Eof()
聽 聽 聽 聽 聽 Do while .t.
聽 聽 聽 聽 聽 聽 聽If Flock()
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Repl Nom_Pac with Nom_Pac1,Ape_Pac with Ape_Pac1,Eda_Pac with a->Eda_Pac,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Fec_Nac with a->Fec_Nac,Dir_Pac with a->Dir_Pac,Sex_Pac with a->Sex_Pac,Rut_Pac2 with Rut2
聽 聽 聽 聽 聽 聽 聽 聽 聽 Dbcommit()
聽 聽 聽 聽 聽 聽 聽 聽 聽 Dbunlock()
聽 聽 聽 聽 聽 聽 聽 聽 聽 Exit
聽 聽 聽 聽 聽 聽 聽Endif
聽 聽 聽 聽 聽 Enddo
聽 聽 聽 聽 聽 聽 Else
聽 聽 聽 聽 聽 Do while .t.
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Dbappend()
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽if !neterr()
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Repl Rut_Pac with Rut_Pac1,Nom_Pac with Nom_Pac1,Ape_Pac with Ape_Pac1,Eda_Pac with a->Eda_Pac,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Fec_Nac with a->Fec_Nac,Dir_Pac with a->Dir_Pac,Sex_Pac with a->Sex_Pac,Rut_Pac2 with Rut2,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Nro_Cor with Nro_Cor1

聽 聽 聽 聽 聽 聽 聽 聽 聽 Dbcommit()
聽 聽 聽 聽 聽 聽 聽 聽 聽 Dbunlock()
聽 聽 聽 聽 聽 聽 聽 聽 聽 Exit
聽 聽 聽 聽 聽 聽 聽Endif
聽 聽 聽 聽 聽 Enddo
聽 聽 聽 聽 聽 聽 Endif
聽 聽 聽 聽 聽 聽 // Aqui inicializo las variables
聽 聽 聽 聽 聽 聽 DbSetOrder(2)
聽 聽 聽 聽 聽 聽 Go bott

聽 聽 聽 聽 聽 聽 Nro_Cor1:=Nro_Cor + 1
聽 聽 聽 聽 聽 聽 Rut_Pac1:=Spac(12)
聽 聽 聽 聽 聽 聽 Nom_Pac1:=Spac(25)
聽 聽 聽 聽 聽 聽 Ape_Pac1:=Spac(25)
聽 聽 聽 聽 聽 聽 oGet1:Refresh()
聽 聽 聽 聽 聽 聽 oGet2:Refresh()
聽 聽 聽 聽 聽 聽 oGet3:Refresh()
聽 聽 聽 聽 聽 聽 oGet4:Refresh()

聽 聽 聽 聽 聽 聽 DbSetOrder(1)

聽 聽 聽 聽 聽 聽 Return .t.
聽 聽 Endif
聽 聽 Return .f.
FWH 22.10 - HARBOUR - PELLES C
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM

Re: Favor Ayuda Urgente

Posted: Sun Oct 25, 2020 03:05 AM
Code (fw): Select all Collapse
FUNCTION Crea_Lista()

   FIELD NAME  // CAMPO DEL BD

   LOCAL oDlg2, oBrw2, oFont2, oFont4, otitu2, oFont5, oFont6, oFont10
   LOCAL oGroup, oGroup1, oGroup2

   PRIVATE  oGet1, oGet2, oGet3, oGet4 ,  oGet5, oGet6, oGet7, oGet8, oGet9, ;
            oGet10, oGet11, oGet12, oGet13, oGet14, oGet15

   PRIVATE Rut_Pac1 := Spac( 12 ) , Nom_Pac1 := Spac( 35 ), ;
           Ape_Pac1 := Spac( 35 ) , Nro_Cor1 := 1

   Abre_dbf( "maepacie", 1, .F. , "" )
   SET INDE TO maepacie

   Abre_dbf( "DetaFis", 2, .F. , "" )
   SET INDE TO DetaFis

   SELE b
   GO TOP

   IF Eof()
      Nro_Cor1 := 1
   ELSE
      DbSetOrder( 2 )
      GO BOTT
      Nro_Cor1 := Nro_Cor + 1
   ENDIF

   DEFINE FONT oFont2  NAME "TAHOMA" SIZE 0, -15 BOLD
   DEFINE FONT oFont4  NAME 'TAHOMA' SIZE 0,  20 BOLD
   DEFINE FONT oFont5  NAME 'TAHOMA' SIZE 0,  24 BOLD
   DEFINE FONT oFont6  NAME "TAHOMA" SIZE 0, -14 BOLD
   DEFINE FONT oFont10 NAME "TAHOMA" SIZE 0, -13

   DEFINE DIALOG oDlg2 SIZE 680, 560 PIXEL TRUEPIXEL FONT oFont2  STYLE 4

   @ 00, 150 SAY otitu PROMPT " CREA LISTA DE PACIENTES "  PIXEL OF oDlg2 ;
      COLORS RGB( 0, 100, 0 )   FONT oFont5

   @  045, 18 GROUP oGroup1  TO 208, 660 PIXEL OF oDlg2

   @ 030, 020 SAY "Nro. Regis.: "     SIZE 100, 20 PIXEL OF oDlg2  RIGHT

   @ 030, 140 SAY oGet4 PROMPT Nro_Cor1       SIZE 100, 22  PIXEL OF oDlg2      COLOR RGB( 0, 0, 128 )   FONT oFont4   BORDER

   @ 060, 020 SAY "R.u.t."           SIZE 100, 20 PIXEL OF oDlg2  RIGHT

   @ 060, 180 SAY "(Ej. 99999999-9)" SIZE 200, 20 PIXEL OF oDlg2  RIGHT ;
      FONT oFont10

   @ 090, 020 SAY "Apellidos"        SIZE 100, 20 PIXEL OF oDlg2  RIGHT

   @ 120, 020 SAY "Nombres"          SIZE 100, 20 PIXEL OF oDlg2  RIGHT

   @ 060, 140 GET oGet1    Var Rut_Pac1       SIZE 130, 22  PIXEL OF oDlg2      COLOR RGB( 0, 0, 128 )   FONT oFont4 UPDATE

   oGet1:bValid := < |g|

   IF .NOT. Vrut( Rut_pac1 )

      RETURN .F.

   ELSE

      IF .NOT. Consulta_datos( Rut_Pac1, Nom_Pac1, Ape_Pac1 )

         MsgStop( " ERROR No Hay Pacientes Digitado " )

         RETURN .F.

      ELSE

         SELE a

         SELE b
         DbSetOrder( 1 )

         SEEK Rut_Pac1

         IF .NOT. FOUND() // Eof()

            DbSetOrder( 2 )
            GO BOTT

            Nro_Cor1 := Nro_Cor + 1
            Nom_Pac1 := a->Nom_Pac
            Ape_Pac1 := a->Ape_Pac

         ELSE

            MsgStop( " CUIDADO Paciente YA EXISTE " )

            Nro_Cor1 := Nro_Cor
            Nom_Pac1 := B->Nom_Pac
            Ape_Pac1 := B->Ape_Pac

         ENDIF

         oGet2:Refresh()
         oGet3:Refresh()
         oGet4:Refresh()

      ENDIF
      RETURN .T.
   ENDIF
   >

   @ 090, 140 GET oGet2    Var Ape_Pac1       SIZE 300, 22 PIXEL OF oDlg2   ;
      PICTURE "@!"   COLOR RGB( 0, 0, 128 )   FONT oFont4 UPDATE

   @ 120, 140 GET oGet3    Var Nom_Pac1       SIZE 300, 22 PIXEL OF oDlg2   ;
      PICTURE "@!"   COLOR RGB( 0, 0, 128 )   FONT oFont4 UPDATE

   @ 460, 500 BTNBMP SIZE 60, 60 PROMPT "SALIR"  OF oDlg2 PIXEL 2007 ;
      Resource "#8101"  FONT oFont6 oGroup FLAT ;
      ToolTip  "VOLVER";
      ACTION ( oDlg2:End() )

   // oBtn:lCancel := .T.  // Para BTNBMP

   @ 460, 50 BTNBMP  SIZE 60, 60 PROMPT "MODIFI" OF oDlg2 2007 ;
      Resource "#8105" FONT oFont6 oGroup FLAT ;
      ToolTip "MODIFICAR DATOS" ;
      ACTION ( oGet1:SetFocus() )

   @ 460, 200 BTNBMP  SIZE 60, 60 PROMPT "GRABA" OF oDlg2 2007 ;
      Resource "#8106" FONT oFont6 oGroup FLAT ;
      ToolTip "GRABA DATOS";
      ACTION  IF( !Graba( Rut_Pac1,Nom_Pac1,Ape_Pac1,Nro_Cor1 ), ;
         ( MsgInfo( "NO SE HA REALIZADO LA ACTUALIZACION" ), .F. ), ;
         ( oGet1:Refresh(), oGet2:Refresh(), oGet3:Refresh(), oDlg2:Refresh(), ;
           oGet1:SetFocus() ) )

   ACTIVATE DIALOG oDlg2 CENTERED

   RELEASE FONT oFont2, oFont4, oFont5

RETURN NIL

FUNCTION Consulta_Datos( Rut_Pac1, Nom_Pac1, Ape_Pac1 )

   Rut2 = Pone_Puntos( Rut_Pac1 )

   SELE Maepacie

   SEEK Rut2

   IF .NOT. FOUND() // Eof()
      RETURN .F.
   ENDIF

RETURN .T.

FUNCTION Graba( Rut_Pac1, Nom_Pac1, Ape_Pac1, Nro_Cor1 )

   IF MsgYesNo( "Atenci贸n: 驴Est谩 Seguro de Querer GRABAR Datos ?", "Ingrese Opci贸n" )

      Rut2 = Pone_Puntos( Rut_Pac1 )

      SELE a
      SEEK Rut_Pac1

      SELE b
      SEEK Rut_Pac1

      IF FOUND() //!Eof()

         /*
         WHILE( .T. )  //?? Porque un looping aqui?

            SYSREFRESH()
         */

            IF Flock()

               // NO COMPRENDO QUE ES ESTE _ WITH ::
               REPL Nom_Pac WITH Nom_Pac1, Ape_Pac WITH Ape_Pac1, ;
                    Eda_Pac WITH a->Eda_Pac, ;
                    Fec_Nac WITH a->Fec_Nac, Dir_Pac WITH a->Dir_Pac, _ WITH a->_, Rut_Pac2 WITH Rut2

               Dbcommit()
               Dbunlock()



              // EXIT

            ENDIF

         // ENDDO  //?? ES SOLO 1 REGISTRO? SE NO, Y EL SKIP?

      ELSE

         // DO WHILE .T. //?? porque un looping aqui?
         //    SYSREFRESH()

            Dbappend()  // APPEND BLANC

            IF .NOT. neterr()

               // ???
               REPL Rut_Pac WITH Rut_Pac1, Nom_Pac WITH Nom_Pac1, Ape_Pac WITH Ape_Pac1, Eda_Pac WITH a->Eda_Pac, ;
                  Fec_Nac WITH a->Fec_Nac, Dir_Pac WITH a->Dir_Pac, _ WITH a->_, Rut_Pac2 WITH Rut2, ;
                  Nro_Cor WITH Nro_Cor1

               Dbcommit()
               Dbunlock()

               // EXIT

            ENDIF

         // ENDDO

      ENDIF

      // Aqui inicializo las variables
      DbSetOrder( 2 )
      GO BOTT

      Nro_Cor1 := Nro_Cor + 1
      Rut_Pac1 := Spac( 12 )
      Nom_Pac1 := Spac( 25 )
      Ape_Pac1 := Spac( 25 )

      // oGet1:VARPUT( Variable )
      oGet1:Refresh()

      // oGet2:VARPUT( Variable )
      oGet2:Refresh()

      // oGet3:VARPUT( Variable )
      oGet3:Refresh()

      // oGet4:VARPUT( Variable )
      oGet4:Refresh()

      DbSetOrder( 1 )

      RETURN( .T. )

   ENDIF

RETURN( .F. )
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 719
Joined: Fri May 12, 2017 02:50 PM

Re: Favor Ayuda Urgente

Posted: Sun Oct 25, 2020 04:41 PM

Hola Karinha.

Muy agradecido por tu ayuda y atenci贸n, siempre estas dispuesto a ayudar.

Funciono Perfecto.

Una duda sobre las modificaciones, Eof() y ! como negaci贸n, siempre me a funcionado y les he usado desde clipper, en Fivewin funcionan mejor tus cambios?

Muchos Saludos

Antonio.

FWH 22.10 - HARBOUR - PELLES C
Posts: 400
Joined: Fri May 11, 2007 08:20 PM

Re: Favor Ayuda Urgente

Posted: Sun Oct 25, 2020 07:39 PM
Hola remtec con ! y dbseek() tambien deberia de funcionar
Code (fw): Select all Collapse
FUNCTION Crea_Lista()

聽 聽FIELD NAME 聽// CAMPO DEL BD

聽 聽LOCAL oDlg2, oBrw2, oFont2, oFont4, otitu2, oFont5, oFont6, oFont10
聽 聽LOCAL oGroup, oGroup1, oGroup2

聽 聽PRIVATE 聽oGet1, oGet2, oGet3, oGet4 , 聽oGet5, oGet6, oGet7, oGet8, oGet9, ;
聽 聽 聽 聽 聽 聽 oGet10, oGet11, oGet12, oGet13, oGet14, oGet15

聽 聽PRIVATE Rut_Pac1 := Spac( 12 ) , Nom_Pac1 := Spac( 35 ), ;
聽 聽 聽 聽 聽 聽Ape_Pac1 := Spac( 35 ) , Nro_Cor1 := 1

聽 聽Abre_dbf( "maepacie", 1, .F. , "" )
聽 聽SET INDE TO maepacie

聽 聽Abre_dbf( "DetaFis", 2, .F. , "" )
聽 聽SET INDE TO DetaFis

聽 聽SELE b
聽 聽GO TOP

聽 聽IF Eof()
聽 聽 聽 Nro_Cor1 := 1
聽 聽ELSE
聽 聽 聽 DbSetOrder( 2 )
聽 聽 聽 GO BOTT
聽 聽 聽 Nro_Cor1 := Nro_Cor + 1
聽 聽ENDIF

聽 聽DEFINE FONT oFont2 聽NAME "TAHOMA" SIZE 0, -15 BOLD
聽 聽DEFINE FONT oFont4 聽NAME 'TAHOMA' SIZE 0, 聽20 BOLD
聽 聽DEFINE FONT oFont5 聽NAME 'TAHOMA' SIZE 0, 聽24 BOLD
聽 聽DEFINE FONT oFont6 聽NAME "TAHOMA" SIZE 0, -14 BOLD
聽 聽DEFINE FONT oFont10 NAME "TAHOMA" SIZE 0, -13

聽 聽DEFINE DIALOG oDlg2 SIZE 680, 560 PIXEL TRUEPIXEL FONT oFont2 聽STYLE 4

聽 聽@ 00, 150 SAY otitu PROMPT " CREA LISTA DE PACIENTES " 聽PIXEL OF oDlg2 ;
聽 聽 聽 COLORS RGB( 0, 100, 0 ) 聽 FONT oFont5

聽 聽@ 聽045, 18 GROUP oGroup1 聽TO 208, 660 PIXEL OF oDlg2

聽 聽@ 030, 020 SAY "Nro. Regis.: " 聽 聽 SIZE 100, 20 PIXEL OF oDlg2 聽RIGHT

聽 聽@ 030, 140 SAY oGet4 PROMPT Nro_Cor1 聽 聽 聽 SIZE 100, 22 聽PIXEL OF oDlg2 聽 聽 聽COLOR RGB( 0, 0, 128 ) 聽 FONT oFont4 聽 BORDER

聽 聽@ 060, 020 SAY "R.u.t." 聽 聽 聽 聽 聽 SIZE 100, 20 PIXEL OF oDlg2 聽RIGHT

聽 聽@ 060, 180 SAY "(Ej. 99999999-9)" SIZE 200, 20 PIXEL OF oDlg2 聽RIGHT ;
聽 聽 聽 FONT oFont10

聽 聽@ 090, 020 SAY "Apellidos" 聽 聽 聽 聽SIZE 100, 20 PIXEL OF oDlg2 聽RIGHT

聽 聽@ 120, 020 SAY "Nombres" 聽 聽 聽 聽 聽SIZE 100, 20 PIXEL OF oDlg2 聽RIGHT

聽 聽@ 060, 140 GET oGet1 聽 聽Var Rut_Pac1 聽 聽 聽 SIZE 130, 22 聽PIXEL OF oDlg2 聽 聽 聽COLOR RGB( 0, 0, 128 ) 聽 FONT oFont4 UPDATE

聽 聽oGet1:bValid := < |g|

聽 聽//IF .NOT. Vrut( Rut_pac1 )
聽 聽IF !vrut( Rut_pac1 )

聽 聽 聽 RETURN .F.

聽 聽ELSE

聽 聽 聽 //IF .NOT. Consulta_datos( Rut_Pac1, Nom_Pac1, Ape_Pac1 )
聽 聽 聽 IF !Consulta_datos( Rut_Pac1, Nom_Pac1, Ape_Pac1 )
聽 聽 聽 

聽 聽 聽 聽 聽MsgStop( " ERROR No Hay Pacientes Digitado " )

聽 聽 聽 聽 聽RETURN .F.

聽 聽 聽 ELSE

聽 聽 聽 聽 聽SELE a

聽 聽 聽 聽 聽SELE b
聽 聽 聽 聽 聽DbSetOrder( 1 )

聽 聽 聽 聽 聽if !dbSEEK (Rut_Pac1)

聽 聽 聽 聽 聽//IF .NOT. FOUND() // Eof()

聽 聽 聽 聽 聽 聽 DbSetOrder( 2 )
聽 聽 聽 聽 聽 聽 GO BOTT

聽 聽 聽 聽 聽 聽 Nro_Cor1 := Nro_Cor + 1
聽 聽 聽 聽 聽 聽 Nom_Pac1 := a->Nom_Pac
聽 聽 聽 聽 聽 聽 Ape_Pac1 := a->Ape_Pac

聽 聽 聽 聽 聽ELSE

聽 聽 聽 聽 聽 聽 MsgStop( " CUIDADO Paciente YA EXISTE " )

聽 聽 聽 聽 聽 聽 Nro_Cor1 := Nro_Cor
聽 聽 聽 聽 聽 聽 Nom_Pac1 := B->Nom_Pac
聽 聽 聽 聽 聽 聽 Ape_Pac1 := B->Ape_Pac

聽 聽 聽 聽 聽ENDIF

聽 聽 聽 聽 聽oGet2:Refresh()
聽 聽 聽 聽 聽oGet3:Refresh()
聽 聽 聽 聽 聽oGet4:Refresh()

聽 聽 聽 ENDIF
聽 聽 聽 RETURN .T.
聽 聽ENDIF
聽 聽>

聽 聽@ 090, 140 GET oGet2 聽 聽Var Ape_Pac1 聽 聽 聽 SIZE 300, 22 PIXEL OF oDlg2 聽 ;
聽 聽 聽 PICTURE "@!" 聽 COLOR RGB( 0, 0, 128 ) 聽 FONT oFont4 UPDATE

聽 聽@ 120, 140 GET oGet3 聽 聽Var Nom_Pac1 聽 聽 聽 SIZE 300, 22 PIXEL OF oDlg2 聽 ;
聽 聽 聽 PICTURE "@!" 聽 COLOR RGB( 0, 0, 128 ) 聽 FONT oFont4 UPDATE

聽 聽@ 460, 500 BTNBMP SIZE 60, 60 PROMPT "SALIR" 聽OF oDlg2 PIXEL 2007 ;
聽 聽 聽 Resource "#8101" 聽FONT oFont6 oGroup FLAT ;
聽 聽 聽 ToolTip 聽"VOLVER";
聽 聽 聽 ACTION ( oDlg2:End() )

聽 聽// oBtn:lCancel := .T. 聽// Para BTNBMP

聽 聽@ 460, 50 BTNBMP 聽SIZE 60, 60 PROMPT "MODIFI" OF oDlg2 2007 ;
聽 聽 聽 Resource "#8105" FONT oFont6 oGroup FLAT ;
聽 聽 聽 ToolTip "MODIFICAR DATOS" ;
聽 聽 聽 ACTION ( oGet1:SetFocus() )

聽 聽@ 460, 200 BTNBMP 聽SIZE 60, 60 PROMPT "GRABA" OF oDlg2 2007 ;
聽 聽 聽 Resource "#8106" FONT oFont6 oGroup FLAT ;
聽 聽 聽 ToolTip "GRABA DATOS";
聽 聽 聽 ACTION 聽IF( !Graba( Rut_Pac1,Nom_Pac1,Ape_Pac1,Nro_Cor1 ), ;
聽 聽 聽 聽 聽( MsgInfo( "NO SE HA REALIZADO LA ACTUALIZACION" ), .F. ), ;
聽 聽 聽 聽 聽( oGet1:Refresh(), oGet2:Refresh(), oGet3:Refresh(), oDlg2:Refresh(), ;
聽 聽 聽 聽 聽 聽oGet1:SetFocus() ) )

聽 聽ACTIVATE DIALOG oDlg2 CENTERED

聽 聽RELEASE FONT oFont2, oFont4, oFont5

RETURN NIL

FUNCTION Consulta_Datos( Rut_Pac1, Nom_Pac1, Ape_Pac1 )

聽 聽Rut2 = Pone_Puntos( Rut_Pac1 )

聽 聽SELE Maepacie

聽 聽if !dbSEEK(Rut2)

聽 聽//IF .NOT. FOUND() // Eof()
聽 聽 聽 RETURN .F.
聽 聽ENDIF

RETURN .T.

FUNCTION Graba( Rut_Pac1, Nom_Pac1, Ape_Pac1, Nro_Cor1 )

聽 聽IF MsgYesNo( "Atenci贸n: 驴Est谩 Seguro de Querer GRABAR Datos ?", "Ingrese Opci贸n" )

聽 聽 聽 Rut2 = Pone_Puntos( Rut_Pac1 )

聽 聽 聽 SELE a
聽 聽 聽 SEEK Rut_Pac1

聽 聽 聽 SELE b
聽 聽 聽 if dbSEEK(Rut_Pac1)

聽 聽 聽 //IF FOUND() //!Eof()

聽 聽 聽 聽 聽/*
聽 聽 聽 聽 聽WHILE( .T. ) 聽//?? Porque un looping aqui?

聽 聽 聽 聽 聽 聽 SYSREFRESH()
聽 聽 聽 聽 聽*/

聽 聽 聽 聽 聽 聽 IF Flock()

聽 聽 聽 聽 聽 聽 聽 聽// NO COMPRENDO QUE ES ESTE _ WITH ::
聽 聽 聽 聽 聽 聽 聽 聽REPL Nom_Pac WITH Nom_Pac1, Ape_Pac WITH Ape_Pac1, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Eda_Pac WITH a->Eda_Pac, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Fec_Nac WITH a->Fec_Nac, Dir_Pac WITH a->Dir_Pac, _ WITH a->_, Rut_Pac2 WITH Rut2

聽 聽 聽 聽 聽 聽 聽 聽Dbcommit()
聽 聽 聽 聽 聽 聽 聽 聽Dbunlock()



聽 聽 聽 聽 聽 聽 聽 // EXIT

聽 聽 聽 聽 聽 聽 ENDIF

聽 聽 聽 聽 聽// ENDDO 聽//?? ES SOLO 1 REGISTRO? SE NO, Y EL SKIP?

聽 聽 聽 ELSE

聽 聽 聽 聽 聽// DO WHILE .T. //?? porque un looping aqui?
聽 聽 聽 聽 聽// 聽 聽SYSREFRESH()

聽 聽 聽 聽 聽 聽 Dbappend() 聽// APPEND BLANC

聽 聽 聽 聽 聽 聽 IF .NOT. neterr()

聽 聽 聽 聽 聽 聽 聽 聽// ???
聽 聽 聽 聽 聽 聽 聽 聽REPL Rut_Pac WITH Rut_Pac1, Nom_Pac WITH Nom_Pac1, Ape_Pac WITH Ape_Pac1, Eda_Pac WITH a->Eda_Pac, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 Fec_Nac WITH a->Fec_Nac, Dir_Pac WITH a->Dir_Pac, _ WITH a->_, Rut_Pac2 WITH Rut2, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 Nro_Cor WITH Nro_Cor1

聽 聽 聽 聽 聽 聽 聽 聽Dbcommit()
聽 聽 聽 聽 聽 聽 聽 聽Dbunlock()

聽 聽 聽 聽 聽 聽 聽 聽// EXIT

聽 聽 聽 聽 聽 聽 ENDIF

聽 聽 聽 聽 聽// ENDDO

聽 聽 聽 ENDIF

聽 聽 聽 // Aqui inicializo las variables
聽 聽 聽 DbSetOrder( 2 )
聽 聽 聽 GO BOTT

聽 聽 聽 Nro_Cor1 := Nro_Cor + 1
聽 聽 聽 Rut_Pac1 := Spac( 12 )
聽 聽 聽 Nom_Pac1 := Spac( 25 )
聽 聽 聽 Ape_Pac1 := Spac( 25 )

聽 聽 聽 // oGet1:VARPUT( Variable )
聽 聽 聽 oGet1:Refresh()

聽 聽 聽 // oGet2:VARPUT( Variable )
聽 聽 聽 oGet2:Refresh()

聽 聽 聽 // oGet3:VARPUT( Variable )
聽 聽 聽 oGet3:Refresh()

聽 聽 聽 // oGet4:VARPUT( Variable )
聽 聽 聽 oGet4:Refresh()

聽 聽 聽 DbSetOrder( 1 )

聽 聽 聽 RETURN( .T. )

聽 聽ENDIF

RETURN( .F. )
fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM

Re: Favor Ayuda Urgente

Posted: Mon Oct 26, 2020 12:06 PM

Buenos, RemTec, en RED, EOF() puede fallar, 茅s mejor usar el poder del nuevo compilador xHarbour, usando FOUND(). Saludos.

Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341

Continue the discussion