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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-12-2013
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 18
richy08 Va por buen camino
Gracias ecfisa, si eso me temia por eso me estaba apoyando en un tmemo, ahi guardo las propiedas que cambian (que en realidad solo es el campo text
que guarda una cantidad), y si esa cantidad es mayor que 0 se pinta de azul, entonces creare una funcion que me recupere del tmemo esa propiedad(cuando pagine ) y de existir se la volvere a aplicar , muchas gracias por tu tiempo y explicacion

saludos
Responder Con Cita
  #2  
Antiguo 06-12-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 37
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola richy08.

Para no dejarte la pelota picando, te pongo un ejemplo de como hacerlo en ambos casos.

Usando Registry:
Código Delphi [-]
...
implementation

uses Registry;

var
 CurrentTab: Integer = 0;

procedure TForm1.FormCreate(Sender: TObject);
var
  i,j: Integer;
  e  : TEdit;
begin
  with TRegistry.Create do
  try
    RootKey:= HKEY_CURRENT_USER;
    if OpenKey('MiProg\PageCtrl',False) then
    begin
      with PageControl1 do
      begin
        for i := 0 to PageCount - 1 do
          for j := 0 to Pages[i].ControlCount-1 do
            if Pages[i].Controls[j] is TEdit then
            begin
              e := TEdit(Pages[i].Controls[j]);
              e.Text := ReadString(e.Name+'Text');
              e.Color:= ReadInteger(e.Name+'Color');
            end;
        CloseKey;
        ActivePageIndex := 0;
      end;
    end;
  finally
    Free;
  end;
end;

procedure TForm1.PageControl1Change(Sender: TObject);
var
  i: Integer;
  e: TEdit;
begin
  with TRegistry.Create do
  try
    RootKey:= HKEY_CURRENT_USER;
    if OpenKey('MiProg\PageCtrl', True) then
    begin
      with PageControl1 do
      begin
        for i := 0 to Pages[CurrentTab].ControlCount-1 do
          if Pages[CurrentTab].Controls[i] is TEdit then
          begin
            e := TEdit(Pages[CurrentTab].Controls[i]);
            WriteString(e.Name+'Text', e.Text);
            WriteInteger(e.Name+'Color', e.Color);
          end;
        for i := 0 to Pages[ActivePageIndex].ControlCount-1 do
          if Pages[ActivePageIndex].Controls[i] is TEdit then
          begin
            e := TEdit(Pages[CurrentTab].Controls[i]);
            WriteString(e.Name+'Text', e.Text);
            WriteInteger(e.Name+'Color', e.Color);
          end;
        CurrentTab := ActivePageIndex;
      end;
      CloseKey;
    end;
  finally
    Free;
  end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
var
  i, j: Integer;
  e: TEdit;
begin
  with TRegistry.Create do
  try
    RootKey:= HKEY_CURRENT_USER;
    if OpenKey('MiProg\PageCtrl', True) then
    begin
      with PageControl1 do
      begin
        for i := 0 to PageCount - 1 do
          for j := 0 to Pages[i].ControlCount-1 do
            if Pages[i].Controls[j] is TEdit then
            begin
              e := TEdit(Pages[i].Controls[j]);
              WriteString(e.Name+'Text', e.Text);
              WriteInteger(e.Name+'Color', e.Color);
            end;
        end;
        CloseKey
     end;
  finally
    Free;
  end;
end;

Usando IniFiles:
Código Delphi [-]
...
implementation

uses IniFiles;

var
 CurrentTab: Integer = 0;

procedure TForm1.FormCreate(Sender: TObject);
var
  i,j: Integer;
  e : TEdit;
begin
  with TIniFile.Create(ExtractFilePath(Application.ExeName)+'PROG.INI') do
  try
    with PageControl1 do
    begin
      for i:= 0 to PageCount - 1 do
        for j:= 0 to Pages[i].ControlCount-1 do
          if Pages[i].Controls[j] is TEdit then
          begin
            e := TEdit(Pages[i].Controls[j]);
            e.Text := ReadString(e.Name,'Text','');
            e.Color:= ReadInteger(e.Name,'Color',clWindow);
          end;
      ActivePageIndex := 0;
    end;
  finally
    Free;
  end;
end;

procedure TForm1.PageControl1Change(Sender: TObject);
var
  i: Integer;
  e: TEdit;
begin
  with TIniFile.Create(ExtractFilePath(Application.ExeName)+'PROG.INI') do
  try
    with PageControl1 do
    begin
      for i:= 0 to Pages[CurrentTab].ControlCount-1 do
        if Pages[CurrentTab].Controls[i] is TEdit then
        begin
          e := TEdit(Pages[CurrentTab].Controls[i]);
          WriteString(e.Name,'Text', e.Text);
          WriteInteger(e.Name,'Color', e.Color);
        end;
      for i:= 0 to Pages[ActivePageIndex].ControlCount-1 do
        if Pages[ActivePageIndex].Controls[i] is TEdit then
        begin
           e := TEdit(Pages[CurrentTab].Controls[i]);
           e.Text := ReadString(e.Name,'Text','');
           e.Color:= ReadInteger(e.Name,'Color',clWindow);
        end;
      CurrentTab := ActivePageIndex;
    end;
  finally
    Free;
  end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
var
  i,j: Integer;
  e: TEdit;
begin
  with TIniFile.Create(ExtractFilePath(Application.ExeName)+'PROG.INI') do
  try
    with PageControl1 do
      for i:= 0 to PageCount - 1 do
        for j:= 0 to Pages[i].ControlCount-1 do
          if Pages[i].Controls[j] is TEdit then
          begin
            e := TEdit(Pages[i].Controls[j]);
            WriteString(e.Name,'Text', e.Text);
            WriteInteger(e.Name,'Color', e.Color);
          end;
  finally
    Free;
  end;
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
Referencia al formulario Kiranov OOP 15 31-01-2013 22:24:27
Parámetros por referencia a un .exe Parsec OOP 4 25-05-2012 20:19:28
Referencia a una const sleep25000 Varios 6 16-12-2011 10:55:36
Referencia circular Enan0 Varios 3 31-10-2006 22:56:26
Pasar el valor de un TEdit dentro de un StringGrid a otro TEdit que está fuera atirado Varios 4 11-09-2004 19:13:48


La franja horaria es GMT +2. Ahora son las 19:12:05.


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