Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Ayuda con fichero de inicio (https://www.clubdelphi.com/foros/showthread.php?t=18648)

tiagor64 18-02-2005 08:30:58

Ayuda con fichero de inicio
 
Hola:

Tengo un problema al intentar acceder al fichero ini.

He leido varios hilos en el foro sobre como acceder al fichero ini, sobre como leer y escribir en el. Pero no se como crearlo, no se q formato tengo que darle a los datos de su interior para que me distinga lo que son las secciones, por tanto igual esta el error en la forma de crear el ini.

Aqui os pongo el codigo con el que intento que me asigne el valor que hay en el ini a un edit

Código:

var
  MiFichero: TIniFile;
  begin
  MiFichero := TIniFile.Create('C:\Archivos de programa\Borland\Delphi7\Projects\mipro.ini');
  Edit1.Text :=  MiFichero.ReadString('Bono','','Hola');
  Mifichero.Free;
end;

En el edit siempre me muestra el texto Hola y nunca me coge el valor almacenado en el ini.

Ahora os mostrare la estructura del mipro.ini para ver si es que no se crearlo adecuadamente.

bono='50';
dato2='23';

Muchas gracias por vuestra atencion.

roman 18-02-2005 10:54:45

Un archivo INI se divide en secciones. Cada sección se nombra entre corchetes y dentro de cada sección están las parrejas clave=valor.

Basta que veas el win.ini para que te des una idea.

Cuando pones

MiFichero.ReadString('Bono','','Hola');

estás pidiendo una clave de la sección 'Bono' pero la clave no tiene nombre y por tanto no encuentra nada, dándote el valor por defecto de 'Hola'.

Tu archivo tendría que ser algo como

[miseccion]
bono='50'
dato2='23'

y obtendrías el valor de bono con

MiFichero.ReadString('miseccion','Bono','Hola');

Y no se ponen ; al final de cada línea.

// Saludos

Lepe 18-02-2005 10:54:46

El primer parametro de ReadString es la seccion (en el fichero ini se traduce por: esa misma palabra entre corchetes.
el segundo parametro es la parte izquierda del igual (Bono o dato2)
el tercer parametro es el valor por defecto.

Código Delphi [-]
var
  MiFichero: TIniFile;
  begin
  MiFichero := TIniFile.Create('C:\Archivos de programa\Borland\Delphi7\Projects\mipro.ini');
  Edit1.Text :=  MiFichero.ReadString('Seccion1','Bono','35');
  Mifichero.Free;
end;
En este caso, si 'Bono' no está en el archivo, o el archivo ini está en blanco, devuelve '35'

al salir de la ventana, para guardar los valores:
Código Delphi [-]
var
  MiFichero: TIniFile;
  begin
  MiFichero := TIniFile.Create('C:\Archivos de programa\Borland\Delphi7\Projects\mipro.ini'); 
// si existe el archivo, lo abre,
// si no existe, lo crea.


  MiFichero.WriteString('Seccion1','Bono',Edit1.text);
  MiFichero.WriteInteger('Seccion1','dato2',strtoint(Edit2.text));
  Mifichero.Free;
end;

y el fichero queda tal que así:

[Seccion1]
bono=50;
dato2=23;

Cita:

Muchas gracias por vuestra atencion.
de nada.... A mandar ;)

tiagor64 18-02-2005 11:04:18

Ahora me pongo manos a la obra a ver si funciona.

Muchisimas gracias.


La franja horaria es GMT +2. Ahora son las 22:19:56.

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