In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

delete funcina mal en 1.3b

Foro de Xailer profesional en español
Responder
PILO
Mensajes: 583
Registrado: Vie Jul 06, 2007 5:18 pm

delete funcina mal en 1.3b

Mensaje por PILO »

Hola en comando delete de tdbdataset y la funcion set delete on
no pasa al siguiente registro, y si pongo despues skip() salta uno
en la version 1.3b
Puede combrobar si funciona bien, en la 1.2b me saltaba un registro.
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9457
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

delete funcina mal en 1.3b

Mensaje por ignacio »

Pilo.
Tienes razón. Te adjunto el módulo corregido.
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"PILO" <srmpilo@hotmail.com> escribió en el mensaje
news:460ba872$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Hola en comando delete de tdbdataset y la funcion set delete on
> no pasa al siguiente registro, y si pongo despues skip() salta uno
> en la version 1.3b
> Puede combrobar si funciona bien, en la 1.2b me saltaba un registro.
>
>


Attached files DbfDataSet.rar (12.7 KB)Â
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
PILO
Mensajes: 583
Registrado: Vie Jul 06, 2007 5:18 pm

delete funcina mal en 1.3b

Mensaje por PILO »

cuando utilizo el delete entre un while y voy borrando los registros
que estan dentro se queda en el primero y no va al siguiente
con el modulo obj sigue igual
PILO
Mensajes: 583
Registrado: Vie Jul 06, 2007 5:18 pm

delete funcina mal en 1.3b

Mensaje por PILO »

Hola ignacio como te he dicho en lo anterior no pasa al siguiente
mi ejemplo e el siguiente por si esto esta mal
with object ::oDbfEntraBaja
:gotop()
do while !:EOF()
NN_OFI := :BAN_OFI
WITH OBJECT ::oDbfDatosAnimal
IF :SEEK( NN_OFI )
:DELETE() // este funciona bien
END IF
end with
:DELETE() // Este funciona mal, no pasa al siguiente registro en el mani() del programa esta set delete on
end while
end with
Para si te sirve de informacion
--
PILO
Mensajes: 583
Registrado: Vie Jul 06, 2007 5:18 pm

delete funcina mal en 1.3b

Mensaje por PILO »

Poniendo el set deleted on de nuevo antes del eof()
me funciona bien,
Como lo tendria que poner al principio del programa para que sirva para todos
"PILO" <srmpilo@hotmail.com> escribió en el mensaje news:460bdc8f$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
Hola ignacio como te he dicho en lo anterior no pasa al siguiente
mi ejemplo e el siguiente por si esto esta mal
with object ::oDbfEntraBaja
:gotop()
do while !:EOF()
NN_OFI := :BAN_OFI
WITH OBJECT ::oDbfDatosAnimal
IF :SEEK( NN_OFI )
:DELETE() // este funciona bien
END IF
end with
:DELETE() // Este funciona mal, no pasa al siguiente registro en el mani() del programa esta set delete on
end while
end with
Para si te sirve de informacion
--
miguel
Mensajes: 364
Registrado: Jue Jul 02, 2009 1:09 pm

delete funcina mal en 1.3b

Mensaje por miguel »

Yo lo tengo de esta manera:
Procedure Main()
REQUEST HB_LANG_ES // para mensajes
HB_LANGSELECT( "ES" )
REQUEST HB_CODEPAGE_ESMWIN // para ordenación de indices
HB_SetCodePage( "ESMWIN" )
set date format to "dd/mm/yyyy"
set epoch to 1980
set deleted on
SET DECIMALS TO 2
Application:cTitle := "Titulo de la Aplicación"
TPrincipal():New( Application ):Show()
Application:Run()
Return
Saludos. Miguel A. Torrellas
PILO escribió:
> Poniendo el set deleted on de nuevo antes del eof()
> me funciona bien,
> Como lo tendria que poner al principio del programa para que sirva para
> todos
>
>
> "PILO" <srmpilo@hotmail.com <mailto:srmpilo@hotmail.com>> escribió
> en el mensaje news:460bdc8f$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Hola ignacio como te he dicho en lo anterior no pasa al siguiente
> mi ejemplo e el siguiente por si esto esta mal
>
> with object ::oDbfEntraBaja
> :gotop()
> do while !:EOF()
> NN_OFI := :BAN_OFI
> WITH OBJECT ::oDbfDatosAnimal
> IF :SEEK( NN_OFI )
> :DELETE() // este funciona bien
> END IF
> end with
> :DELETE() // Este funciona mal, no pasa al siguiente
> registro en el mani() del programa esta set delete on
> end while
> end with
> Para si te sirve de informacion
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9457
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

delete funcina mal en 1.3b

Mensaje por ignacio »

Pilo,
Con SET DELETED ON deberí­a hacerte el SKIP, está comprobado. Asegurate de que estas linkado el módulo OBJ y si sigue sin funcionar intenta actualizar la librerí­a Xailer.lib con dicho módulo. Sino sabes hacerlo te preparo una Xailer.lib nueva.
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"PILO" <srmpilo@hotmail.com> escribió en el mensaje news:[email=460be0f2@ozsrv2.ozlan.local...]460be0f2@ozsrv2.ozlan.local...[/email]
Poniendo el set deleted on de nuevo antes del eof()
me funciona bien,
Como lo tendria que poner al principio del programa para que sirva para todos
"PILO" <srmpilo@hotmail.com> escribió en el mensaje news:460bdc8f$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
Hola ignacio como te he dicho en lo anterior no pasa al siguiente
mi ejemplo e el siguiente por si esto esta mal
with object ::oDbfEntraBaja
:gotop()
do while !:EOF()
NN_OFI := :BAN_OFI
WITH OBJECT ::oDbfDatosAnimal
IF :SEEK( NN_OFI )
:DELETE() // este funciona bien
END IF
end with
:DELETE() // Este funciona mal, no pasa al siguiente registro en el mani() del programa esta set delete on
end while
end with
Para si te sirve de informacion
--
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
PILO
Mensajes: 583
Registrado: Vie Jul 06, 2007 5:18 pm

delete funcina mal en 1.3b

Mensaje por PILO »


Con SET DELETED ON deberí­a hacerte el SKIP, está comprobado. Asegurate de que estas linkado el módulo OBJ y si sigue sin funcionar intenta actualizar la librerí­a Xailer.lib con dicho módulo. Sino sabes hacerlo te preparo una Xailer.lib nueva.
SET DELETED ON //PONGO AGUI Y ESTO FUNCIONA, TAMBIEN HE PUESTO SET DELETED EN EL MAIN() DEL PROGRAMA
with object ::oDbfEntraBaja
:gotop()
do while !:EOF()
NN_OFI := :BAN_OFI
WITH OBJECT ::oDbfDatosAnimal
IF :SEEK( NN_OFI )
:DELETE() END IF
end with
:DELETE()
end while
end with
En este ejemplo de tres registro por ejemplo, se borra el primero pero cuando hace el delete en vez de pasarse al se gundo registro, se pasa al tercero y me deja sin borrar el segundo, para poder hacerlo bien he hecho lo siguiente:
do while !:EOF()
NN_OFI := :BAN_OFI
WITH OBJECT ::oDbfDatosAnimal
IF :SEEK( NN_OFI )
:DELETE() END IF
end with
:DELETE()
:gotop()
end while
end with
¿Se puede corregir esto?
Para si te sirve de informacion
--
PILO
Mensajes: 583
Registrado: Vie Jul 06, 2007 5:18 pm

delete funcina mal en 1.3b

Mensaje por PILO »

Asi lo tengo puesto, Gracias
"Miguel A. Torrellas" <miguel@torrellas.net> escribió en el mensaje
news:460be24c$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Yo lo tengo de esta manera:
>
> Procedure Main()
> REQUEST HB_LANG_ES // para mensajes
> HB_LANGSELECT( "ES" )
>
> REQUEST HB_CODEPAGE_ESMWIN // para ordenación de indices
> HB_SetCodePage( "ESMWIN" )
>
> set date format to "dd/mm/yyyy"
> set epoch to 1980
> set deleted on
> SET DECIMALS TO 2
>
> Application:cTitle := "Titulo de la Aplicación"
> TPrincipal():New( Application ):Show()
> Application:Run()
>
> Return
>
> Saludos. Miguel A. Torrellas
>
> PILO escribió:
>> Poniendo el set deleted on de nuevo antes del eof()
>> me funciona bien,
>> Como lo tendria que poner al principio del programa para que sirva para
>> todos
>> "PILO" <srmpilo@hotmail.com <mailto:srmpilo@hotmail.com>> escribió
>> en el mensaje news:460bdc8f$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>> Hola ignacio como te he dicho en lo anterior no pasa al siguiente
>> mi ejemplo e el siguiente por si esto esta mal
>> with object ::oDbfEntraBaja
>> :gotop()
>> do while !:EOF()
>> NN_OFI := :BAN_OFI
>> WITH OBJECT ::oDbfDatosAnimal
>> IF :SEEK( NN_OFI )
>> :DELETE() // este funciona bien
>> END IF
>> end with
>> :DELETE() // Este funciona mal, no pasa al siguiente
>> registro en el mani() del programa esta set delete on
>> end while
>> end with
>> Para si te sirve de informacion
PILO
Mensajes: 583
Registrado: Vie Jul 06, 2007 5:18 pm

delete funcina mal en 1.3b

Mensaje por PILO »

Puedes Explicar como se añade a la lib
Gracias
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje news:460cc355$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
Pilo,
Con SET DELETED ON deberí­a hacerte el SKIP, está comprobado. Asegurate de que estas linkado el módulo OBJ y si sigue sin funcionar intenta actualizar la librerí­a Xailer.lib con dicho módulo. Sino sabes hacerlo te preparo una Xailer.lib nueva.
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"PILO" <srmpilo@hotmail.com> escribió en el mensaje news:[email=460be0f2@ozsrv2.ozlan.local...]460be0f2@ozsrv2.ozlan.local...[/email]
Poniendo el set deleted on de nuevo antes del eof()
me funciona bien,
Como lo tendria que poner al principio del programa para que sirva para todos
"PILO" <srmpilo@hotmail.com> escribió en el mensaje news:460bdc8f$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
Hola ignacio como te he dicho en lo anterior no pasa al siguiente
mi ejemplo e el siguiente por si esto esta mal
with object ::oDbfEntraBaja
:gotop()
do while !:EOF()
NN_OFI := :BAN_OFI
WITH OBJECT ::oDbfDatosAnimal
IF :SEEK( NN_OFI )
:DELETE() // este funciona bien
END IF
end with
:DELETE() // Este funciona mal, no pasa al siguiente registro en el mani() del programa esta set delete on
end while
end with
Para si te sirve de informacion
--
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9457
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

delete funcina mal en 1.3b

Mensaje por ignacio »

TLIB LibName -+ Modulo
Saludos
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"PILO" <srmpilo@hotmail.com> escribió en el mensaje news:460cc8dc$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
Puedes Explicar como se añade a la lib
Gracias
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje news:460cc355$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
Pilo,
Con SET DELETED ON deberí­a hacerte el SKIP, está comprobado. Asegurate de que estas linkado el módulo OBJ y si sigue sin funcionar intenta actualizar la librerí­a Xailer.lib con dicho módulo. Sino sabes hacerlo te preparo una Xailer.lib nueva.
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"PILO" <srmpilo@hotmail.com> escribió en el mensaje news:[email=460be0f2@ozsrv2.ozlan.local...]460be0f2@ozsrv2.ozlan.local...[/email]
Poniendo el set deleted on de nuevo antes del eof()
me funciona bien,
Como lo tendria que poner al principio del programa para que sirva para todos
"PILO" <srmpilo@hotmail.com> escribió en el mensaje news:460bdc8f$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
Hola ignacio como te he dicho en lo anterior no pasa al siguiente
mi ejemplo e el siguiente por si esto esta mal
with object ::oDbfEntraBaja
:gotop()
do while !:EOF()
NN_OFI := :BAN_OFI
WITH OBJECT ::oDbfDatosAnimal
IF :SEEK( NN_OFI )
:DELETE() // este funciona bien
END IF
end with
:DELETE() // Este funciona mal, no pasa al siguiente registro en el mani() del programa esta set delete on
end while
end with
Para si te sirve de informacion
--
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

