Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   color y letra en un archivo .ini (https://www.clubdelphi.com/foros/showthread.php?t=7102)

VolaRe 03-02-2004 21:21:14

color y letra en un archivo .ini
 
Hola,

Me estoy haciendo una pequella agendilla, y quisiera saber como puedo meter en un archivo .ini el color y la letra seleccionada y despues recuperarla, gracias. (desde el archivo .ini, claro) :rolleyes:

marcoszorrilla 03-02-2004 21:50:40

Creo que con este ejemplo a poco que te esmeres lo solucionas.
Código:

procedure TIni.Button2Click(Sender: TObject);
Var
Fichero : Tinifile;
Begin
Fichero := Tinifile.Create ('d:/MiParadox.ini'); // Accedemos al Fichero
//Guardamos el INI
//Sección - Tipo_Dato - Valor
Fichero.WriteString ('NetDir','String','MiDir');
Fichero.WriteString ('TempDir','String','OtroDir');
Fichero.Writebool ('LocalShare','Booleano',False);
Fichero.WriteInteger('Usuarios','Integer',22);
Fichero.WriteDate('Fecha','Date',Date);
Fichero.WriteString('Letra','String','Symbol');
Fichero.free; //Cerramos el Fichero.
end;

procedure TIni.Button1Click(Sender: TObject);
Var
Fichero: TiniFile;
Begin
Fichero := TIniFile.Create ('D:/MiParadox.ini'); // Accedemos al Fichero
//Leemos el INI
//Read+TipoDato(Seccion - Tipo_Dato - Valor que tomará sino hay nada)
Edit1.text:=Fichero.ReadString ('NetDir','String','Error');
Edit2.text:=Fichero.ReadString ('TempDir','String','Error');
CheckBox1.Checked:=Fichero.Readbool('LocalShare','Booleano',False);
Edit3.Text:=IntToStr(Fichero.ReadInteger('Usuarios','Integer',-1));
Edit4.Text:=DateToStr(Fichero.ReadDate('Fecha','Date',Date));
Edit5.Text:=Fichero.ReadString ('Letra','String','Arial');
lbtipoletra.Font.Name:=Fichero.ReadString ('Letra','String','Arial');//aquí esta el ejemplo
Fichero.Free; // Cerramos el Fichero
end;

Un Saludo

VolaRe 05-02-2004 20:56:38

Cita:

Empezado por marcoszorrilla
Creo que con este ejemplo a poco que te esmeres lo solucionas.
Código:

procedure TIni.Button2Click(Sender: TObject);
Var
Fichero : Tinifile;
Begin
Fichero := Tinifile.Create ('d:/MiParadox.ini'); // Accedemos al Fichero
//Guardamos el INI
//Sección - Tipo_Dato - Valor
Fichero.WriteString ('NetDir','String','MiDir');
Fichero.WriteString ('TempDir','String','OtroDir');
Fichero.Writebool ('LocalShare','Booleano',False);
Fichero.WriteInteger('Usuarios','Integer',22);
Fichero.WriteDate('Fecha','Date',Date);
Fichero.WriteString('Letra','String','Symbol');
Fichero.free; //Cerramos el Fichero.
end;

procedure TIni.Button1Click(Sender: TObject);
Var
Fichero: TiniFile;
Begin
Fichero := TIniFile.Create ('D:/MiParadox.ini'); // Accedemos al Fichero
//Leemos el INI
//Read+TipoDato(Seccion - Tipo_Dato - Valor que tomará sino hay nada)
Edit1.text:=Fichero.ReadString ('NetDir','String','Error');
Edit2.text:=Fichero.ReadString ('TempDir','String','Error');
CheckBox1.Checked:=Fichero.Readbool('LocalShare','Booleano',False);
Edit3.Text:=IntToStr(Fichero.ReadInteger('Usuarios','Integer',-1));
Edit4.Text:=DateToStr(Fichero.ReadDate('Fecha','Date',Date));
Edit5.Text:=Fichero.ReadString ('Letra','String','Arial');
lbtipoletra.Font.Name:=Fichero.ReadString ('Letra','String','Arial');//aquí esta el ejemplo
Fichero.Free; // Cerramos el Fichero
end;

Un Saludo

Gracias por tu resupesta,
pero sigo sin conserguir meter el color en un archivo .ini, alguna idea, gracias por adelantado

delphi.com.ar 05-02-2004 21:25:45

Creo que con lo que te ha pasado Marcos, sobra información como para hacer lo que tu pides. Te recomiendo leer la ayuda de la clase TIniFile...

Para abrir el archivo, tanto para leer como para escribir, lo haces al crear la clase Tinifile.Create(Archivo), para escribir un dato, tienes que elegir el método adecuado del grupo de métodos Write (WriteString, WriteBool, WriteInteger, WriteDate...) para leer un dato, tienes que elegir el método adecuado según el tipo de dato del grupo de métodos Read. Tratándose de que los colores son números enteros seguramente los métodos a utizar serán WriteInteger y ReadInteger.


Código:

uses
  IniFiles;

procedure TForm1.FormCreate(Sender: TObject);
var
  IniFile: TIniFile;
begin
  IniFile := TIniFile.Create(ChangeFileExt(ParamStr(0), '.ini'));
  try
    Panel1.Color := IniFile.ReadInteger('Colores', 'Panel', Panel1.Color);
  finally
    IniFile.Free;
  end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
var
  IniFile: TIniFile;
begin
  IniFile := TIniFile.Create(ChangeFileExt(ParamStr(0), '.ini'));
  try
    IniFile.WriteInteger('Colores', 'Panel', Panel1.Color);
  finally
    IniFile.Free;
  end;
end;

Saludos!

VolaRe 05-02-2004 21:36:29

Agradecimientos
 
Cita:

Empezado por delphi.com.ar
Creo que con lo que te ha pasado Marcos, sobra información como para hacer lo que tu pides. Te recomiendo leer la ayuda de la clase TIniFile...

Para abrir el archivo, tanto para leer como para escribir, lo haces al crear la clase Tinifile.Create(Archivo), para escribir un dato, tienes que elegir el método adecuado del grupo de métodos Write (WriteString, WriteBool, WriteInteger, WriteDate...) para leer un dato, tienes que elegir el método adecuado según el tipo de dato del grupo de métodos Read. Tratándose de que los colores son números enteros seguramente los métodos a utizar serán WriteInteger y ReadInteger.


Código:

uses
  IniFiles;

procedure TForm1.FormCreate(Sender: TObject);
var
  IniFile: TIniFile;
begin
  IniFile := TIniFile.Create(ChangeFileExt(ParamStr(0), '.ini'));
  try
    Panel1.Color := IniFile.ReadInteger('Colores', 'Panel', Panel1.Color);
  finally
    IniFile.Free;
  end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
var
  IniFile: TIniFile;
begin
  IniFile := TIniFile.Create(ChangeFileExt(ParamStr(0), '.ini'));
  try
    IniFile.WriteInteger('Colores', 'Panel', Panel1.Color);
  finally
    IniFile.Free;
  end;
end;

Saludos!

Muchas gracias,
Como habras notado no se mucho de esto de programar, y lo que no sabia es si el color lo tenia que guardar como cadena o entero, muchas gracias de nuevo.


La franja horaria es GMT +2. Ahora son las 10:23:06.

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