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.
122 lines
3.1 KiB
122 lines
3.1 KiB
unit ufrmVerIE;
|
|
|
|
interface
|
|
|
|
uses
|
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
|
|
System.Classes, Vcl.Graphics,
|
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, umstMaster, Vcl.StdCtrls, Vcl.ComCtrls,
|
|
Data.DB, ZAbstractRODataset, ZAbstractDataset, ZAbstractTable, ZDataset;
|
|
|
|
type
|
|
TConsisteInscricaoEstadual = function(const Insc, UF: AnsiString)
|
|
: Integer; stdcall;
|
|
|
|
type
|
|
TfrmVerIE = class(TmstMaster)
|
|
edt_IE: TEdit;
|
|
lbl_IE: TLabel;
|
|
lbl_UF: TLabel;
|
|
cb_UF: TComboBox;
|
|
btn_verificar: TButton;
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure btn_verificarClick(Sender: TObject);
|
|
private
|
|
procedure WMMoving(var Msg: TWMMoving); message WM_MOVING;
|
|
{ Private declarations }
|
|
public
|
|
{ Public declarations }
|
|
end;
|
|
|
|
var
|
|
frmVerIE: TfrmVerIE;
|
|
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
|
|
uses udtmSystem, System.UITypes;
|
|
|
|
procedure TfrmVerIE.btn_verificarClick(Sender: TObject);
|
|
// código que pega na dll como verificar o IE
|
|
var
|
|
IRet: Integer;
|
|
|
|
LibHandle: THandle;
|
|
ConsisteInscricaoEstadual: TConsisteInscricaoEstadual;
|
|
begin
|
|
try
|
|
begin
|
|
LibHandle := LoadLibrary('DllInscE32.Dll');
|
|
if LibHandle <= HINSTANCE_ERROR then
|
|
raise Exception.Create('Dll não carregada');
|
|
|
|
@ConsisteInscricaoEstadual := GetProcAddress(LibHandle,
|
|
'ConsisteInscricaoEstadual');
|
|
if @ConsisteInscricaoEstadual = nil then
|
|
raise Exception.Create('Entrypoint Download não encontrado na Dll');
|
|
|
|
IRet := ConsisteInscricaoEstadual(edt_IE.Text, cb_UF.Text);
|
|
dtmSystem.tblEstados.Locate('TX_SIGLA', cb_UF.Text, []);
|
|
if IRet = 0 then
|
|
MessageDlg('Inscrição válida para ' +
|
|
dtmSystem.tblEstadosTX_NOME.AsString, mtInformation, [mbOk], 0)
|
|
else if IRet = 1 then
|
|
MessageDlg('Inscrição inválida para ' +
|
|
dtmSystem.tblEstadosTX_NOME.AsString, mtError, [mbOk], 0)
|
|
else
|
|
MessageDlg('Parâmetros inválidos', mtError, [mbOk], 0);
|
|
edt_IE.SetFocus;
|
|
end;
|
|
finally
|
|
FreeLibrary(LibHandle);
|
|
end;
|
|
|
|
end;
|
|
|
|
procedure TfrmVerIE.FormCreate(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
with dtmSystem do
|
|
begin
|
|
qryConsulta.SQL.Text := 'SELECT * FROM SYS_ESTADOS';
|
|
// faz uma pesquisa na tabela estados pra montar o combo box
|
|
qryConsulta.Open;
|
|
qryConsulta.First;
|
|
while not qryConsulta.Eof do
|
|
begin
|
|
cb_UF.Items.Add(qryConsulta.FieldByName('TX_SIGLA').AsString);
|
|
qryConsulta.Next;
|
|
end;
|
|
if not tblCHGEmpresa.IsEmpty then
|
|
begin
|
|
edt_IE.Text := tblCHGEmpresaTX_IE.AsString;
|
|
cb_UF.Text := tblEstadosTX_SIGLA.AsString;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrmVerIE.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.
|