Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-06-2007
Avatar de jorgegetafe
jorgegetafe jorgegetafe is offline
Miembro
 
Registrado: dic 2006
Posts: 238
Poder: 18
jorgegetafe Va por buen camino
Dialogs

Hola, me gustaría un tutorial o alguien que me comente como se utilizan en un form los dialogs (opendialog, savedialog... etc etc) Muchas gracias.
Responder Con Cita
  #2  
Antiguo 04-06-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
En realidad su uso es sencillo... por ejemplo, un OpenDialog creado en tiempo de ejecución:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  AFileName: string;

begin
  with TOpenDialog.Create(nil) do
    try
      // Que filtros queremos usar
      Filter := 'Archivos de texto|*.txt|Secuencias SQL|*.sql';
      // El título de la ventana
      Title := 'Abrir archivo';
      // La extención predeterminada del archivo
      DefaultExt := '.txt';
      // El directorio que se va a mostrar cuando invoques al diálogo
      InitialDir := 'C:\Archivos de programa';
      // Llamamos al diálogo y obtenemos el nombre del archivo seleccionado:
      if Execute then
      begin
        AFileName := FileName
        // Hago lo que quiero con el nombre del archivo:
        if FileExists(AFileName) then
          with TStringList.Create do
            try
              LoadFromFile(AFileName)
            finally
              Free
            end
      end
    finally
      Free
    end
end;

Ya en tiempo de diseño, puedes establecer algunas otras propiedades más...

Para más información, consulta la ayuda de Delphi...



Saludos...
Responder Con Cita
  #3  
Antiguo 04-06-2007
Avatar de jorgegetafe
jorgegetafe jorgegetafe is offline
Miembro
 
