Page 1 of 1

Preguntonta sobre ruta?

Posted: Wed May 17, 2006 8:07 pm
by leandro
Amigos del foro como siempre dando lora con mi pregunticas..

Resulta y pasa que en algunas ocaciones me ha tocado enviarles a los clienes archivos comprimidos para actualizar el programa y resulta y pasa que aparte de explicarles como descomprimir me toca decirles que corte y copie en una carpeta especicifa por que si no el programa no corre. en este momento enruto las bases de datos de la siguiente manera:

c:\lymainv\lamdbfs\clientes.dbf

me gustaria que el sistema tome la carpeta en donde este descargado automaticamente ose que tome

....\lamdbf\clientes.dbf

y anterior a esto no importe en que carpeta este...

Espero me alla hecho entender...

De antemando GRACIAS

Posted: Wed May 17, 2006 8:24 pm
by Manuel Valdenebro
¿No te vale InnoSetup?.- Te comprime los archivos que quieras y los descarga en el directorio que tu le pongas.

Posted: Wed May 17, 2006 10:04 pm
by RodolfoRBG
Con las funciones:

CURDRIVE()+":\"+CURDIR(CURDRIVE())

Te regresa la ruta en la que esta corriendo el EXE, por ejemplo:

"C:\TOROS\SISTEMA"

no se si esto te sirva. Salu2

Posted: Wed May 17, 2006 11:28 pm
by Raymundo Islas M.
Hola Leandro

Me uno a la sugerencia de Manuel, por que no usas algun programa para generar un instalador ? ahi le especificas que archivos, en donde se deben copiar, etc, etc.

Hay muchos por la red, algunos son gratis y claro, otros con costo :wink:

En lo personal, yo uso el Astrum I.W. desde hace varios años y anda muy bien, con ese genero instalaciones y actualizaciones para los clientes.

Saludos

Posted: Thu May 18, 2006 12:30 am
by RodolfoRBG
Mi caso es similar al de Leandro, mis clientes tienen pocos conocimientos en Windows y es un gran problema mandarles actualizaciones:

* Si les mandas un EXE, ya casi todos los servidores rechazan este tipo de archivos adjuntos.
* Si les mandas el EXE con la extensión modificada, es dificil explicarles que deben copiarlo a una carpeta temporal, cambiarle el nombre y después copiarlo a la carpeta definitiva para que sustituya al EXE original.
* Si lo mandas dentro de un ZIP, algunos servidores (gmail por ejemplo) rechazan archivos adjuntos ZIP que contengan EXEs además de que no siempre tienen un PKZIP para descomprimirlo y de que también hay que explicarles como y donde lo deben descomprimir.

Estoy pensando seriamente en facilitarles todo esto a mis clientes en la siguiente versón poniendo en el sistema un modulo que se llame "Actualizar versión" y que lo que haga es correr otro EXE también creado por mi y que este se encarge de buscar dentro de su maquina un archivo "X", lo descomprima, lo renombre y lo copie a la carpeta en donde esta el sistema.

Si alguien tiene una mejor idea, ahorita es cuando.

Posted: Thu May 18, 2006 2:51 am
by Vikthor
Leandro :

Puedes usar lo siguiente :

cOrigen := cFilePath( GetModuleFileName( GetInstance() ))

Donde cOrigen te devolverá la ruta exacta donde está tu aplicación

gracias

Posted: Thu May 18, 2006 4:49 pm
by leandro
Gracias a todos por las respuestas... las probe todas pero la de victor se adapata mas a lo que necesito en el momento...

Lo de los instaladores es bueno.. pero no se ajusta a lo que necesito en el momento...

Esto sirve?

Posted: Thu May 18, 2006 6:08 pm
by leandro
Mirando por ahi varios de los ejemplos de five win me encontre con esta otra opcion.. creo que tambien sirve...

cIni := ".\inicioser.ini"

alguien me puede indicar realmente como funciona?

Re: Esto sirve?

Posted: Fri May 19, 2006 4:26 am
by wmormar
leandro wrote:Mirando por ahi varios de los ejemplos de five win me encontre con esta otra opcion.. creo que tambien sirve...

cIni := ".\inicioser.ini"

alguien me puede indicar realmente como funciona?
Mi estimado, los INI es un archivo de texto donde guardas parámetros.
Ej.

[AUTOR]
Empresa=INCOS (c) 2006
Sistema=Marcajes personalizadas - INCOS (c) 2006
eMail=soporte.tecnico@incos.com.mx
WEB=www.incos.com.mx
Teléfono=(937) 322-5044

Y rescatarlos desde tu aplicación.

Code: Select all

cIniFile := ".\leandro.ini"
WritePProString( "AUTOR" , "Copyright  ", "Incos (c) 2006", cIniFile )
AUTOR es digamos el item PADRE y Copyright será el item HIJO, el código anterior es para guardar un valor en el ini

Code: Select all

cIniFile    := ".\leandro.ini"
cCopyR   := GetPvProfString( "AUTOR", "Copyright", "0", cIniFile )
En este último código, es para rescatar el valor guardado con anterioridad, te comento que los valores pasados son de tipo caracter, eso quiere decir que hay que convertir los valores de tipo diferente.

Espero haber sido claro, o por lo menos un poco menos confuso

jjejjejje