FoxPro/Visual FoxPro - Abrir Archivo INI

   
Vista:

Abrir Archivo INI

Publicado por Loly (4 intervenciones) el 05/11/2011 17:12:25
Hola buenos dias a todos... Que gusto en saludarles...

Tengo una aplicación que se conecta a Mysql pero, quisiera me dieran alguna idea de como cargar los parametros de la conexión al servidor desde una terminal ya que como en ocasiones cambian la ip para otros cuestiones... a la hora de accesar la terminal.. presenta problemas con la conexión...

Primera alternativa fallada..
en el inicio de la aplicacion carga el conexionString mysl como lo es: servidor; usuario, password, bdatos, etc... pero cuando la ip cambia... tenia que abrir la apl.. actualizar el prg.. y compilar nuevamente.

SEGUNDA alternativa fallada..
crear un app sencilla donde carga un archivo DBF llamada "sconect.dat" (es un dbf pero renombrada la extensión) instalado en cada terminal que contiene los datos del servidor como lo es: servidor; usuario, password, bdatos, port.. si no se conecta el usuario abre la app cambia la ip, cuarda y ya se puede conectar..

PUBIC TODAS LAS VARIABLES SIGUIENTES...
USE sconect.dat EXCLUSIVE
GO top
lserver=ALLTRIM(Serverip) &&& 192.168.1.103
lUser=ALLTRIM(uid) &&& tentierra
lpass=ALLTRIM(pwd) &&& tentierra11
lbd=ALLTRIM(bdatos) &&& tentenciatbd
lop=option &&& 0

set procedure to funciones
=Conectar()

function Conectar
cnx= SQLSTRINGCONNECT("DRIVER={MySQL ODBC 5.1 Driver};" + ; && Nombre del driver odbc
"SERVER=&lserver.;" + ; && Nombre del servidor o ip
"UID=&lUser.;" + ; && nombre del usuario default root
"PWD=&lpass.;" + ; && pass del usuario o root segun sea el caso
"DATABASE=&lbd.;" + ; && nombre de la base de datos
"OPTIONS=0;") && opciones de conexion
Endfun

alguien me sugiere que lo trate con un archivo INI.. alojado en Cada terminal... si no se logra conectar el usuario modifica el archivo ini... y listo...

pero el problema es que no tengo ningún ejemplo para desarrollar el archivo ini...

Agradeceria 1000 si alguien me puede proporcionar algun ejemplo para desarrollar el mio...!

Saludos..
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Abrir Archivo INI

Publicado por xx (378 intervenciones) el 05/11/2011 17:30:40
No hay necesidad de que explicitamente lo grabes como INI podrias hacerlo en cualquier archivo de texto yo lo hago asi:

EMPRESA.DAT (archivo de texto)
192.168.1.X.X
USER
PASSWORD
DATABASE
...


para leerlo usas:
FOPEN( [empresa.dat], 0 )
IF FERROR()!=0 OR _han==-1
MESSAGEBOX( [ERROR DE LECTURA],16,[ERROR])
RETURN
ENDIF
_SQLhost=FGETS( _han )
_SQLuser=FGETS(_han)
_SQLpass=FGETS( _han )
...
FCLOSE( _han )

para grabar los datos en empresa.dat
FCREATE( [empresa.dat] )
IF FERROR()!=0 OR _han==-1
*mostrar algun error
RETURN
ENDIF
FPUTS( _han, [192.168.1.X] )
FPUTS( _han, [user] )
FPUTS( _han, [pass] )
FCLOSE( _han )

al menos yo lo hago asi: y utilizo variables publicas es decir _SQLhost,_SQLuser ... y todo los demas datos para conexion los almaceno como publicos

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Abrir Archivo INI

Publicado por xx (378 intervenciones) el 05/11/2011 23:16:35
Disculpa se me paso debe ser asi:

_han=FOPEN( [empresa.dat], 0 )
IF FERROR()!=0 OR _han==-1
MESSAGEBOX( [ERROR DE LECTURA],16,[ERROR])
RETURN
ENDIF
_SQLhost=ALLTRIM(FGETS( _han ))
_SQLuser=ALLTRIM(FGETS(_han))
_SQLpass=ALLTRIM(FGETS( _han ))
...
FCLOSE( _han )

para grabar los datos en empresa.dat
FCREATE( [empresa.dat] )
IF FERROR()!=0 OR _han==-1
*mostrar algun error
RETURN
ENDIF
FPUTS( _han, [192.168.1.X] )
FPUTS( _han, [user] )
FPUTS( _han, [pass] )
FCLOSE( _han )

que simplemente te permite cambiar estos valores con cualquier editor de texto, te sugiero te informes sobre estas funciones de bajo nivel FOPEN(),FGETS(),FPUTS(),FCLOSE(),FERROR() y algunas mas.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar