Ver Mensaje Individual
  #3  
Antiguo 01-09-2011
Ledian_Fdez Ledian_Fdez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Ciudad Habana, Cuba
Posts: 242
Reputación: 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