PDA

Ver la Versión Completa : Archivos INI Creacion y Edicion


martini002
03-07-2012, 23:28:57
Saludos Amigos, donde quiera que se encuentren :)

En esta ocasion vengo con la implementacion final a mi proyecto
tengo que agregar un sistema de registro de estadisticas,
para ello he decidido usar archivos INI.

he realizado el siguiente codigo para estudiar como funciona esto
puedo crear mi archivo, bien, la cuestion es que no se como evitar
que sobrescriba el archivo, si ya existe, me explico:

Si el archivo ya existiera, con este codigo simplemente
sobrescribiria todo con la nueva informacion,
mas no sumaria, claro lo de sumar ya tengo una idea clara de como hacerlo
solo me gustaria saber como evitar de que creer el archivo, en caso
de que exista, si existe entonces cargaria los datos almacenados
en un par de variables que declarare mas adelante
y pues cuando termine guardaria eso automaticamente.

Saludos
best,
Martin


procedure CrearArchivoUsuario();
var
Ini: TIniFile;
begin
Ini:=TIniFile.Create(Getcurrentdir()+'\Cuentas\'+Form1.Edit1.Text+'.ini');
INI.WriteString( 'Partidos', 'Valor', 'Form1.Edit2.Text' );
INI.WriteString( 'Ganados', 'Valor', Form1.Edit3.Text );
INI.WriteString( 'Perdidos', 'Valor', Form1.Edit4.Text );
end;
end;

ecfisa
03-07-2012, 23:43:40
Hola martini002.

Si no te interpreté mal pienso que podrías valerte de la función FileExists.

Por ejemplo:

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
arch: string;
begin
arch:= Getcurrentdir()+'\Cuentas\'+Form1.Edit1.Text+'.ini'
if FileExists(arch) then // Existe
begin
// Cargar datos de variables
// etc, etc, ...
end
else // No existe
with TIniFile.Create(arch) do
try
WriteString( 'Partidos', 'Valor','Form1.Edit2.Text' );
WriteString( 'Ganados', 'Valor', Form1.Edit3.Text );
WriteString( 'Perdidos', 'Valor', Form1.Edit4.Text );
finally
Free;
end;
end;


Saludos.

martini002
03-07-2012, 23:47:54
Tan sencillo como eso :)
justo lo que necesitaba, ahora cuentame donde puedo encontrar informacion sobre


With ... Do
try
...
finally
...
end;


no he podido comprender el funcionamiento de eso,
y veo que al parecer es muy util

gracias por la ayuda Ecfisa

Casimiro Notevi
04-07-2012, 00:03:08
http://www.delphibasics.co.uk/RTL.asp?Name=With

Y recuerda nuestra guía de estilo: preguntas distintas en hilos distintos.

martini002
04-07-2012, 00:05:17
http://www.delphibasics.co.uk/RTL.asp?Name=With

Y recuerda nuestra guía de estilo: preguntas distintas en hilos distintos.

Ya lo acomode, un fallon alli,
pero no he creado otro hilo sobre esto,
no se porque cada vez que posteo algo creo que se crea
dos veces :S