Registrado: dic 2006
Posts: 238
Poder: 18
jorgegetafe Va por buen camino
Muchas gracias, pero es que añado ese boton y en tiempo de ejecución no me sale :-(
Responder Con Cita
  #4  
Antiguo 04-06-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
A ver...

Si explicas mejor cual es tu problema nos ayudarías a ayudarte...


Saludos...
Responder Con Cita
  #5  
Antiguo 04-06-2007
Avatar de jorgegetafe
jorgegetafe jorgegetafe is offline
Miembro
 
Registrado: dic 2006
Posts: 238
Poder: 18
jorgegetafe Va por buen camino
Lo siento, es que estoy empezando y no tengo ni idea de nada, yo lo que se hacer es programar para "console aplication" y estoy empezando ahora con esto de los botones.

Quiero creear en una toolbar un boton, que haga las funciones del savedialogs y con su apariencia (es decir que tenga el dibujito del disquete) que no se hacerlo.

Lo que he hecho hasta ahora es poner un savedialogs, pero dicho boton, en tiempo de ejecucion no sale, no aparece, es como si no lo hubiese puesto.

Espero haberme aclarado. Muchas gracias por tu paciencia.
Responder Con Cita
  #6  
Antiguo 04-06-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Es que lo que pusiste en la forma es un componente no visual...

En tiempo de diseño se muestra como un botón.. pero en tiempo de ejecución ya no aparece, solo tienes la referencia a memoria en una variable...

Lo que tienes que hacer es poner un botón en la toolbar (TSpeedBtn por ejemplo) y en su evento OnClick pones algo como:

Código Delphi [-]
procedure TForm1.SpeedBtn1Click(Sender: TObject);
begin
  with SaveDialog1 do
    if Execute then
    begin
      // Guardas el texto de un TMemo en un archivo de texto, por ejemplo:
      Memo1.Lines.SaveToFile(FileName)
    end
end;

Espero te aclare las cosas...


Saludos...
Responder Con Cita
  #7  
Antiguo 04-06-2007
Avatar de jorgegetafe
jorgegetafe jorgegetafe is offline
Miembro
 
Registrado: dic 2006
Posts: 238
Poder: 18
jorgegetafe Va por buen camino
Wueno y si por ejemplo quiero usar un dialog como se hace? se añadirlo a la form y nada más. ¿Como puedo modificar su codigo y aplicarselo a un boton por ejemplo?
Responder Con Cita
  #8  
Antiguo 04-06-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por jorgegetafe
Wueno y si por ejemplo quiero usar un dialog como se hace?
Ya van dos ejemplos que te ponen. ¿Cuál es la duda?

// Saludos
Responder Con Cita
  #9  
Antiguo 04-06-2007
Avatar de jorgegetafe
jorgegetafe jorgegetafe is offline
Miembro
 
Registrado: dic 2006
Posts: 238
Poder: 18
jorgegetafe Va por buen camino
Cita:
Empezado por roman
Ya van dos ejemplos que te ponen. ¿Cuál es la duda?
// Saludos
Vale ellos me han puesto el ejemplo para el savedialog, pero y si quiero utilizar otro dialog? no creo que me tenga que saber el código de cada uno de ellos para utilizarlo en un boton... me gustaría saber como puedo ver ese código para utilizarlo yo en otro lado.

Y no he acabado de entender como usar un dialog... lo arrastro a la form, vale, si le doy doble clic me funciona correctamente, pero como luego en tiempo de ejecución no aparece... pues no puedo usarlo... he de asignar dicho dialog a un boton o algo?
Responder Con Cita
  #10  
Antiguo 04-06-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Como ya te expliqué mensajes arriba, el "botón" que ves en la forma en tiempo de diseño es solo para que puedas establecer los valores de las propiedades en tiempo de diseño.

Todos los componentes de la pestaña Dialogs tienen un método llamado Execute el cual muestra el diálogo en cuestión y devuelve False o True y esto depende de si aceptas o cancelas el diálogo...

Así pués, para usar un TOpenDialog, lo haces de forma parecida a un TSaveDialog:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  with OpenDialog1 do
    if Execute then // Muestra el diálogo Abrir...
      // Aquí haces lo que quieras en caso de que Execute devuelva True
end;

Ahora, el ejemplo anterior supone que tienes un TButton en la forma y este tiene asignado su evento OnClick...

Espero que ahora si se hayan aclarado tus dudas...



Saludos...
Responder Con Cita
  #11  
Antiguo 04-06-2007
Avatar de jorgegetafe
jorgegetafe jorgegetafe is offline
Miembro
 
Registrado: dic 2006
Posts: 238
Poder: 18
jorgegetafe Va por buen camino
Vale, ya se asignar al boton el dialog.

Pero y si quiero modificar el código del dialog? como lo modifico si no lo puedo ver?

Imaginemos que necesito el nombre del fichero que se ha seleccionado en un opendialog, se almacena en alguna variable o algo?

gracias una vez mas
Responder Con Cita
  #12  
Antiguo 04-06-2007
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
Hola,

Cita:
Pero y si quiero modificar el código del dialog? como lo modifico si no lo puedo ver?
A qué te refieres conque quieres modificar el código del diálogo... los diálogos son componentes que de una manera u otra muestran los diálogos estándar de Windows para abrir archivos, guardarlos, etc.

Es decir, generalmente no hay necesidad de modificar nada: se trata de mostrar al usuario un diálogo desde el que pueda elegir un archivo, o para que escoja un sitio donde guardar un archivo.

Es decir, como te han comentado ya:

Código Delphi [-]
begin
  if OpenDialog1.Execute then
    // El usuario eligió un archivo
  else
   // El usuario canceló el diálogo: no eligió ningún archivo
end;
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #13  
Antiguo 04-06-2007
Avatar de jorgegetafe
jorgegetafe jorgegetafe is offline
Miembro
 
Registrado: dic 2006
Posts: 238
Poder: 18
jorgegetafe Va por buen camino
Ok vale.

Pero y volviendo al ejemplo del opendialog, que es ahora el que se me ocurre, como puedo saber que archivo a seleccionado el usuario?

si no puedo/debo modificar el dialog, en el mismo caso de antes, donde le especifico que deje solo abrir fichero por ejemplo .txt?

gracias.
Responder Con Cita
  #14  
Antiguo 04-06-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Si lees mensajes más adelante, verás que existe una propiedad en TOpenDialog que se llama FileName, aquí es donde se guarda el nombre del archivo seleccionado con su ruta completa, algo así: 'C:\Documents and settings\Juanita Banana\Mis documentos\Historia.txt'

Y siguiendo con el ejemplo anterior:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  with OpenDialog1 do
    if Execute then // Muestra el diálogo Abrir...
    begin
      // Mostramos en un message box el nombre del archivo seleccionado
      ShowMessage('El archivo seleccionado es: ' + FileName)
    end
end;

En este mensaje: http://www.clubdelphi.com/foros/show...19&postcount=2 te puse una pequeña descripción de cada propiedad del TSaveDialog, la cual también te sirve para un TOpenDialog... también te recomiendo encarecidamente que leas la ayuda de Delphi sobre TOpenDialog y TSaveDialog, ahí vienen bien descritas las propiedades...

Saludos...

Última edición por maeyanes fecha: 04-06-2007 a las 23:53:19.
Responder Con Cita
  #15  
Antiguo 04-06-2007
Avatar de jorgegetafe
jorgegetafe jorgegetafe is offline
Miembro
 
Registrado: dic 2006
Posts: 238
Poder: 18
jorgegetafe Va por buen camino
Gracias gracias y gracias jejeje menudo trabajo os he dado hoy ;-)
Responder Con Cita
  #16  
Antiguo 04-06-2007
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
Hola,

Cita:
Empezado por maeyanes
C:\Documents and settings\Juanita Banana\Mis documentos\Historia.txt
Je, je, je, je.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #17  
Antiguo 11-06-2007
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
Unhappy

Hola que tal soy nuevo en esto del opendialogs y lo que quiero hacer es un boton tipo examinar de los que tiene window mi problema es que n ose como recuperar la ruta del archivo y asignarsela a un dbedit el boton lo ejecuto y selecciono el archivo pero a la hora de que quiero recuperar la rut esta vacio la linea que utilizo es esta "dbe_mawa.Text:=opd_mawa.Filename;" le agradeceria si me pueden decir por que no funciona de antemano gracias.
Responder Con Cita
  #18  
Antiguo 11-06-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Bienvenido a estos foros... antes que nada, te recomiendo que leas la Guía de estilo

Ahora si, pasando a tu pregunta, si pones el código que usas en el evento OnClick del botón, te podríamos ayudar mejor...



Saludos...
Responder Con Cita
  #19  
Antiguo 11-06-2007
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 22
ixMike Va por buen camino
Cita:
Empezado por jorgegetafe
menudo trabajo os he dado hoy ;-)
En gran parte nos lo habrías ahorrado (bueno, a mí no, no he participado ) mirando la ayuda de Delphi, viene todo muy bien detallado.

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
dialogs no aparecen anubis Varios 2 16-05-2007 09:06:10
Como "hookear" Common Dialogs ajmacias API de Windows 0 27-08-2005 00:19:15


La franja horaria es GMT +2. Ahora son las 11:28:10.


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