PDA

Ver la Versión Completa : Crear archivo .ini


Sayuri
31-08-2005, 10:36:00
Me gustaria crear un archivo que se arrancase antes de correr la aplicación en el que se puediera modificar una variable, que va a ser una ruta

¿Cómo lo hago?¿Cómo se arranca luego el .ini?

Muchas gracias

kalimero
31-08-2005, 11:03:01
Hola

Para manejar archivos ini, delphi provee de una clase 'TIniFiles' (..creo) con la que puedes hacer de todo. Te recomiendo un paseo por la ayuda de Delphi donde encontrarás ayuda mas que suficiente.

Saludos

dec
31-08-2005, 11:08:10
Hola,

Como no sé bien a qué te refieres, por mi parte no te diré más sino que la clase "TIniFile" te proporciona todos los métodos precisos para trabajar con archivos "ini". La unidad necesaria es "IniFiles" y un ejemplo de cómo crear un archivo de este tipo pudiera ser este:


var
ini: TIniFile;
begin
ini := TIniFile.Create('C:\archivo.ini');
try
{...}
finally
ini.Free;
end;
end;

Si el archivo "ini" en cuestión existe, no será creado, pero será el que se utilize a continuación para leer valores y/o escribirlos. Si el archivo no existiera al crear el objeto "ini" se crearía también el archivo. ¿Era a esto a lo que te referías? Me queda la duda...

Sayuri
31-08-2005, 11:15:34
Si me refiero a eso también, pero no sé ni qué escribir en el archivo ini, de momento he puesto esto:


[Startup] //¿esto lo debo poner?
Rutap=\\PC05\URGENCIAS //¿se declara así una variables?
Rutas=\\SERVIDORPC\COPIA_URGENC


que es lo único que me interesa esas dos variables. Lo de Startup no sé si hay que ponerlo o no. Luego... ¿cómo llamo al archivo?Supongo que lo méta en el mismo lugar que el ejecutable, pero... ¿se arranca sólo?

todo eso jeje gracias

dec
31-08-2005, 11:30:54
Hola,


[Startup] //¿esto lo debo poner?
Rutap=\\PC05\URGENCIAS //¿se declara así una variables?
Rutas=\\SERVIDORPC\COPIA_URGENC
Lo primero representa una sección en que luego podrás mirar por un determinado valor. "Rutap" sería la clave que te informaría del valor que le sigue a su derecha.

Si investigaras un poco en la clase "TIniFile" y sus métodos no tendrías mayor problema, pero, en fin, ahí va un procedimiento (a modo de ejemplo únicamente) para obtener lo que precisas: se basa en los datos que proporcionas tú mismo.


procedure ObtenerRutas(var rutaP, rutas: string);
var
dir: string;
ini: TIniFile;
begin
dir := ExtractFilePath(ParamStr(0));
ini := TIniFile.Create(dir + 'archivo.ini');
try
rutaP := ini.ReadString('Startup', 'Rutap', '');
rutas := ini.ReadString('Startup', 'Rutas', '');
finally
ini.Free;
end;
end;


Obtendrías las rutas en las variables "rutaP" y "rutas", que se pasan en el procedimiento por referencia. Si el archivo "ini" no existiera o si no hubiera ningún valor asociado a las claves correspondientes del archivo "ini" las variables mencionadas contendrían una cadena vacía.

Mira en la ayuda de Delphi: el método "ReadString" de la clase "TIniFile" precisa tres parámetros: el primero es la sección del archivo "ini" en que se quiere mirar por una determinada clave/valor; el segundo es la clave cuyo valor queremos leer; el tercero es el valor "por defecto", en caso de que no hubiera valor alguno relacionado con la clave en cuestión.

Actualización: Quizás con el ejemplo que se incluye en el archivo adjunto lo veas del todo claro. Pero, recuerda que el procedimiento en cuestión es solamente una forma de hacerlo y nada más que eso: en cuanto "controles" los archivos "ini" ya verás tú cómo te parece mejor llevar a cabo lo que te propones.

Sayuri
31-08-2005, 12:02:47
muchas gracias, ya está resuelto