Page 2 of 3

Re: Prometheus 2000 no arranca en Windows 10

PostPosted: Sun Apr 10, 2016 9:10 am
by Manuel Aranda
Pues sí. Lo ideal sería poder obtener todo el código y recompilar para que funcione en win7 y win10

Re: Prometheus 2000 no arranca en Windows 10

PostPosted: Sun Apr 10, 2016 10:43 am
by Antonio Linares
Manuel,

Ya he implementado un primer prototipo de "Reemplazo global" en FiveDBU

Aun no está terminado pero se pueden ir haciendo pruebas y asi lo afinamos :-)

Te animas a probarlo ?

Image

Re: Prometheus 2000 no arranca en Windows 10

PostPosted: Sun Apr 10, 2016 11:06 am
by Antonio Linares
Aqui está:

https://bitbucket.org/fivetech/fivewin-contributions/downloads/fivedbu_20160410.zip

Atención: la funcionalidad "Reemplazo global" está en desarrollo y puede dañar definitivamente una DBF.

Por favor, haced copia de seguridad de la DBF a usar!!!

Re: Prometheus 2000 no arranca en Windows 10

PostPosted: Sun Apr 10, 2016 12:27 pm
by Euclides
Hi Antonio.
I think it would be wise to check te syntax of the substituition expression before execute it.
The program aborts with "Syntax error"
Regards, Euclides

Re: Prometheus 2000 no arranca en Windows 10

PostPosted: Sun Apr 10, 2016 4:23 pm
by Manuel Aranda
¡ Sorprendente la rapidez, Antonio !

He realizado algunas pruebas y los resultados han sido correctos. Sólo he encontrado que si se deja la expresión sin contenido se produce un error irrecuperable.
Igualmente, si el tipo de dato con el que se alimenta la expresión es distinto al del campo, se produce un error, aunque recuperable.

En otro orden de cosas, en la vista del fichero, si se borra un registro, aparece momentáneamente en color rojo y luego desaparece.
Igualmente si existen registros borrados en el fichero no aparecen pero sí que cuentan para el total de registros. Sería interesante mostrar todos los registros
(discriminando los borrados como ahora, en color rojo) o poner un CHECKBOX para activar la vista con todos los registros o los activos solamente.
Relacionado con lo anterior sería interesante activar la tecla "Supr" para eliminar registros y un PACK para empaquetar el fichero.
Son sólo sugerencias. Muchas gracias.

Sigo probando.

Re: Prometheus 2000 no arranca en Windows 10

PostPosted: Sun Apr 10, 2016 5:00 pm
by cnavarro
Manuel, puedes solucionarlo asi

Code: Select all  Expand view


   @ 9.5, 5.9 BUTTON FWString( "&Ok" ) OF oDlg SIZE 45, 13 ;
      WHEN ( !Empty( cExpression ) .and. ( !Empty( cForCondition ) .or. !Empty( cWhileCondition ) ) ) ;
      ACTION ( nRecNo := RecNo(),;
.../...

 

Re: Prometheus 2000 no arranca en Windows 10

PostPosted: Sun Apr 10, 2016 5:18 pm
by Manuel Aranda
Gracias Cristóbal. De momento no quiero tocar nada por si Antonio implementa más cambios y así no tener que andar tocando el código original.
Antonio, respecto al PACK ya he visto que está implementado. Lo había pasado por alto.

Re: Prometheus 2000 no arranca en Windows 10

PostPosted: Mon Apr 11, 2016 8:04 am
by Antonio Linares
Manuel, Euclides,

Solucionado el que la expresión a usar sea del mismo tipo que el campo

Implementada la tecla Supr en los browses

Como podemos contar los registros descartando los borrados ?

https://bitbucket.org/fivetech/fivewin-contributions/downloads/fivedbu_20160411.zip

Re: Prometheus 2000 no arranca en Windows 10

PostPosted: Mon Apr 11, 2016 2:07 pm
by Manuel Aranda
Tal vez con OrdKeyCount() ?

Re: Prometheus 2000 no arranca en Windows 10

PostPosted: Mon Apr 11, 2016 7:44 pm
by Antonio Linares
Manuel,

Con OrdKeyCount() está devolviendo el total de registros, independientemente de SET DELETED ON | OFF

No se me ocurre como hacerlo sin tener que recorrer toda la DBF lo cual hay que evitar

Re: Prometheus 2000 no arranca en Windows 10

PostPosted: Mon Apr 11, 2016 9:10 pm
by Manuel Aranda
Antonio,

A mí
Code: Select all  Expand view
Local nTotalRegistros:= ( cUsaBase )->(OrdKeyCount())


me está dando el total de registros menos los borrados.

¿Será porque los índices están construídos con FOR !DELETED() ?

Re: Prometheus 2000 no arranca en Windows 10

PostPosted: Tue Apr 12, 2016 10:01 am
by Antonio Linares
Manuel,

Si, seguramente es por eso

No se cual será la manera más sencilla de hacerlo. Crear un índice temporal en memoria ?

Re: Prometheus 2000 no arranca en Windows 10

PostPosted: Tue Apr 12, 2016 5:07 pm
by Manuel Aranda
Antonio, la verdad es que no sé si estaría justificado un índice temporal para una cuestión menor como ésta.
Lo que quizá sí que podría implementarse es OrdkeyCount() y si se abre el fichero de datos con un índice asociado que esté creado con !Deleted()
mostraría el total de todos los registros menos los borrados, y si el índice está creado sin ésta condición mostraría el total de todos los registros, incluidos los borrados.
De esta manera el total de registros reflejados se correspondería más fielmente con el proceso abierto.

Re: Prometheus 2000 no arranca en Windows 10

PostPosted: Tue Apr 12, 2016 6:08 pm
by Antonio Linares
Manuel,

He reeemplazado todos los RecCount() por OrdKeyCount() y ahora permite una expresión vacia (sin escribir nada) para "limpiar" un determinado campo.

https://bitbucket.org/fivetech/fivewin-contributions/downloads/fivedbu_20160412.zip

Si intento cambiar valores en el campo que lleva la clave del índice entonces no lo hace bien porque la clave varía.
No se si esto debemos modificarlo.

Por otra parte no se si DBEval() nos permite especificar un incremento (step). Ya funciona Step pero no se si el comportamiento es el esperado.

Gracias por tus pruebas

Re: Prometheus 2000 no arranca en Windows 10

PostPosted: Tue Apr 12, 2016 7:25 pm
by Verhoven
Cuando compilo yo el programa al abrir una base de datos me arroja la siguiente información:


la cadena: "Replacement" para el idioma ES definida en: OPEN línea 286 in fivedbu.prg no está traducida en las cadenas de FWH
Ajouter s'il vouz plait dans FWH\source\function\string.prg