300 lines
8.1 KiB
ObjectPascal
300 lines
8.1 KiB
ObjectPascal
unit frmTiskyNahledy;
|
|
|
|
interface
|
|
|
|
uses
|
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, System.Types,
|
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.Buttons, Winapi.ShellAPI, ddPlugin_TLB;
|
|
|
|
|
|
const
|
|
LOAD_LIBRARY_AS_IMAGE_RESOURCE = $20;
|
|
|
|
RT_CURSOR = MakeIntResource(1);
|
|
RT_BITMAP = MakeIntResource(2);
|
|
RT_ICON = MakeIntResource(3);
|
|
RT_MENU = MakeIntResource(4);
|
|
RT_DIALOG = MakeIntResource(5);
|
|
RT_STRING = MakeIntResource(6);
|
|
RT_FONTDIR = MakeIntResource(7);
|
|
RT_FONT = MakeIntResource(8);
|
|
RT_ACCELERATOR = MakeIntResource(9);
|
|
RT_RCDATA = System.Types.RT_RCDATA; //MakeIntResource(10);
|
|
DIFFERENCE = 11;
|
|
RT_GROUP_CURSOR = MakeIntResource(DWORD(RT_CURSOR) + DIFFERENCE);
|
|
RT_GROUP_ICON = MakeIntResource(DWORD(RT_ICON) + DIFFERENCE);
|
|
RT_VERSION = MakeIntResource(16);
|
|
RT_DLGINCLUDE = MakeIntResource(17);
|
|
RT_PLUGPLAY = MakeIntResource(19);
|
|
RT_VXD = MakeIntResource(20);
|
|
RT_ANICURSOR = MakeIntResource(21);
|
|
RT_ANIICON = MakeIntResource(22);
|
|
RT_HTML = MakeIntResource(23);
|
|
RT_MANIFEST = MakeIntResource(24);
|
|
|
|
type
|
|
TformTiskyNahledy = class(TForm)
|
|
Panel1: TPanel;
|
|
Label1: TLabel;
|
|
btnAVTisk1: TSpeedButton;
|
|
btnAVTisk2: TSpeedButton;
|
|
btnAVTisk3: TSpeedButton;
|
|
Label2: TLabel;
|
|
Label3: TLabel;
|
|
Label4: TLabel;
|
|
Label5: TLabel;
|
|
Panel2: TPanel;
|
|
Label6: TLabel;
|
|
btnPD1: TSpeedButton;
|
|
btnPD2: TSpeedButton;
|
|
btnPD3: TSpeedButton;
|
|
Label7: TLabel;
|
|
Label8: TLabel;
|
|
Label9: TLabel;
|
|
Panel3: TPanel;
|
|
Label10: TLabel;
|
|
btnPZ1: TSpeedButton;
|
|
btnPZ2: TSpeedButton;
|
|
btnPZ3: TSpeedButton;
|
|
Label11: TLabel;
|
|
Label12: TLabel;
|
|
Label13: TLabel;
|
|
Panel4: TPanel;
|
|
Label14: TLabel;
|
|
btnKV: TSpeedButton;
|
|
Label15: TLabel;
|
|
procedure FormShow(Sender: TObject);
|
|
procedure btnAVTisk1Click(Sender: TObject);
|
|
procedure btnPD1Click(Sender: TObject);
|
|
procedure btnPZ1Click(Sender: TObject);
|
|
procedure btnAVTisk3Click(Sender: TObject);
|
|
procedure btnAVTisk2Click(Sender: TObject);
|
|
private
|
|
public
|
|
Helios: IHelios;
|
|
HeliosHandle: integer;
|
|
idKmen: integer;
|
|
idPrikaz: integer;
|
|
idPaleta: integer;
|
|
idStroj: Integer;
|
|
sarze: string;
|
|
paletList: string;
|
|
end;
|
|
|
|
var
|
|
formTiskyNahledy: TformTiskyNahledy;
|
|
bidPalety: integer;
|
|
idFormKA, idFormPS, idFormPL: integer;
|
|
|
|
implementation
|
|
uses System.StrUtils,
|
|
datMod,
|
|
frmZahajeniPalety, helUtils;
|
|
|
|
{$R *.dfm}
|
|
|
|
|
|
function ResourceNameToString (lpszName: PChar): string;
|
|
begin
|
|
if Is_IntResource(lpszName) then
|
|
Result:= '#' + IntToStr(NativeUInt(lpszName))
|
|
else
|
|
Result:= lpszName;
|
|
end;
|
|
|
|
|
|
function ResourceTypeToString (lpszType: PChar): string;
|
|
begin
|
|
case NativeUInt(lpszType) of
|
|
NativeUInt(RT_CURSOR):
|
|
Result := 'RT_CURSOR';
|
|
NativeUInt(RT_BITMAP):
|
|
Result := 'RT_BITMAP';
|
|
NativeUInt(RT_RCDATA):
|
|
Result := 'RT_RCDATA';
|
|
NativeUInt(RT_GROUP_ICON):
|
|
Result:= 'RT_GROUP_ICON';
|
|
else
|
|
Result := ResourceNameToString (lpszType);
|
|
end;
|
|
end;
|
|
|
|
|
|
function EnumResNameProc (hModule: HMODULE; lpszType, lpszName: PChar; lParam: NativeInt): BOOL; stdcall;
|
|
begin
|
|
TStrings(lParam).Add(ResourceNameToString(lpszName));
|
|
result:= true;
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformTiskyNahledy.btnAVTisk1Click (Sender: TObject);
|
|
var idF: integer;
|
|
begin
|
|
if (idKmen>0) then
|
|
begin
|
|
idF:= helUtils.getHeliosIntVal (Helios, 0, 'SELECT TOP(1) ID FROM ' + tblFormDef + ' WHERE Nazev2=N''PEK-6''');
|
|
if (idF>0) then
|
|
Helios.PrintForm3 (bidDilce, idF, 'TabKmenZbozi.ID=' + idKmen.ToString);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformTiskyNahledy.btnAVTisk2Click (Sender: TObject);
|
|
var lSQL, podm: string;
|
|
idFormNastav: integer;
|
|
begin
|
|
if (bidPalety>0) and (idFormKA>0) then
|
|
begin
|
|
lSQL:= 'SELECT TOP(1) ID FROM ' + tblTiskDef + ' WHERE FormDefID=' + idFormKA.ToString + ' AND LoginName IS NULL ORDER BY Prednastaveno DESC';
|
|
idFormNastav:= helUtils.getHeliosIntVal (Helios, 0, lSQL);
|
|
if (idFormNastav=0) then
|
|
begin
|
|
lSQL:= 'INSERT ' + tblTiskDef + ' (FormDefID, Nazev, Prednastaveno, Implicitni, LevyOkraj, HorniOkraj, TiskFronta) SELECT ' + idFormKA.ToString
|
|
+ ', N''Tisk Zebra'', 1, 0, 0, 0, N''Zebra''' + CRLF + 'SELECT SCOPE_IDENTITY()';
|
|
idFormNastav:= helUtils.getHeliosIntVal (Helios, 0, lSQL);
|
|
end;
|
|
Helios.ExecSQL('UPDATE ' + tblTiskDef + ' SET PocetKopii=1 WHERE ID=' + idFormNastav.ToString);
|
|
|
|
podm:= 'hvw_Vyroba_Palety.CisloPalety=(SELECT TOP(1) CisloPalety FROM ' + datMod.constHvwVyrobaPalety + ' WHERE';
|
|
if (idPaleta>0) then
|
|
podm:= podm + ' ID=' + idPaleta.ToString
|
|
else
|
|
podm:= podm + ' IDPrikaz=' + idPrikaz.ToString + ' AND IDStroj=' + idStroj.ToString + IfThen(paletList<>'', ' AND CisloPalety=N' + paletList.QuotedString, '');
|
|
podm:= podm + ')';
|
|
|
|
Helios.PrintForm3 (bidPalety, idFormKA, podm);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TformTiskyNahledy.btnAVTisk3Click (Sender: TObject); // paletovy listek
|
|
var f: integer;
|
|
f2: TformZahajeniPalety;
|
|
begin
|
|
if (idPrikaz>0) then
|
|
begin
|
|
f2:= TformZahajeniPalety.Create (nil);
|
|
try
|
|
f2.Helios:= Helios;
|
|
f2.opakTisky:= true;
|
|
f2.idPaleta:= idPaleta;
|
|
f2.f2:= self;
|
|
f2.idPrikaz:= idPrikaz;
|
|
f2.idStroj:= datMod.bmIdStroj;
|
|
f2.ShowModal;
|
|
finally
|
|
f2.Free;
|
|
end;
|
|
end;
|
|
{
|
|
if (paletList<>'') and (idKmen>0) and (bidPalety>0) then
|
|
begin
|
|
f:= helUtils.getHeliosIntVal (Helios, 0, 'SELECT ISNULL(_PLKK,0) FROM ' + tblKZe + ' WHERE ID=' + idKmen.ToString);
|
|
if (f>0) then
|
|
Helios.PrintForm3 (bidPalety, f, 'hvw_Vyroba_Palety.CisloPalety=N' + paletList.QuotedString);
|
|
end;
|
|
}
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformTiskyNahledy.btnPD1Click (Sender: TObject);
|
|
var idF: integer;
|
|
begin
|
|
if (datMod.aktIdKmen>0) then
|
|
begin
|
|
idF:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT ID FROM ' + tblFormDef + ' WHERE Nazev2=N''PEK-6''');
|
|
if (idF>0) then
|
|
Helios.PrintForm3 (bidDilce, idF, 'TabKmenZbozi.ID=' + datMod.aktIdKmenPlan.ToString);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformTiskyNahledy.btnPZ1Click (Sender: TObject);
|
|
var idF: integer;
|
|
begin
|
|
if (datMod.aktIdKmen>0) then
|
|
begin
|
|
idF:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT ID FROM ' + tblFormDef + ' WHERE Nazev2=N''PEK-6''');
|
|
if (idF>0) then
|
|
Helios.PrintForm3 (bidDilce, idF, 'TabKmenZbozi.ID=' + datMod.aktIdKmenRozprac.ToString);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformTiskyNahledy.FormShow (Sender: TObject);
|
|
var lSQL: string;
|
|
sl: TStringList;
|
|
hndl: NativeUInt;
|
|
i: integer;
|
|
icn: TIcon;
|
|
begin
|
|
i:= -1;
|
|
sl:= TStringList.Create;
|
|
try
|
|
hndl:= GetModuleHandle(PChar(Application.ExeName));
|
|
EnumResourceNames(hndl, RT_GROUP_ICON, @EnumResNameProc, NativeInt(sl));
|
|
i:= sl.IndexOf('XC_X_PRINT');
|
|
finally
|
|
sl.Free;
|
|
end;
|
|
|
|
if (i>-1) then
|
|
begin
|
|
try
|
|
icn:= TIcon.Create;
|
|
icn.Handle:= ExtractIcon(hndl, PChar(Application.ExeName), i);
|
|
btnAVTisk1.Glyph.Assign(icn);
|
|
btnAVTisk2.Glyph.Assign(icn);
|
|
btnAVTisk3.Glyph.Assign(icn);
|
|
|
|
btnPD1.Glyph.Assign(icn);
|
|
btnPD2.Glyph.Assign(icn);
|
|
btnPD3.Glyph.Assign(icn);
|
|
|
|
btnPZ1.Glyph.Assign(icn);
|
|
btnPZ2.Glyph.Assign(icn);
|
|
btnPZ3.Glyph.Assign(icn);
|
|
|
|
btnKV.Glyph.Assign(icn);
|
|
finally
|
|
icn.Free;
|
|
end;
|
|
end;
|
|
|
|
bidPalety:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT DPBID FROM ' + tblObecPrehled + ' WHERE NazevSys=N''hvw_Vyroba_Palety''');
|
|
|
|
|
|
idFormKA:= 0; // Kartonový štítek (Zebra)
|
|
idFormPS:= 0;
|
|
idFormPL:= 0;
|
|
|
|
lSQL:= 'SELECT * FROM ' + tblKZe + ' WHERE ID=' + idKmen.ToString;
|
|
with Helios.OpenSQL(lSQL) do
|
|
if (RecordCount=1) then
|
|
begin
|
|
First;
|
|
if not(TryStrToInt(VarToStr(FieldByNameValues('_KL')), idFormKA)) then
|
|
idFormKA:= 0;
|
|
if not(TryStrToInt(VarToStr(FieldByNameValues('_PalStitek')), idFormPS)) then
|
|
idFormPS:= 0;
|
|
if not(TryStrToInt(VarToStr(FieldByNameValues('_PLKK')), idFormPL)) then
|
|
idFormPL:= 0;
|
|
end;
|
|
|
|
end;
|
|
|
|
end.
|