delete funcina mal en 1.3b

Mensaje por Xevi »

PILO,
Si guardas el fichero obj en la carpeta Lib de Xailer...
C:XailerBorlandbcc55bintlib xailer -+DbfDataSet
Si tienes el fichero obj en otra carpeta...
C:XailerBorlandbcc55bintlib
C:XailerLibxailer -+CarpetaOBJDbfDataSet
Un Saludo,
Xevi.
"PILO" <srmpilo@hotmail.com> escribió en el mensaje
news:460cc8dc$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
Puedes Explicar como se añade a la lib
Gracias
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:460cc355$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
Pilo,
Con SET DELETED ON debería hacerte el SKIP, está comprobado. Asegurate de
que estas linkado el módulo OBJ y si sigue sin funcionar intenta actualizar
la librería Xailer.lib con dicho módulo. Sino sabes hacerlo te preparo una
Xailer.lib nueva.
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"PILO" <srmpilo@hotmail.com> escribió en el mensaje
news:[email=460be0f2@ozsrv2.ozlan.local...]460be0f2@ozsrv2.ozlan.local...[/email]
Poniendo el set deleted on de nuevo antes del eof()
me funciona bien,
Como lo tendria que poner al principio del programa para que sirva para
todos
"PILO" <srmpilo@hotmail.com> escribió en el mensaje
news:460bdc8f$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
Hola ignacio como te he dicho en lo anterior no pasa al siguiente
mi ejemplo e el siguiente por si esto esta mal
with object ::oDbfEntraBaja
:gotop()
do while !:EOF()
NN_OFI := :BAN_OFI
WITH OBJECT ::oDbfDatosAnimal
IF :SEEK( NN_OFI )
:DELETE() // este funciona bien
END IF
end with
:DELETE() // Este funciona mal, no pasa al siguiente
registro en el mani() del programa esta set delete on
end while
end with
Para si te sirve de informacion
PILO
Mensajes: 583
Registrado: Vie Jul 06, 2007 5:18 pm

delete funcina mal en 1.3b

Mensaje por PILO »

Me puedes dar una respuesta ha este error
"PILO" <srmpilo@hotmail.com> escribió en el mensaje news:[email=460cc7be@ozsrv2.ozlan.local...]460cc7be@ozsrv2.ozlan.local...[/email]
Con SET DELETED ON deberí­a hacerte el SKIP, está comprobado. Asegurate de que estas linkado el módulo OBJ y si sigue sin funcionar intenta actualizar la librerí­a Xailer.lib con dicho módulo. Sino sabes hacerlo te preparo una Xailer.lib nueva.
SET DELETED ON //PONGO AGUI Y ESTO FUNCIONA, TAMBIEN HE PUESTO SET DELETED EN EL MAIN() DEL PROGRAMA
with object ::oDbfEntraBaja
:gotop()
do while !:EOF()
NN_OFI := :BAN_OFI
WITH OBJECT ::oDbfDatosAnimal
IF :SEEK( NN_OFI )
:DELETE() END IF
end with
:DELETE()
end while
end with
En este ejemplo de tres registro por ejemplo, se borra el primero pero cuando hace el delete en vez de pasarse al se gundo registro, se pasa al tercero y me deja sin borrar el segundo, para poder hacerlo bien he hecho lo siguiente:
do while !:EOF()
NN_OFI := :BAN_OFI
WITH OBJECT ::oDbfDatosAnimal
IF :SEEK( NN_OFI )
:DELETE() END IF
end with
:DELETE()
:gotop()
end while
end with
¿Se puede corregir esto?
Para si te sirve de informacion
--
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9457
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

delete funcina mal en 1.3b

Mensaje por ignacio »

