You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

114 lines
2.7 KiB

unit ufrmMovUsuarios;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, umstMaster, Data.DB, Vcl.StdCtrls,
Vcl.DBCtrls, Vcl.ComCtrls, System.UITypes, udtmSystem;
type
TfrmMovUsuarios = class(TmstMaster)
dtsGrupos: TDataSource;
lbl_text: TLabel;
btn_ok: TButton;
btn_cancel: TButton;
ComboBox1: TComboBox;
procedure btn_okClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
procedure WMMoving(var Msg: TWMMoving); message WM_MOVING;
{ Private declarations }
public
id_grupos: array of integer;
{ Public declarations }
end;
var
frmMovUsuarios: TfrmMovUsuarios;
implementation
{$R *.dfm}
uses ucadUsuarios;
procedure TfrmMovUsuarios.btn_okClick(Sender: TObject);
begin
inherited;
// verifica se já existe um usuário com esse nome. se sim não deixa transferir
if cadUsuarios.nome_grupmov = ComboBox1.Text then
begin
MessageDlg('O usuário já pertence a este grupo.', mtInformation, [mbok], 0);
frmMovUsuarios.ModalResult := mrCancel;
abort;
end
else
begin
cadUsuarios.id_grupomov := inttostr(id_grupos[ComboBox1.ItemIndex]);
end;
end;
procedure TfrmMovUsuarios.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
// with dtmSystem do
// begin
// tblGrupos.close;
// tblUsuarios.close;
// qryConsulta.close;
// end;
end;
procedure TfrmMovUsuarios.FormCreate(Sender: TObject);
var
i: integer;
begin
inherited;
with dtmSystem do
begin
// tblGrupos.Open;
// tblUsuarios.Open; // faz a consulta dos grupos pra preencher o combobox
i := 0;
qryConsulta.SQL.Text := 'Select * from SYS_GRUPOS ORDER BY TX_NOME';
qryConsulta.Open;
setlength(id_grupos, qryConsulta.RecordCount);
while not qryConsulta.Eof do
begin
ComboBox1.Items.Add(qryConsulta.FieldByName('tx_nome').AsString);
id_grupos[i] := qryConsulta.FieldByName('id_grupo').AsInteger;
inc(i);
qryConsulta.Next;
end;
qryConsulta.close;
ComboBox1.ItemIndex := tblUsuariosID_GRUPO.AsInteger - 1;
end;
end;
procedure TfrmMovUsuarios.WMMoving(var Msg: TWMMoving);
var
workArea: TRect;
begin
workArea := Screen.WorkareaRect;
with Msg.DragRect^ do
begin
if left < workArea.left then
OffsetRect(Msg.DragRect^, workArea.left - left, 0);
if top < workArea.top then
OffsetRect(Msg.DragRect^, 0, workArea.top - top);
if Right > workArea.Right then
OffsetRect(Msg.DragRect^, workArea.Right - Right, 0);
if Bottom > workArea.Bottom then
OffsetRect(Msg.DragRect^, 0, workArea.Bottom - Bottom);
end;
end;
end.