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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-12-2014
Avatar de BDWONG
BDWONG BDWONG is offline
Miembro
NULL
 
Registrado: nov 2013
Posts: 113
Poder: 11
BDWONG Va por buen camino
El mejor momento para liberar un objeto

Bueno no sabia que poner de titulo, asi que si algún moderador encuentra uno mejor que explique mi pregunta que lo modifique por favor.

Bueno mi pregunta es que yo tengo un programa que tiene un clase(objeto) que contiene metodos para cifrar texto plano ejemplo : xor, rotn,reverse, rc4 etc.

mi pregunta viene a que si que cuando llamo al objeto TCifrado y quiero utilizar sus metodos es necesario que al momento de llamar que cree el objeto y en ese mismo instante despues de utilizarlo libere el objeto o la otra opcion que se me viene a la cabeza es que cree el objeto en el formcreate y libere el objeto al cerrar el form

La verdad es algo sin mucho sentido pero imagínense que tenga 20 métodos diferentes y aveces puedo ocupar uno u otro
espero sus respuestas saludos...

Aqui la clase

Código Delphi [-]
interface
type
TCifrado=class(TObject)
  public
  function C_xor(cadena:string):string;
  function Rotn(cadena:string; N:integer):string;
  function Reverse(cadena:string):String;


end;


implementation



{ TCifrado }

function TCifrado.C_xor(cadena: string): string;
var i:integer;
sfinal:string;
begin
     sfinal:='';
     for i :=1  to length(cadena) do
     begin
        sfinal:=sfinal+chr(ord(cadena[i]) xor length(cadena));
     end;

    SetLength(result, length(cadena));
    result:=sfinal;
end;

function TCifrado.Reverse(cadena: string): String;
var
sfinal:String;
i:integer;
begin
   sfinal:='';
   for  i:=length(cadena) downto 1  do
   begin
     sfinal:=sfinal+cadena[i];
   end;

   SetLength(result, length(cadena));
   result:=sfinal;
end;

function TCifrado.Rotn(cadena: string; N: integer): string;
var
i:integer;
sfinal:string;
begin

   for i :=1  to length(cadena) do
   begin
     sfinal:=sfinal+chr((ord(cadena[i])+N) mod 255 );
   end;

   SetLength(result, length(cadena));
   result:=sfinal;
end;

end.

esta es la primera forma como explico
Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
begin
   Cifrado:=TCifrado.Create;
  try
    if RadioButton1.Checked then
      Memo2.Text:=Cifrado.Reverse(Memo1.Text)
   else if RadioButton2.Checked then
      Memo2.Text:=Cifrado.C_xor(Memo1.Text)
   else if RadioButton3.Checked then
      Memo2.Text:=Cifrado.Rotn(Memo1.Text,13);

  finally
   FreeAndNil(Cifrado);
  end;

end;

esta es la segunda
Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
begin
   if RadioButton1.Checked then
      Memo2.Text:=Cifrado.Reverse(Memo1.Text)
   else if RadioButton2.Checked then
      Memo2.Text:=Cifrado.C_xor(Memo1.Text)
   else if RadioButton3.Checked then
      Memo2.Text:=Cifrado.Rotn(Memo1.Text,13);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   Cifrado.Free;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   Cifrado:=TCifrado.Create;
end;
Responder Con Cita
 



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
Un momento, ¿no sería mejor comenzar con Python 3.x? Al González Python 4 05-04-2011 16:30:43
Liberar un objeto Com marcosl OOP 1 25-10-2007 00:10:19
Liberar el foco de un objeto Velia Varios 4 18-11-2005 01:08:08
Liberar un objeto xerkan Servers 1 28-10-2003 17:29:10


La franja horaria es GMT +2. Ahora son las 14:55: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