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 31-08-2011
Ledian_Fdez Ledian_Fdez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Ciudad Habana, Cuba
Posts: 242
Poder: 18
Ledian_Fdez Va por buen camino
Post Una mano con este procedure

Hola estoy intentando hacer un procedimiento donde voy a utilizar un TOpenDialog, solo que quisiera llamar al procedimiento sin tener que insertarlo en mi formulario, lo intente con algo como esto pero no resultó. Les muestro:


Código Delphi [-]
procedure ProcedimientoX();
 var
  OpenDialog : TOpenDialog;
begin
 OpenDialog.Create(nil);
 OpenDialog.Title := 'Guardar Salva.';
 OpenDialog.Execute;
 {
  .
  .
  .
 }
end;

Si alguien me pudiera dar una mano se lo agradeceria de igual forma.
Responder Con Cita
  #2  
Antiguo 31-08-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
dejame ver si entendi...
tener el procedimiento pero no incrustado en el form?

y si lo escribes en un fichero de procedimientos? tipo una libreria
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 31-08-2011
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Poder: 22
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Arrow

Variante 1:
Código Delphi [-]
procedure ProcedimientoX();
 begin
     with TOpenDialog.Create(Nil) do
     begin
          Title:='OpenDialogo';
          Execute;
          Free;
     end;
end;

Variante 2:
Código Delphi [-]
procedure ProcedimientoX();
 var
  OpenDialog : TOpenDialog;
begin
 OpenDialog:=TOpenDialog.Create(nil);
 OpenDialog.Title := 'Guardar Salva.';
 OpenDialog.Execute;
 OpenDialog.Free;
end;
Saludos
Responder Con Cita
  #4  
Antiguo 31-08-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Por favor, Ledian_Fdez, recuerda poner títulos descriptivos a tus preguntas, gracias.
Responder Con Cita
  #5  
Antiguo 31-08-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
A cómo ya te han dicho, tienes que declarar el procedimiento en una unidad aparte (opcionalmente). Por ejemplo:

Código Delphi [-]
unit mis_procedimientos

interface

procedure ProcedimientoX;

implementation

procedure ProcedimientoX;
var
    OpenDialog : TOpenDialog;
begin
    with OpenDialog.Create(nil) do
    try
        Title := 'Guardar Salva.';
        Execute;
        { . . . }
    finally
        Free;
    end;
end;

Luego, tienes que declarar, en la unidad dónde implementas el formulario, que utilice los procedimientos y demás cosas declaradas en la unidad mis_procedimientos. Esto se hace agregando el nombre de la unidad que quieres utilizar a la sección de "uses" de la unidad desde dónde deseas llamar a los procedimientos en mis_procedimeintos. Por ejemplo:

Código Delphi [-]
unit mi_formulario

uses Windows....

type
    TForm1 = Class(TForm)
        ...
    end;

implementation

uses mis_procedimientos; // <= aquí declaras que necesitas los procedimientos declarados en esta unidad.

    ...
    ...

end.

Espero que hallas entendido mi intento de explicación

Saludos,
Chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #6  
Antiguo 01-09-2011
Ledian_Fdez Ledian_Fdez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Ciudad Habana, Cuba
Posts: 242
Poder: 18
Ledian_Fdez Va por buen camino
Thumbs up Problema resuelto!!!

Ok amigos mil grasias por su ayuda. Al sutituir esta linea:

Código Delphi [-]
OpenDialog.Create(nil);

Por esta otra:

Código Delphi [-]
OpenDialog.Create(nil);

me pincho !!!

Mil grasias
Responder Con Cita
  #7  
Antiguo 01-09-2011
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Cita:
Empezado por Ledian_Fdez Ver Mensaje
Ok amigos mil grasias por su ayuda. Al sutituir esta linea:

Código Delphi [-]
OpenDialog.Create(nil);

Por esta otra:

Código Delphi [-]
OpenDialog.Create(nil);

me pincho !!!

Mil grasias
Esto es como lo que suelen decir: ¡Si funciona no lo toques!
Responder Con Cita
  #8  
Antiguo 01-09-2011
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Código Delphi [-]
if 'OpenDialog.Create(nil);'='OpenDialog.Create(nil);' then
  showmessage('normal que ahora funcione');

Saludos.
Responder Con Cita
  #9  
Antiguo 01-09-2011
Avatar de DarKraZY
DarKraZY DarKraZY is offline
Miembro
 
Registrado: ago 2003
Posts: 460
Poder: 21
DarKraZY Va por buen camino
Cita:
Empezado por Ledian_Fdez Ver Mensaje
Al sutituir esta linea:

Código Delphi [-]
OpenDialog.Create(nil);

Por esta otra:

Código Delphi [-]
OpenDialog.Create(nil);

me pincho !!!

Mil grasias
Yo juraría que es la misma línea, ¿no?

Lo que estaba mal al principio es
Código Delphi [-]
procedure ProcedimientoX();
 var
  OpenDialog : TOpenDialog;
begin
 OpenDialog := TOpenDialog.Create(nil);
 OpenDialog.Title := 'Guardar Salva.';
 OpenDialog.Execute;
 {
  .
  .
  .
 }
end;
Responder Con Cita
  #10  
Antiguo 01-09-2011
Ledian_Fdez Ledian_Fdez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Ciudad Habana, Cuba
Posts: 242
Poder: 18
Ledian_Fdez Va por buen camino
Lightbulb Rectificando

Estas en lo cierto disculpa:

era de este:
Código Delphi [-]
OpenDialog.Create(nil);

por este:
Código Delphi [-]
OpenDialog := TOpenDialog.Create(nil);


salu2
Responder Con Cita
  #11  
Antiguo 01-09-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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 Ledian_Fdez.

Siempre se debe llamar a un constructor desde la clase y no desde el objeto ya que este aún no ha sido creado.
Código Delphi [-]
var
  OpenDialog: TOpenDialog;
  Edit: TEdit;
begin
  with OpenDialog.Create(nil) do   // Error !!!
  with TOpenDialog.Create(nil) do  // Es correcto
  with Edit.Create(nil) do         // Error !!!
  with TEdit.Create(nil) do        // Es correcto
  ...
end;

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 01-09-2011 a las 17:42:41.
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
llamar a procedure desde otra procedure anubis Varios 23 04-03-2010 18:44:37
puntero a un procedure en un procedure como parametro fcios Varios 2 14-03-2009 03:41:22
Enlazar con base de datos este donde este 4-0 C++ Builder 5 12-01-2007 20:33:00
como hago este stored procedure edy_aca Firebird e Interbase 2 13-01-2005 16:32:26
Una mano por favor Manuel SQL 3 07-05-2003 09:38:44


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