TTfva permisos cambio clave form

De Pragma Wiki
Revisión del 19:45 29 may 2025 de Luciano Carou (discusión | contribs.) (Página creada con «=Descripción= El objeto '''TTfva_permisos_cambio_clave_form''' (Cambio de clave de un usuario) permite al usuario logueado a la aplicación cambiar su contraseña. miniaturadeimagen|no|Cambiar clave. El usuario debe ingresar: *Clave actual. *Nueva clave. *Repetir la nueva clave. Finalmente presionar "Cambiar clave". =Identidad= Category:MANUAL/PROGRAMADOR Category:EXPLORADOR *Ancestro: …»)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda

Descripción

El objeto TTfva_permisos_cambio_clave_form (Cambio de clave de un usuario) permite al usuario logueado a la aplicación cambiar su contraseña.

Cambiar clave.

El usuario debe ingresar:

  • Clave actual.
  • Nueva clave.
  • Repetir la nueva clave.

Finalmente presionar "Cambiar clave".

Identidad

  • Ancestro: TfvsForm
  • Carpeta: C:\DevelopPrx\library
  • Archivo: fva_permisos_cambio_clave_form.pas

Declaración

type
  TTfva_permisos_cambio_clave_form = class(TTfvsForm)
    Panel1: TPanel;
    Panel_Usuario: TPanel;
    Panel_UsuarioI: TPanel;
    Panel_UsuarioD: TPanel;
    prxEdit_ClaveActual: TEdit;
    Panel_Clave: TPanel;
    Panel_ClaveI: TPanel;
    Panel_ClaveD: TPanel;
    prxEdit_NuevaClave: TEdit;
    Panel_conectar_dominio: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel6: TPanel;
    prxEdit_Confirmacion: TEdit;
    Button_CambiarClave: TButton;
    SpeedButton_Cancelar: TSpeedButton;
    procedure FormShow(Sender: TObject); //override;
    procedure prxEdit_ClaveActualExit(Sender: TObject);
    procedure prxEdit_NuevaClaveExit(Sender: TObject);
    procedure prxEdit_ConfirmacionExit(Sender: TObject);
    procedure Button_CambiarClaveClick(Sender: TObject);
    procedure SpeedButton_CancelarClick(Sender: TObject);
  private
  protected
  public
    function    login_user: String;
    function    clave_original: String;
    function    clave_nueva: String;
  end;

Implementación

function login_user: String

Retorna el código de usuario logueado tomándolo de prxADOClientDM.ADOMainConnection.login_user.

function clave_original: String

Retorna clave actual tomándola de la caja de edición:

Result := Trim(prxEdit_ClaveActual.Text);

function clave_nueva: String

Retorna nueva clave tomándola de la caja de edición:

Result := Trim(prxEdit_NuevaClave.Text);

procedure prxEdit_ClaveActualExit(Sender: TObject)

Evento OnExit sobre el control de edición de la clave actual que verifica que sea correcta.

procedure prxEdit_NuevaClaveExit(Sender: TObject)

Evento OnExit sobre el control de edición de la nueva clave actual que verifica que contenga algo y que no sea igual a la anterior.

procedure prxEdit_ConfirmacionExit(Sender: TObject)

Evento OnExit sobre el control de edición de la confirmación de la nueva clave actual que verifica que sea igual a la nueva clave.

procedure Button_CambiarClaveClick(Sender: TObject)

Ejecutado cuando presionamos el botón de "Cambiar clave" cierra el form con ModalResult := mrOk.

procedure SpeedButton_CancelarClick(Sender: TObject)

Ejecutado cuando presionamos el botón "Cancelar" cierra el form con ModalResult := mrCancel.

Uso

Solo es usado desde TUSUARIO_implemented.ChangePasswordClick, si el resultado del form es mrOk hace el cambio de clave en el servidor con:

procedure TUSUARIO_implemented.ChangePasswordClick(Sender: TObject);
var
  vF: TTfva_permisos_cambio_clave_form;
begin
  inherited;

  vF := TTfva_permisos_cambio_clave_form.Create(Self);
  vF.ShowModal;

  if vF.ModalResult = mrOk then
     begin
     QueryAUX.SQLX.Clear;
     QueryAUX.SQLX.Add('IF EXISTS (SELECT * FROM master.dbo.syslogins WHERE name = ' + Q(vF.login_user) + ')');
     QueryAUX.SQLX.Add('   ALTER LOGIN ' + vF.login_user + ' WITH PASSWORD = ' + Q(vF.clave_nueva) + ' OLD_PASSWORD = ' + Q(vF.clave_original));
     QueryAUX.SQLX.Add('GO');

     if QueryAUX.Apply_Local(QueryAUX.SQLX) then
        fvsInformationDlg(Self, 'El cambio de clave se ha realizado con éxito');
     end;

  vF.Release;
end;