Pilo,
DO WHILE :SEEK( NN_OFI )
:DELETE()
ENDDO
Saludos
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"PILO" <srmpilo@hotmail.com> escribió en el mensaje news:460cd798$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
Me puedes dar una respuesta ha este error
"PILO" <srmpilo@hotmail.com> escribió en el mensaje news:[email=460cc7be@ozsrv2.ozlan.local...]460cc7be@ozsrv2.ozlan.local...[/email]
Con SET DELETED ON deberí­a hacerte el SKIP, está comprobado. Asegurate de que estas linkado el módulo OBJ y si sigue sin funcionar intenta actualizar la librerí­a Xailer.lib con dicho módulo. Sino sabes hacerlo te preparo una Xailer.lib nueva.
SET DELETED ON //PONGO AGUI Y ESTO FUNCIONA, TAMBIEN HE PUESTO SET DELETED EN EL MAIN() DEL PROGRAMA
with object ::oDbfEntraBaja
:gotop()
do while !:EOF()
NN_OFI := :BAN_OFI
WITH OBJECT ::oDbfDatosAnimal
IF :SEEK( NN_OFI )
:DELETE() END IF
end with
:DELETE()
end while
end with
En este ejemplo de tres registro por ejemplo, se borra el primero pero cuando hace el delete en vez de pasarse al se gundo registro, se pasa al tercero y me deja sin borrar el segundo, para poder hacerlo bien he hecho lo siguiente:
do while !:EOF()
NN_OFI := :BAN_OFI
WITH OBJECT ::oDbfDatosAnimal
IF :SEEK( NN_OFI )
:DELETE() END IF
end with
:DELETE()
:gotop()
end while
end with
¿Se puede corregir esto?
Para si te sirve de informacion
--
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
PILO
Mensajes: 583
Registrado: Vie Jul 06, 2007 5:18 pm

delete funcina mal en 1.3b

Mensaje por PILO »

Ignacio, sigue dando este error
SET DELETED ON //PONGO AGUI Y ESTO FUNCIONA, TAMBIEN HE PUESTO SET DELETED EN EL MAIN() DEL PROGRAMA
with object ::oDbfEntraBaja
:gotop()
do while !:EOF()
:DELETE()
end while
end with
En este ejemplo de tres registro por ejemplo, se borra el primero pero cuando hace el delete en vez de pasarse al se gundo registro, se pasa al tercero y me deja sin borrar el segundo, para poder hacerlo bien he hecho lo siguiente:
do while !:EOF()
NN_OFI := :BAN_OFI
WITH OBJECT ::oDbfDatosAnimal
:DELETE()
:gotop()
end while
end with
Esta parte hace lo que yo quiero cuando borro el registro se va al siguiente no del borrado sino de que queda
sin borrar, por lo tanto salta 1 registros y con esta opcion consigo que se vaya al primero que queda y así­ me borra
todo los registros, es normal esto
¿Se puede corregir esto?
Para si te sirve de informacion
--
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9457
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

delete funcina mal en 1.3b

Mensaje por ignacio »

Pilo,
Manda un ejemplo. Gracias
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"PILO" <srmpilo@hotmail.com> escribió en el mensaje news:460d0a97$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
Ignacio, sigue dando este error
SET DELETED ON //PONGO AGUI Y ESTO FUNCIONA, TAMBIEN HE PUESTO SET DELETED EN EL MAIN() DEL PROGRAMA
with object ::oDbfEntraBaja
:gotop()
do while !:EOF()
:DELETE()
end while
end with
En este ejemplo de tres registro por ejemplo, se borra el primero pero cuando hace el delete en vez de pasarse al se gundo registro, se pasa al tercero y me deja sin borrar el segundo, para poder hacerlo bien he hecho lo siguiente:
do while !:EOF()
NN_OFI := :BAN_OFI
WITH OBJECT ::oDbfDatosAnimal
:DELETE()
:gotop()
end while
end with
Esta parte hace lo que yo quiero cuando borro el registro se va al siguiente no del borrado sino de que queda
sin borrar, por lo tanto salta 1 registros y con esta opcion consigo que se vaya al primero que queda y así­ me borra
todo los registros, es normal esto
¿Se puede corregir esto?
Para si te sirve de informacion
--
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder