Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-12-2008
FrianxD FrianxD is offline
Miembro
 
Registrado: dic 2007
Posts: 65
Poder: 17
FrianxD Va por buen camino
Cambios en una aplicacion

Hola a todos, tengo una duda y quisiera saber si me pueden ayudar mi duda es la siguiente:

yo tengo un Form de color gris...( Form1 ) y tengo 2 botones, ( Boton 1 y Boton 2 )


cuando presiono el boton 1, el form se hace color azul y cuando lo hago con el boton 2 el form queda rojo, lo que necesito hacer es que cuando cierro el programa quede del ultimo color q se presiono ejemplo:

presiono boton 1, el form queda azul, cierro aplicacion y la vuelvo a abrir necesito q cargue el color azul q fue como quedo antes de ser cerrado no se si me explico bien =S espero que si, si no haganmelo saber XD


Bueno desde ya muchas gracias !
Responder Con Cita
  #2  
Antiguo 04-12-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola, no manejo C++ Builder, pero una idea podría ser que guardes el valor en un archivo Ini y cada vez que ejecutes tu programa, lees el archivo Ini y cargas el color que tienes guardado.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 04-12-2008
FrianxD FrianxD is offline
Miembro
 
Registrado: dic 2007
Posts: 65
Poder: 17
FrianxD Va por buen camino
si habia leido algo de eso de usar un ini pero te soy sincero no tengo la menor idea de como hacerlo, te agradesco que hayas contestado!
Responder Con Cita
  #4  
Antiguo 05-12-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Estudiate el componente TIniFile del builder (Ayuda del Builder).

Básicamente es un archivo de texto con extensión.ini en el que puedes definir
secciones con cadenas, invéntate como escribir tus datos.

Otro método interesante es escribirlo en el registro de Windows o en el mismo ejecutable como un resource.

Saludos.
Responder Con Cita
  #5  
Antiguo 05-12-2008
FrianxD FrianxD is offline
Miembro
 
Registrado: dic 2007
Posts: 65
Poder: 17
FrianxD Va por buen camino
Bueno, muchas gracias voy a estudiar eso!
ya veremos que pasa!


gracias de nuevo
Responder Con Cita
  #6  
Antiguo 05-12-2008
FrianxD FrianxD is offline
Miembro
 
Registrado: dic 2007
Posts: 65
Poder: 17
FrianxD Va por buen camino
Bueno he encontrado bastantes cosas sobre el TiniFile pero el drama es que esta todo en delphi y yo uso C++ y no se como pasarlo si me pudieran dar una ayudita algun link q lo explique en C++ o algo me seria de mucha utilidad


desde ya gracias! =)
Responder Con Cita
  #7  
Antiguo 05-12-2008
yelian yelian is offline
No confirmado
 
Registrado: nov 2007
Ubicación: Cuba
Posts: 81
Poder: 0
yelian Va por buen camino
Question

FrianxD si encuentras como hacer la duda que pusistes haslo saber ya que yo tengo la misma duda que tu, y cualquier cosa que aprendas sobre los archivos INI postealos para que los demas puedan aprender tambien.

te lo agradeseria mucho

saludos
Responder Con Cita
  #8  
Antiguo 05-12-2008
FrianxD FrianxD is offline
Miembro
 
Registrado: dic 2007
Posts: 65
Poder: 17
FrianxD Va por buen camino
Cita:
Empezado por yelian Ver Mensaje
FrianxD si encuentras como hacer la duda que pusistes haslo saber ya que yo tengo la misma duda que tu, y cualquier cosa que aprendas sobre los archivos INI postealos para que los demas puedan aprender tambien.

te lo agradeseria mucho

saludos
seguro, dalo por hecho pero hasta el momento sigo igual
Responder Con Cita
  #9  
Antiguo 07-12-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Cita:
Empezado por FrianxD Ver Mensaje
Bueno he encontrado bastantes cosas sobre el TiniFile pero el drama es que esta todo en delphi y yo uso C++ y no se como pasarlo si me pudieran dar una ayudita algun link q lo explique en C++ o algo me seria de mucha utilidad
Pues en mi ayuda del Builder aparece mucha información. Compotente TiniFile. No es visual por lo que se crea por código. De la misma ayuda del Builder:

Cita:
constructor and writing values in the OnClose event handler.

void __fastcall TForm1::TForm1(TObject *Sender)

{
TIniFile *ini;
ini = new TIniFile(
ChangeFileExt( Application->ExeName, ".INI" ) );
Top = ini->ReadInteger( "Form", "Top", 100 );
Left = ini->ReadInteger( "Form", "Left", 100 );
Caption = ini->ReadString( "Form", "Caption",
"Default Caption" );
ini->ReadBool( "Form", "InitMax", false ) ?
WindowState = wsMaximized :
WindowState = wsNormal;
delete ini;

}
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
TIniFile *ini;
ini = new TIniFile(ChangeFileExt( Application->ExeName, ".INI" ) );
ini->WriteInteger( "Form", "Top", Top );
ini->WriteInteger( "Form", "Left", Left );
ini->WriteString ( "Form", "Caption", Caption );
ini->WriteBool ( "Form", "InitMax",
WindowState == wsMaximized );
delete ini;
}

Each of the Read routines takes three parameters. The first parameter identifies the section of the INI file. The second parameter identifies the value you want to read, and the third is a default value in case the section or value doesn't exist in the INI file. Similarly, the Write routines will create the section and/or value if they do not exist. The example code creates an INI file the first time it is run that looks like this:
[Form]
Top=185
Left=280
Caption=Default Caption

InitMax=0
On subsequent execution of this application, the INI values are read in during creation of the form and written back out in the OnClose event.
Saludos.
Responder Con Cita
  #10  
Antiguo 07-12-2008
FrianxD FrianxD is offline
Miembro
 
Registrado: dic 2007
Posts: 65
Poder: 17
FrianxD Va por buen camino
Muchas gracias escafandra
Responder Con Cita
  #11  
Antiguo 17-12-2008
yelian yelian is offline
No confirmado
 
Registrado: nov 2007
Ubicación: Cuba
Posts: 81
Poder: 0
yelian Va por buen camino
Lightbulb

Muchas gracias escafandra yo tambien encontre esos codes en la ayuda del C++ y juntos con los que me respondieron en un hilo que puse, pude entender mas o meno como funciona .

Para los que le Interese pongo algo sobre un code que ise es sencillo pero a mi me sirvio para entenderlo.

Code:
-------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
//Para escribir en el Archivo.INI
TIniFile *ini;
//Crea un .ini con el mismo nombre del ejecutavle
ini = new TIniFile( ChangeFileExt(Application->ExeName,".INI" ) );
//Se puede entender mas o menos como una base de Datos
ini->WriteString( "Datos", "Nombre", Edit1->Text);
ini->WriteString( "Datos", "Apellido1", Edit2->Text);
ini->WriteString( "Datos", "Apellido2", Edit3->Text);
ini->WriteString( "Datos", "InfoAdd", Edit4->Text);
delete ini;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
//Para Leer desde el Archivo.INI
TIniFile *ini;
//Para leer un .ini que tenga el mismo nombre del ejecutable
ini = new TIniFile( ChangeFileExt(Application->ExeName,".INI" ) );
Edit5->Text=ini->ReadString( "Datos", "Nombre",NULL);
Edit6->Text=ini->ReadString( "Datos", "Apellido1",NULL);
Edit7->Text=ini->ReadString( "Datos", "Apellido2",NULL);
Edit8->Text=ini->ReadString( "Datos", "InfoAdd",NULL);
delete ini;
}


Espero que les pueda ser util como a mi me lo fue...

Saludos
Responder Con Cita
  #12  
Antiguo 17-12-2008
yelian yelian is offline
No confirmado
 
Registrado: nov 2007
Ubicación: Cuba
Posts: 81
Poder: 0
yelian Va por buen camino
Thumbs up

Para Que puedas restaurar el mismo color que tenia tu Apliacacion al cerrar se debes de poner esto ...

En el Evento OnCreate:

//Para que Cuando se ejecute tu aplicacion carge el color del .ini
TIniFile *ini;
ini = new TIniFile( ChangeFileExt(Application->ExeName,".INI" ) );
AnsiString colorA=ini->ReadString("Config", "color",NULL);
Form1->Color=StringToColor(colorA);

y en el evento OnClose:

//para que cuando cierres tu aplicacion guarde el color que tenia .
TIniFile *ini;
ini = new TIniFile( ChangeFileExt(Application->ExeName,".INI" ) );
ini->WriteString( "Config", "color",Form1->Color);


Espero que te sirva esto...

Saludos
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cambios de medidas Gagiel Varios 0 05-07-2007 08:21:10
Felicitaciones por los cambios... [Gunman] Noticias 38 03-04-2006 17:53:09
No se visualiza los cambios..... inexperto Conexión con bases de datos 3 27-11-2004 20:11:09
cambios en DBF mapepo Conexión con bases de datos 0 27-10-2004 19:47:12


La franja horaria es GMT +2. Ahora son las 09:38:47.


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