Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Archivos INI Creacion y Edicion (https://www.clubdelphi.com/foros/showthread.php?t=79425)

martini002 03-07-2012 23:28:57

Archivos INI Creacion y Edicion
 
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

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

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

Cita:

Empezado por Casimiro Notevi (Mensaje 436641)
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


La franja horaria es GMT +2. Ahora son las 12:53:48.

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