Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Crear archivo .ini (https://www.clubdelphi.com/foros/showthread.php?t=24711)

Sayuri 31-08-2005 10:36:00

Crear archivo .ini
 
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:

Código Delphi [-]
 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:

Cita:

[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

1 Archivos Adjunto(s)
Hola,

Cita:

Empezado por Sayuri
[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.

Código Delphi [-]
   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


La franja horaria es GMT +2. Ahora son las 22:08:16.

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