- UCBase.pas -> Modificado el formato de las fechas de 'dd/mm/yyyy' a 'mm/dd/yyyy' para que funcione con Firebird. - UCBase.pas -> Cuando se llama a DelCurrentUser comprobar que realmente hay un usuario registrado. git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.UserControl@22 970f2627-a9d2-4748-b3d4-b5283c4fe7db
112 lines
2.6 KiB
ObjectPascal
112 lines
2.6 KiB
ObjectPascal
unit IncPerfil_U;
|
|
|
|
interface
|
|
|
|
{$I 'UserControl.inc'}
|
|
|
|
uses
|
|
{.$IFDEF DELPHI5_UP}
|
|
Variants,
|
|
{.$ENDIF}
|
|
Buttons,
|
|
Classes,
|
|
Controls,
|
|
DB,
|
|
Dialogs,
|
|
ExtCtrls,
|
|
Forms,
|
|
Graphics,
|
|
Messages,
|
|
StdCtrls,
|
|
SysUtils,
|
|
UCBase,
|
|
Windows;
|
|
|
|
type
|
|
TfrmIncluirPerfil = class(TForm)
|
|
Panel1: TPanel;
|
|
LbDescricao: TLabel;
|
|
Image1: TImage;
|
|
Panel3: TPanel;
|
|
btGravar: TBitBtn;
|
|
btCancela: TBitBtn;
|
|
Panel2: TPanel;
|
|
lbNome: TLabel;
|
|
EditDescricao: TEdit;
|
|
procedure btCancelaClick(Sender: TObject);
|
|
procedure btGravarClick(Sender: TObject);
|
|
private
|
|
function GetNewIdUser: Integer;
|
|
{ Private declarations }
|
|
public
|
|
FAltera: Boolean;
|
|
FUserControl: TUserControl;
|
|
FNewIdUser : Integer;
|
|
FDataSetPerfilUsuario : TDataSet;
|
|
end;
|
|
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
|
|
procedure TfrmIncluirPerfil.btCancelaClick(Sender: TObject);
|
|
begin
|
|
Close;
|
|
end;
|
|
|
|
procedure TfrmIncluirPerfil.btGravarClick(Sender: TObject);
|
|
var
|
|
FProfile: String;
|
|
begin
|
|
btGravar.Enabled := False;
|
|
with FUserControl do
|
|
if not FAltera then
|
|
begin // inclui perfil
|
|
FNewIdUser := GetNewIdUser;
|
|
FProfile := EditDescricao.Text;
|
|
if Assigned(onAddProfile) then
|
|
onAddProfile(TObject(Self.Owner.Owner), FProfile);
|
|
|
|
|
|
DataConnector.UCExecSQL(Format('INSERT INTO %s(%s, %s, %s) Values(%d,%s,%s)',
|
|
[TableUsers.TableName,
|
|
TableUsers.FieldUserID,
|
|
TableUsers.FieldUserName,
|
|
TableUsers.FieldTypeRec,
|
|
FNewIdUser,
|
|
QuotedStr(FProfile),
|
|
QuotedStr('P')]));
|
|
|
|
end
|
|
else
|
|
begin // alterar perfil
|
|
//FNewIdUser := TfrmCadastrarPerfil(Self.Owner).FDataSetPerfilUsuario.FieldByName('IdUser').AsInteger;
|
|
FProfile := EditDescricao.Text;
|
|
|
|
DataConnector.UCExecSQL(Format('UPDATE %s SET %s = %s WHERE %s = %d',
|
|
[TableUsers.TableName,
|
|
TableUsers.FieldUserName,
|
|
QuotedStr(FProfile),
|
|
TableUsers.FieldUserID,
|
|
FNewIdUser]));
|
|
end;
|
|
FDataSetPerfilUsuario.Close;
|
|
FDataSetPerfilUsuario.Open;
|
|
FDataSetPerfilUsuario.Locate('IDUser', FNewIdUser, []);
|
|
Close;
|
|
end;
|
|
|
|
function TfrmIncluirPerfil.GetNewIdUser: Integer;
|
|
var
|
|
TempDs: TDataset;
|
|
begin
|
|
with FUserControl do
|
|
TempDS := DataConnector.UCGetSQLDataSet('SELECT ' + TableUsers.FieldUserID + ' as MaxUserID from ' + TableUsers.TableName +
|
|
' ORDER BY ' + TableUsers.FieldUserID + ' DESC');
|
|
Result := TempDs.FieldByName('MaxUserID').AsInteger + 1;
|
|
TempDS.Close;
|
|
FreeAndNil(TempDS);
|
|
end;
|
|
|
|
end.
|