FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index EasyReport, EasyDialog y EasyPreview Pregunta sobre una parte de c贸digo
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Pregunta sobre una parte de c贸digo
Posted: Wed Sep 24, 2014 07:27 AM
Crisobal , o cuanquiera que lo quiera mirar ....
En el fichero erfile.prg -> function NewReport()
Code (fw): Select all Collapse
.....

聽 SELECT 0
聽 聽CREATE VRDTMPST

聽 聽APPEND BLANK
聽 聽REPLACE FIELD_NAME WITH "NAME" 聽 , FIELD_TYPE WITH "C", FIELD_LEN WITH 120, FIELD_DEC WITH 0
聽 聽APPEND BLANK
聽 聽REPLACE FIELD_NAME WITH "TEXTNR" , FIELD_TYPE WITH "N", FIELD_LEN WITH 4 聽, FIELD_DEC WITH 0
聽 聽APPEND BLANK
聽 聽REPLACE FIELD_NAME WITH "IMAGENR", FIELD_TYPE WITH "N", FIELD_LEN WITH 4 聽, FIELD_DEC WITH 0
聽 聽APPEND BLANK
聽 聽REPLACE FIELD_NAME WITH "GRAPHNR", FIELD_TYPE WITH "N", FIELD_LEN WITH 4 聽, FIELD_DEC WITH 0
聽 聽APPEND BLANK
聽 聽REPLACE FIELD_NAME WITH "BCODENR", FIELD_TYPE WITH "N", FIELD_LEN WITH 4 聽, FIELD_DEC WITH 0
聽 聽APPEND BLANK
聽 聽REPLACE FIELD_NAME WITH "TOP1" 聽 , FIELD_TYPE WITH "N", FIELD_LEN WITH 6 聽, FIELD_DEC WITH 2
聽 聽APPEND BLANK
聽 聽REPLACE FIELD_NAME WITH "TOP2" 聽 , FIELD_TYPE WITH "N", FIELD_LEN WITH 6 聽, FIELD_DEC WITH 2
聽 聽APPEND BLANK
聽 聽REPLACE FIELD_NAME WITH "LTOP" 聽 , FIELD_TYPE WITH "L", FIELD_LEN WITH 0 聽, FIELD_DEC WITH 0
聽 聽APPEND BLANK
聽 聽REPLACE FIELD_NAME WITH "WIDTH" 聽, FIELD_TYPE WITH "N", FIELD_LEN WITH 6 聽, FIELD_DEC WITH 2
聽 聽APPEND BLANK
聽 聽REPLACE FIELD_NAME WITH "HEIGHT" , FIELD_TYPE WITH "N", FIELD_LEN WITH 6 聽, FIELD_DEC WITH 2
聽 聽APPEND BLANK
聽 聽REPLACE FIELD_NAME WITH "CONDITION" , FIELD_TYPE WITH "N", FIELD_LEN WITH 1 聽, FIELD_DEC WITH 0

聽 聽CREATE VRDTMP FROM VRDTMPST

聽 聽USE VRDTMP.DBF ALIAS "AREAS"
聽 聽APPEND BLANK
聽 聽REPLACE AREAS->NAME WITH "1. " + GL("Area")
聽 聽SetNewReportDefaults()
聽......


驴 alguien sabe el motivo por lo que esto se ha codificado asi ? ...
Se crea una dbf con unos campos para con ellos definir una estructura de otra dbf y crearla ?
Luego usa la dbf y al final graba en un ini y destuye la dbf .
No seria mas logico no usar dbs, guardarlo en arrays y grabarlo ?
No me creo que Tim codificase esto asi gratuitamente , pero que motivo existe ? .
Alguien que me lo aclare ? seguro que existe algo que se me escapa .
Gracias anticipadas.
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Pregunta sobre una parte de c贸digo
Posted: Wed Sep 24, 2014 10:41 AM

Manuel,

Prueba a eliminar el uso de la DBF y solo el INI y si funciona, pues cuanto m谩s simple, mejor :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Pregunta sobre una parte de c贸digo
Posted: Wed Sep 24, 2014 05:31 PM

Manuel, yo los uso en mi aplicacion ficheros temporales en lugar de arrays para, en caso de error (si la aplicacion no es muy estable, o existen problemas de suministro electrico, etc.) tengo una rutina que lee los temporales existentes y en funcion de la letra por la que empiezan, s茅 en qu茅 proceso estaban y me permite restaurarlo (por ejemplo un albaran)
Al principio de hacer pruebas en una aplicacion y ponerla en manos del cliente final, si no conf铆as en la aplicacion, es l贸gico que guardes parcialmente los avances que hacen los usuarios para que no pierdan todo el trabajo, pero, evidentemente, faltar铆a la rutina que detecta al principio de la aplicacion que existen ficheros temporales para utilizarlos, y seguir en el estado que estabas.
Voy a revisar el codigo a ver si veo algo de lo que comento
De no ser asi, no le encuentro l贸gica tampoco
De hecho en las pruebas que realizo en el desarrollo me he encontrado con tener que borrar a mano mas de 70 temporales.

