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 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
Post Cambiar caption a los botones de OpenDialog1

Hola amigos tengo un OpenDialog1 que lo utilizo en dependencia la acción a realizar tanto para guardar un archivo como para abrirlo, lo cierto es que no se como podría cambiarle el caption de los botones en dependencia al uso que le valla a dar.


Mil grasias de antemano,
Salu2
Responder Con Cita
  #2  
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.

Código Delphi [-]
...
procedure TForm1.OpenDialog1Show(Sender: TObject);
begin
  if TOpenDialog(Sender).Tag = 1 then
    SetDlgItemText(GetParent(OpenDialog1.Handle), IDOK, PChar('&Abrirlo'))
  else
    SetDlgItemText(GetParent(OpenDialog1.Handle), IDOK, PChar ('&Guardarlo'));
end;

procedure TForm1.btnAbrirClick(Sender: TObject);
begin
  OpenDialog1.Tag:= 1;
  if OpenDialog1.Execute then
  ...
end;

procedure TForm1.btnGuardarClick(Sender: TObject);
begin
  OpenDialog1.Tag:= 2;
  if OpenDialog1.Execute then
  ...
end;
...

Saludos.
__________________
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 19:07:14.
Responder Con Cita
  #3  
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
Post Como cambiar el Caption del boton y saber cual ha sido pulsado

Hola amigos estoy haciendo este procedimiento para Salvar y/o Restaurar la base de datos.

Tengo 2 interrogantes.

La 1ra: ¿Cómo sustituir el caption del boton Abrir por Guardar del OpendDialog?
La 2da: Como saber cuando me cierran el OpendDialog por el boton Cancelar.

Código Delphi [-]
type TAccion = (Salva, Restaura);

procedure GestionBD(Accion:TAccion);

{
.
.
.
}
procedure GestionBD(Accion:TAccion);
var
 OpenDialog: TOpenDialog;
 Query: TADOQuery;
 SQL, MSG: String;
begin
 try
   OpenDialog := TOpenDialog.Create(nil);
   OpenDialog.FileName := '';
   OpenDialog.DefaultExt := '.slv';
   OpenDialog.Filter := 'Fichero Salva(*.slv)|*.slv';
   OpenDialog.FilterIndex := 1;
   OpenDialog.Initialdir := ExtractFilePath(application.ExeName) ;

   Query := TADOQuery.Create(nil);
   Query.ConnectionString := 'Provider=SQLOLEDB.1;Workstation ID=LEDIAN;User ID=sa;Password=pass';
   Query.SQL.Clear;

   case Accion of
    Salva:    begin
               SQL := 'Backup database DB to disk = :File';
               OpenDialog.Title := 'Guardar Salva.';
               MSG := 'La Salva se realizó satisfactoriamente';
         // Aqui debe ir el código para sustituir el caption del boton Abrir por Guardar ¿Cómo hacerlo? no se.
              end;
    Restaura: begin
               SQL := 'Restore database DB from disk = :File';
               OpenDialog.Title := 'Selecionar Salva para la Restaura.';
               MSG := 'La Restaura se realizó satisfactoriamente';
              end;
   end;

   OpenDialog.Execute;

   if (not(FileExists(OpenDialog.FileName)) and (Accion = Restaura)) then
     begin
      Application.MessageBox('No se encuentra el archivo de Salva','Error al Restaurar', MB_ICONERROR);
      Abort;
     end;
    try
     Query.SQL.Add(SQL);
     Query.Parameters.ParamByName('File').Value := OpenDialog.FileName;
     Query.ExecSQL;
     Application.MessageBox(PChar(MSG),'Información', MB_ICONINFORMATION);
    except
     Application.MessageBox('No se pudo realizar la Operación.','Error', MB_ICONERROR);
    end;
 finally
  OpenDialog.Free;
  Query.Free;
 end;
end;

Mil grasias de antemano.

Última edición por Ledian_Fdez fecha: 01-09-2011 a las 19:16:43.
Responder Con Cita
  #4  
Antiguo 01-09-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
Tu primera interrogante ecfisa ya magistralmente te la contestó. Con respecto a la segunda, la línea "OpenDialog.Execute;" devolverá False si el usuario presionó el botón "Cancelar" o simplemente cerró la ventana con el botón "X" en la parte superior derecha. Por ejemplo:

Código Delphi [-]
    { .. código anterior .. }
    if not OpenDialog.Execute then // el usuario canceló
        exit;

Saludos,
Chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #5  
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
Post

Muchas grasias Chris por tu ayuda, lo hice como me dijo y no hubo problema. En cuanto al codigo de ecfisa:


Código Delphi [-]
procedure TForm1.OpenDialog1Show(Sender: TObject);
begin
  if TOpenDialog(Sender).Tag = 1 then
    SetDlgItemText(GetParent(OpenDialog1.Handle), IDOK, PChar('&Abrirlo'))
  else
    SetDlgItemText(GetParent(OpenDialog1.Handle), IDOK, PChar ('&Guardarlo'));
end;

No tengo el evento OnShow. lo puse en la linea que habia comentado en mi procedimiento y no hace nada. Sigue saliendo el boton con el texto de Abrir.

Código Delphi [-]
case Accion of
    Salva:    begin
               SQL := 'Backup database DB to disk = :File';
               OpenDialog.Title := 'Guardar Salva.';
               MSG := 'La Salva se realizó satisfactoriamente';
               SetDlgItemText(GetParent(OpenDialog.Handle), IDOK, PChar ('&Guardar'));
              end;

En espera de su respuesta,
Muchas grasias por su ayuda .

Última edición por Ledian_Fdez fecha: 01-09-2011 a las 19:50:30.
Responder Con Cita
  #6  
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.
Cita:
No tengo el evento OnShow.
El evento pertenece al componente TOpenDialog, teniéndolo seleccionado, buscalo en la pestaña Events del Object Inspector.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
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
Post

Hola ecfisa

Cita:
El evento pertenece al componente TOpenDialog, teniéndolo seleccionado, buscalo en la pestaña Events del Object Inspector.
Es que yo no inserte el componente, yo lo cree de esta forma
Código Delphi [-]
OpenDialog := TOpenDialog.Create(nil);

No se como acceder a sus Eventos.

En espera de su ayuda ...

Última edición por Ledian_Fdez fecha: 01-09-2011 a las 20:20:30.
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
Cambiar el color al caption de la form mefixxto OOP 5 09-04-2009 18:28:41
Cambiar Caption de Cualquier Objeto rjtostado Varios 3 15-10-2008 18:01:31
Cambiar caption componentes capo979 Varios 2 22-07-2008 09:04:23
Cambiar Caption Caral Varios 13 08-02-2008 14:22:13
Cambiar Caption Ayuda...!!! alexis19 Varios 3 26-01-2008 14:25:42


La franja horaria es GMT +2. Ahora son las 03:49:17.


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