TTfva permisos cambio clave form
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.

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;