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.