Files
Rootvin-pluginHDCRTN/frmTiskyNahledy.pas
2025-05-21 21:06:33 +02:00

284 lines
7.4 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;
idStroj: Integer;
sarze: string;
paletList: string;
end;
var
formTiskyNahledy: TformTiskyNahledy;
bidPalety: integer;
implementation
uses 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 (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.aktIdKmen.ToString);
end;
Close;
end;
procedure TformTiskyNahledy.btnAVTisk2Click (Sender: TObject);
var lSQL: string;
f: integer;
i: integer;
begin
if (idKmen>0) and (bidPalety>0) then
begin
f:= helUtils.getHeliosIntVal (Helios, 0, 'SELECT ISNULL(_KL,0) FROM ' + tblKZe + ' WHERE ID=' + idKmen.ToString);
if (f>0) then
begin
lSQL:= 'SELECT COUNT(ID) FROM ' + datMod.constHvwVyrobaPalety + ' x WHERE x.IDKmen=' + idKmen.ToString;
if (paletList<>'') then
lSQL:= lSQL + ' AND x.CisloPalety=N' + paletList.QuotedString
else
begin
if (sarze<>'') then
lSQL:= lSQL + ' AND x.Sarze=N' + sarze.QuotedString;
if (idPrikaz>0) then
lSQL:= lSQL + ' AND x.IDPrikaz=' + idPrikaz.ToString;
if (idStroj>0) then
lSQL:= lSQL + ' AND x.IDStroj=' + idStroj.ToString;
end;
i:= helUtils.getHeliosIntVal (Helios, 0, lSQL);
if (i=1) then
begin
lSQL:= lSQL.Replace('SELECT COUNT(ID) FROM ' + datMod.constHvwVyrobaPalety + ' x WHERE', '');
lSQL:= lSQL.Replace('x', datMod.constHvwVyrobaPalety);
Helios.PrintForm3 (bidPalety, f, lSQL.Trim);
end;
end;
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.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;
Close;
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;
Close;
end;
procedure TformTiskyNahledy.FormShow (Sender: TObject);
var 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''');
end;
end.