PDA

Ver la Versión Completa : Tinifile.. manejo de .ini


marceloalegre
27-04-2005, 20:34:29
Que tal, les cuento que despues de un tiempo largo volvi a programar en delphi,
(ahora con 2005, muy bueno)
le cuento: antes recuerdo que tenia una unit que manejaba creo que eran 2 procedimientos que eran readfromini y writetoini al cual le mandaba determinados parametros..
Esto estaba muy bueno para almacenar configuraciones. Bueno ahora no tengo ese file, y considero que llevara mas tiempo hacer todo el manejo de archivos y volver a ver como era, que solicitarles si alguno lo tiene en disposicion, o algo similar que me ayude en esta tarea,

Desde ya muchas gracias a todos!

marcoszorrilla
27-04-2005, 22:31:51
A ver si con este ejemplo te sirve para hacer lo que pretendes:

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');
lbTipoletra.Color:=Fichero.ReadInteger ('Color','Integer',clBlue);
Fichero.Free; // Cerramos el Fichero
end;

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
MiColor:=clBlue;
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.WriteInteger('Color','Integer',MiColor);
Fichero.free; //Cerramos el Fichero.
end;



Un Saludo.

marceloalegre
27-04-2005, 23:29:59
Excelente Marcos, con lo que has posteado tengo solucionado el tema de los .ini para mi desarrollo,, MUCHAS GRACIAS!

Ahora, esta pregunta me dejo otra duda, ya que un colega me envio este codigo, que parece bastante interesante:

uses IniFiles;
class TUtil
//IniFile
class function ReadFromIni(const FileName, Section, Key: string): string;
class procedure WriteToIni(const FileName, Section, Key, Value: string);
end;

class function TUtil.ReadFromIni(const FileName, Section, Key: string):
string;
var
CfgFile : TIniFile;
begin
CfgFile := TIniFile.Create(FileName);
result := CfgFile.ReadString(Section, Key, '');
CfgFile.Free;
end;

class procedure TUtil.WriteToIni(const FileName, Section, Key, Value:
string);
var
CfgFile : TIniFile;
begin
CfgFile := TIniFile.Create(FileName);
CfgFile.WriteString(Section, Key, Value);
CfgFile.Free;
end;

Estoy bastante desactualizado con el lenguaje por años de no uso, estoy volviendo, y tengo muchas dudas... como ejecuto este procedimiento, desconosco como tratarlos cuando son "class procedure" , que hago con esto va en otra unit, lleva otra extension? alguien me podria dar un ejemplo si no es mucha molestia para tener mas concretas mis bases sobre el lenguaje?

Desde ya muchas gracias y saludos!.-