------------- EDITO ---------------------------------------------------
No encuentro de momento su funcionalidad

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: Pregunta sobre una parte de c贸digo
Posted: Thu Sep 25, 2014 08:57 AM

He subido c贸digo que quita el uso de dbfs temporales al crear nuevos reportes y pasa a usar arrays , est谩 chapucero pero parece que funciona , comunicar bugs ,etc , falta limpiar el c贸digo y mejorarlo ....
Saludos.
------------------ edito --------------------------
He subido el c贸digo mas limpio y un poco mas optimizado ...
Doy por concluido este capitulo ( de momento ) y quedo a la espera de aparici贸n de bugs y cambios menores ,salvo que se nos ocurra una mejor implementaci贸n.

Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: Pregunta sobre una parte de c贸digo
Posted: Thu Sep 25, 2014 05:04 PM

Estoy en fase busca y captura de dbfs ... :D . He localizado donde se generan los temporales estos que quedan por decenas en el directorio raiz ...
El programa los usa para la funci贸n Undo/Redo y en teoria se borran al salirnos del programa , Que pasa si el programa casca ? ( como es el caso ya que estamos cambiando cosas ) , que ahi se quedan .
Tengo que comprobar si cuando se vuelve a entrar nueva mente esos archivos se usan , sino lo suyo ser铆a colocarlos en un directorio /tmp y al iniciar el programa borrar todo lo que se encuentre en el ..
驴 Como lo veis ? .
驴Otra opci贸n ? 驴 un ini ?
Espero opiniones .

Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: Pregunta sobre una parte de c贸digo
Posted: Thu Sep 25, 2014 09:01 PM

He decidido dejar las dbfs temporales para undo -redo pero ahora se colocan en un directorio temporal que el programa se encarga de borrar . Si por algo esto no se hace ( porque el programa rompe ) . La pr贸xima vez que se lance el programa este , borra el directorio con su contenido y vuelve a crear de nuevo el directorio .
Saludos.

Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Pregunta sobre una parte de c贸digo
Posted: Fri Sep 26, 2014 01:36 AM

Manuel y amigos:

Disculpa que me entrometa solo para preguntar, :oops:

En un ambiente de red, que va a pasar con el directorio temporal si dos usuarios entran a definir o
modificar su propio reporte?.

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: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: Pregunta sobre una parte de c贸digo
Posted: Fri Sep 26, 2014 05:57 AM

Buena observacion . Tendremos que cambiar el directorio temporal a temporal de windows asi cada uno tiene el suyo y no tenemos problemas ( igual que hace rpreview creo )

------------------ edito --------------------------------------
He cambiado el directorio temporal a un directorio colocado en el temporal de windows asi evitamos el problema sugerido por Armando . ( Gracias Armando por tu acertada sugerencia ) .
Subido al repositorio . :D

Posts: 392
Joined: Tue Jul 29, 2008 01:55 PM
Re: Pregunta sobre una parte de c贸digo
Posted: Tue Nov 11, 2014 11:50 PM

Hola Mastintin.

He tenido muy malas experiencias usando el directorio temporal de windows, ya que W7 y W8 tienen restricciones sobre su uso.
Un usuario que NO es administrador de ese equipo, puede no tener derechos de escritura sobre todo C:\WINDOWS

Lo que he encontrado como solucion, es crear un directorio temporal sobre el directorio donde se ejecuta la aplicacion, asi, este puede borrarse si es necesario.

NO usar los directorios de windows, le da a la aplicacion independencia del sistema operativo.

saludos

Visite Chiapas, el paraiso de M茅xico.
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Pregunta sobre una parte de c贸digo
Posted: Wed Nov 12, 2014 11:21 AM

c:\windows\temp es distinto al contenido de %temp%
Quiza %temp% siempre este disponible para el usuario.

Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: Pregunta sobre una parte de c贸digo
Posted: Thu Nov 13, 2014 11:40 AM
hmpaquito wrote:c:\windows\temp es distinto al contenido de %temp%
Quiza %temp% siempre este disponible para el usuario.

Efectivamente va al temporal del usuario donde siempre se tienen permiso de escritura.

Continue the discussion