Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Archivos .INI (https://www.clubdelphi.com/foros/showthread.php?t=55821)

Paulao 28-04-2008 16:33:22

Archivos .INI
 
Señores, tengo una aplicacion que es parametrizada com un archivo .TXT. Gustaria de usar un archivo .INI. Como hago? Uso DBExpress e N-Tier. Hoy mi aplicación usa SQLQuery e yo seto en la propriedad Params del la SqlQuery. Mi .INI estás asi: Como hago para cargar mi servidor? Voy a poner el codigo em mi Datamodulo principal.
Cita:

[SERVER]
DriverName=InterBase by Core Lab
DataBase=157.2.0.11:C:\PROJETOS\SAC_2007\DADOS\SAC_DB.FDB
UserName=sysdba
Password=masterkey
SqlDialect=3
BlobSize=-1
ErrorResourceFile=
LocaleCode=0000
InterBase by Core Lab TransIsolation=ReadCommited
ProductName=Interbase
DriverAssemblyLoader=CoreLab.DbxIda.DriverLoader.TCRDynalinkDriverLoader,CoreLab.DbxIda.DriverLoader ,Version=1.0.0.5001,Culture=neutral,PublicKeyToken=09af7300eec23701

defcon1_es 28-04-2008 16:54:32

Hola.
Te dejo un ejemplo de cómo cargar el valor de la clave Database de tu fichero.

Código Delphi [-]
uses IniFiles;
...
...
procedure CargarFicheroINI;  //LoadFromIniFile
var Configuracion: TIniFile;
     RutaBD: String;
begin  
  Configuracion := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Configuracion.ini');
  RutaBD := ReadString('SERVER', ' DataBase', '');
  Configuracion.Free;  
end;

procedure GuardarFicheroINI;  //SaveToIniFile
var Configuracion: TIniFile;
begin  
  Configuracion := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Configuracion.ini');
  WriteString('SERVER', ' DataBase', '157.2.0.11:C:\PROJETOS\SAC_2007\DADOS\SAC_DB.FDB');
  Configuracion.Free;  
end;

Por último, te recomiendo que revises la ayuda de Delphi sobre la clase TIniFile, para que veas los diversos métodos que tiene.

jhonny 28-04-2008 17:53:16

Otra forma de hacerlo, aprovechando que estas usando los DBX es que al componente de conexión le digas lo siguiente:

Código Delphi [-]
SQLConnection1.LoadParamsFromIniFile('La_Ruta_Del_Archivo_Ini.ini');

Espero te sirva ;).

Paulao 28-04-2008 19:11:44

listo, gracias.

Paulao 28-04-2008 19:48:17

No estas listo. No tiene error, pero no funciona asi. Hizo asi, pero tambien no:

Configuracao := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Server.ini');
with Configuracao do
begin
sDriver := ReadString('SERVER', 'DriverName', '');
sPathDb := ReadString('SERVER', 'DataBase', '');
sUser := ReadString('SERVER', 'UserName', '');
sPassword := ReadString('SERVER', 'Password', '');
sDialect := ReadString('SERVER', 'SqlDialect', '');
sBlobSize := ReadString('SERVER', 'BlobSize', '');
sErrorResourceFile := ReadString('SERVER', 'ErrorResourceFile=', '');
sLocaleCode := ReadString('SERVER', 'LocaleCode', '');
sInterBase_TransIsolation := ReadString('SERVER', 'InterBase by Core Lab TransIsolation','');
sProductName := ReadString('SERVER', 'ProductName', '');
sDriverAssemblyLoader := ReadString('SERVER', 'DriverAssemblyLoader', '');
end;
SQLConnection1.Params[0] := (sDriver);
SQLConnection1.Params[1] := (sPathDb);
SQLConnection1.Params[2] := (sUser);
SQLConnection1.Params[3] := (sPassword);
SQLConnection1.Params[4] := (sDialect);
SQLConnection1.Params[5] := (sBlobSize);
SQLConnection1.Params[6] := (sErrorResourceFile);
SQLConnection1.Params[7] := (sLocaleCode);
SQLConnection1.Params[8] := (sInterBase_TransIsolation);
SQLConnection1.Params[9] := (sProductName);
SQLConnection1.Params[10] := (sDriverAssemblyLoader);

Paulao 28-04-2008 20:50:50

Hizo errado. El correct es asi:

Cita:

SQLConnection1.Params.Values['DriverName'] := (sDriver);
SQLConnection1.Params.Values['DataBase'] := (sPathDb);

mauro_med 02-05-2008 16:36:34

Es muy necesario que uses archivos INI? Están en desuso desde hace ya un buen tiempo... en general he recomendado mejor usar el registro de windows...


La franja horaria es GMT +2. Ahora son las 17:16:02.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi