Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-12-2004
REHome REHome is offline
Miembro
 
Registrado: jul 2003
Ubicación: España
Posts: 454
Poder: 21
REHome Va por buen camino
Guardar configuraciones

Con Delphi 7 puse un label en el FORM y cuando pulso sobre ella cambia de color. Cuando cierro el programa y lo vuelvo a ejecutar, no se queda guardado.

¿Hay alguna manera o código que cree un archivo para guardar los datos estos de configuración? Es decir, que si predeterminado el color es negro y o lo pongo rojo, al ejecutarlo de nuevo se vuelva rojo.

Creo que es creando un *.INI o algo así.

Me podrían ayudar como se hace esto?
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino.
Responder Con Cita
  #2  
Antiguo 01-12-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Estas cambiando el color en tiempo de ejecución???... de ser así, no tienes que encargarte de guardarlo de alguna forma. Una de ellas puede ser utilizar el TFormStorage de las RxLibs, otra forma puede ser hacerlo "a mano" con las clases TIniFile o TRegistry...

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 03-12-2004
REHome REHome is offline
Miembro
 
Registrado: jul 2003
Ubicación: España
Posts: 454
Poder: 21
REHome Va por buen camino
Hola.

Es que cuando guarda será en tiempo de ejecución digo yo, no cuando está apagado por decirlo de alguna manera.

Pueden poner un ejemplo con código de cómo se guarda algún dato de configuración en un INI. Por ejemplo. Pongo un label1 en la forma. creo una aprte de código que al pulsar sobre label cambie de color, y cuando cambie de color al cerrar el programa se gusrde y al volverlo abrir se quede ya última configuración que he hecho.

ÇOtro ejemplo. Esto sule pasar por Word. Pones una letra que quieras, el tamaño que quieras y al abrirlo de nuevo, está lo último que has puesto.

Espero quen me entiendas loq ue quiero decir.
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino.
Responder Con Cita
  #4  
Antiguo 03-12-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Busca por TIniFile o por TRegistry en el foro, se ha hablado mucho de eso.

TiniFile guardas en un archivo .ini
TRegistry guardas en el Registro de Windows.

¿Cual usar?
Tú decides. Si no te importa que el usuario vea la configuración y la cambie, usa el TiniFile.

Saludos


Perdón, no me fijé que delphi.com.ar ya lo habia mencionado.

Última edición por Lepe fecha: 03-12-2004 a las 13:48:48.
Responder Con Cita
  #5  
Antiguo 03-12-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por REHome
...no cuando está apagado por decirlo de alguna manera.


Lo que te he sugerido anteriormente, puede ser una buena solución.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #6  
Antiguo 03-12-2004
REHome REHome is offline
Miembro
 
Registrado: jul 2003
Ubicación: España
Posts: 454
Poder: 21
REHome Va por buen camino
Ok, creo que hablé un poco mal el tono. Perdón.


He buscado por ahí pero no entiendo lo suficientes, al ayuda está en inglés y no entiendo exactamente.

Alguien puede dar un ejemplo pequeño de guardar este dato de cambiar de color en un ini con un label.

Que hay que hacer.

Dicen que es facil y yod e facil no veo nada. además nunca he hecho esto y me parece muy complicado.

Empezamos con el form desde cero y con un label1 dentro, el código de moemnto sería así. DEspués de todo esto no se que hacer, simplemente quiero que se guarde el color que deseo cuando cierre el programa.



unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Label1: TLabel;
procedure Label1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Label1Click(Sender: TObject);
begin
with font do
case font.color of
clWindowText: font.Color := clred;
clred: font.Color := clWindowText;
end;
end;
end.
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino.

Última edición por REHome fecha: 03-12-2004 a las 14:25:16.
Responder Con Cita
  #7  
Antiguo 03-12-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Cita:
Ok, creo que hablé un poco mal el tono. Perdón.
Está bien reconocer los fallos, efectivamente te han dado el camino a seguir para que puedas llevar a buen fin lo que pretendes.

Aquí tienes el ejemplo que pides, como tal ejemplo no hace exactamente lo que tu quieres pero esa parte la dejo para ti.
Código Delphi [-]
  
  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.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #8  
Antiguo 03-12-2004
REHome REHome is offline
Miembro
 
Registrado: jul 2003
Ubicación: España
Posts: 454
Poder: 21
REHome Va por buen camino
Gracias por la ayuda.

El el boton dos, me da error donde pone Micolor. ¿Sabes como arreglarlo?

----------------------

Hice uno por mi mismo. El problema que tengo, que el color que elijo, no se queda guardado. Siempre sale negro.

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, inifiles;

type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
Button2: TButton;
procedure Label1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Label1Click(Sender: TObject);
begin
with label1 do
case font.color of
clWindowText: font.Color := clred;
clred: font.color := clMaroon;
clMaroon: font.color := clGreen;
clGreen: font.color := clwindowtext;
end;
End;

procedure TForm1.Button1Click(Sender: TObject);
Var
Fichero: TiniFile;
begin
Fichero := TIniFile.Create ('C:/MiSuperIni.ini'); // Accedemos al Fichero
label1.Caption:=Fichero.ReadString ('NetDir','String','Error');
Fichero.Free; // Cerramos el Fichero

end;

procedure TForm1.Button2Click(Sender: TObject);
Var
Fichero : Tinifile;

begin
Fichero := Tinifile.Create ('C:/MiSuperIni.ini'); // Accedemos al Fichero

Fichero.WriteString ('NetDir','String','MiDir');

Fichero.free; //Cerramos el Fichero.

end;

end.
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino.

Última edición por REHome fecha: 03-12-2004 a las 16:30:31.
Responder Con Cita
  #9  
Antiguo 03-12-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por REHome
El el boton dos, me da error donde pone Micolor. ¿Sabes como arreglarlo?
Cuando nos notificas de un error, es bueno que aclares de que error se trata, y en qué línea se produce. Te recomiendo leer la Guía de Estilos del foro.

Por otro lado, veo que esta utilizando la barra invertida (/) para informar rutas aparentemente de Windows cuando la barra a utilizar es "\". Ademas veo que estas escribiendo un valor fijo, no lo que tengas en tus componentes: Fichero.WriteString ('NetDir','String','MiDir');


Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 12:41:36.


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
Copyright 1996-2007 Club Delphi