Prvni verze na Git

This commit is contained in:
2026-04-20 16:57:38 +02:00
parent 8b67223830
commit 791121c56d
43 changed files with 10967 additions and 0 deletions
+9
View File
@@ -77,7 +77,16 @@ __recovery/
# Castalia statistics file (since XE7 Castalia is distributed with Delphi)
*.stat
.gitignore
*.log
*.dxsettings
*.7z
*.zip
*.skincfg
*.json
# Boss dependency manager vendor folder https://github.com/HashLoad/boss
modules/
importKusovnikCAD/
+973
View File
@@ -0,0 +1,973 @@
unit ComObjekt;
{$I HeODefine.inc}
INTERFACE
uses System.Win.ComObj, System.Classes, System.StrUtils, System.SysUtils, ddPlugin_TLB, Winapi.Windows;
const
Class_Monte: TGUID = '{32EAE564-687F-475D-9CFC-49F18260D835}';
CRLF = #13#10;
clRed = $0000FF;
tblImpKusXLS = '[dbo].[_HDC_ImportKusovnikXLS]';
BrowseID_PluginInfo = 871;
type
TKmen = record
poz, idKmen, vyrobceCisOrg: integer;
cislo, nazev, vyrobce, norma, rozmer, material, pu, pozn, jakObj: string;
mnoz: Extended;
{$IF CompilerVersion>=34} // Sydney a vys
class operator Initialize (out Dest: TKmen);
{$ENDIF}
end;
TKmenHelper = record helper for TKmen
function Clear: Boolean;
end;
// !!! pri zmene IHePluginXX upravit take v plgAbout - info o jadru !!!
TplgHDCMontekord = class(TComObject, {$IFDEF IHePlugin3} IHePlugin3 {$ELSE} IHePlugin {$ENDIF})
protected
// function DelphiCompilerVersion: Single; safecall;
// function PartnerIdentification: WideString; safecall;
procedure Run (const Helios: IHelios); safecall;
private
FHelios: IHelios;
procedure OnException (Sender: TObject; E: Exception);
public
procedure ImportKusovniku (const Helios: IHelios); safecall;
end;
IMPLEMENTATION
uses System.Variants, Vcl.Controls, System.Win.ComServ, System.Types, Vcl.Forms, Winapi.ShlObj, Vcl.Dialogs,
Vcl.StdCtrls, System.DateUtils, Vcl.Clipbrd,
FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf, FireDAC.Stan.Def,
FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys, FireDAC.Phys.MSSQL, FireDAC.Phys.MSSQLDef, FireDAC.VCLUI.Wait,
FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf, FireDAC.DApt, FireDAC.Phys.ODBCBase, Data.DB,
FireDAC.Comp.DataSet, FireDAC.Comp.Client, FireDAC.Comp.UI,
frmImportKusovnik,
{$IFDEF Helios_Space}
plgKonfig, plgType, plgMain, plgSpravce,
// [RK 13.04.2012] nove komponenty DevExpress toto vyzaduji, jinak zatuhne Helios
dxGDIPlusAPI, dxCore, {!initialization!}
{$ENDIF}
nExcel, xlsxwrite, helUtils;
var HeliosX: IHelios;
oVar1, oVar2: OleVariant;
LocalFormatSettings: TFormatSettings;
jeTest: boolean;
bidPrednaOpAll: integer;
cestaExport, verText: string;
kartyImport: TArray<TKmen>;
vTab, vTab2: TFDMemTable;
ds, ds2: TDataSource;
sql, sql2: TFDQuery;
function NullOrQuotedString(inStr: string): string;
begin
inStr:= Trim(inStr);
if (inStr='') then
result:= 'NULL'
else
result:= QuotedStr(inStr);
end;
{ TKmenHelper }
function TKmenHelper.Clear: Boolean;
begin
result:= true;
try
self.idKmen:= 0;
self.poz:= 0;
self.vyrobceCisOrg:= 0;
self.mnoz:= 0;
self.cislo:= '';
self.nazev:= '';
self.vyrobce:= '';
self.norma:= '';
self.jakObj:= '';
self.rozmer:= '';
self.material:= '';
self.pu:= '';
self.pozn:= '';
except
result:= false;
end;
end;
{$IF CompilerVersion>=34} // Sydney a vys
class operator TKmen.Initialize (out Dest: TKmen);
begin
Dest.idKmen:= 0;
Dest.poz:= 0;
Dest.vyrobceCisOrg:= 0;
Dest.mnoz:= 0;
Dest.cislo:= '';
Dest.nazev:= '';
Dest.vyrobce:= '';
Dest.norma:= '';
Dest.rozmer:= '';
Dest.material:= '';
Dest.pu:= '';
Dest.pozn:= '';
Dest.jakObj:= '';
end;
{$ENDIF}
function VyberAdresar (var Foldr: string; Title: string): Boolean;
var BrowseInfo: TBrowseInfo;
ItemIDList: PItemIDList;
DisplayName: array[0..MAX_PATH] of Char;
begin
Result := False;
FillChar(BrowseInfo, SizeOf(BrowseInfo), #0);
with BrowseInfo do
begin
hwndOwner := Application.Handle;
pszDisplayName := @DisplayName[0];
lpszTitle := PChar(Title);
ulFlags := BIF_RETURNONLYFSDIRS;
end;
ItemIDList := SHBrowseForFolder(BrowseInfo);
if Assigned(ItemIDList) then
if SHGetPathFromIDList(ItemIDList, DisplayName) then
begin
Foldr := DisplayName;
Result := True;
end;
end;
function OtevriSoubor (flt1,flt2: string; var nazev: string): Boolean;
var dlgOpenW7: TFileOpenDialog; // dialog pro Windows Vista a novejsi
titulek, filtr1, filtr2: string;
iniDir: string;
begin
result:= false;
titulek:= 'Vyberte soubor pro import';
filtr1:= IfThen(flt1<>'',flt1,'XLS/X soubory');
filtr2:= IfThen(flt2<>'',flt2,'*.xls, *.xlsx');
nazev:= '';
iniDir:= GetEnvironmentVariable('USERPROFILE') + '\Desktop';
try
dlgOpenW7:= TFileOpenDialog.Create(nil);
dlgOpenW7.Title:= titulek;
dlgOpenW7.OkButtonLabel:= 'Vybrat';
with dlgOpenW7.FileTypes.Add do
begin
DisplayName:= filtr1;
FileMask:= filtr2;
end;
dlgOpenW7.DefaultFolder:= iniDir;
if dlgOpenW7.Execute then
begin
nazev:= dlgOpenW7.FileName;
result:= true;
end;
finally
dlgOpenW7.Free;
end;
end;
procedure TplgHDCMontekord.OnException (Sender: TObject; E: Exception);
begin
try
LockWindowUpdate (0);
{$IFDEF Helios_Space}
FHelios.Error (plgPrelozException (E.Message));
{$ENDIF}
except
Vcl.Forms.Application.ShowException (E); //pro jistotu
end;
end;
procedure TplgHDCMontekord.ImportKusovniku (const Helios: IHelios);
var lSQL, lSQL2, podm: string;
xls: IXLSWorkBook;
shKarty: IXLSWorksheet;
karta: TKmen;
iTemp, idKZ, idKZFin: integer;
sTemp: string;
filtr1, filtr2, fName, colName, readVal, lastNRC, lastVRC, rcFin: string;
insId, idxR, iRowMax, iCol, iColMax, cEmptyRadek: integer;
mnoz, ztraty: Extended;
i_Poz, i_CisloDilu, i_Nazev, i_Ks, i_Vyrobce, i_Norma, i_Rozmer, i_Material, i_PU, i_ziskani, i_pozn: integer;
radekV00: boolean;
begin
filtr1:= 'Sešit MS Excel 2003-2019';
filtr2:= '*.xls;*.xlsx;';
if OtevriSoubor(filtr1, filtr2, fName) then
if (FileExists(fName)) then
begin
Screen.Cursor:= crHourGlass;
xls:= TXLSWorkbook.Create;
try
xls.Open(fName);
shKarty:= xls.Sheets.Entries[1];
i_Poz:= 0;
lastNRC:= '';
lastVRC:= '';
iRowMax:= 0;
cEmptyRadek:= 0;
try
for idxR:=1 to 60000 do
begin
if (cEmptyRadek>5) then
begin
iRowMax:= idxR;
Break;
end;
if (VarIsNull(shKarty.Cells.Item[idxR, 1].Value)) then
Inc(cEmptyRadek)
else
if (VarToStr(shKarty.Cells.Item[idxR, 1].Value)='') then
Inc(cEmptyRadek)
else
cEmptyRadek:= 0;
end;
except on E:Exception do
Helios.Error(#1'idxR: ' + idxR.ToString + CRLF + E.Message + #1)
end;
for idxR:=iRowMax downto 1 do
begin
if (not VarIsNull(shKarty.Cells.Item[idxR, 1].Value)) then
if (VarToStr(shKarty.Cells.Item[idxR, 1].Value)<>'') then
begin
iRowMax:= idxR;
Break;
end;
end;
if (iRowMax>1) then
begin
rcFin:= '';
if (jeTest) then
begin
lSQL:= 'IF OBJECT_ID(N''dbo._TabHDCKusovnik'', N''U'') IS NULL' + CRLF;
lSQL:= lSQL + ' CREATE TABLE dbo._TabHDCKusovnik (ID INT IDENTITY(1,1) NOT NULL, IDKmenVyssi INT, IDKmenNizsi INT, Pozice SMALLINT, CisloDilu NVARCHAR(50)';
lSQL:= lSQL + ', Nazev NVARCHAR(100), Mnozstvi NUMERIC(19,6) NOT NULL DEFAULT 0.0, Vyrobce NVARCHAR(100), CisOrgDod INT, Norma NVARCHAR(100), Rozmer NVARCHAR(50), Material NVARCHAR(50)';
lSQL:= lSQL + ', PovrchovaUprava NVARCHAR(100), JakZiskat NVARCHAR(50), Poznamka NVARCHAR(500) )' + CRLF;
lSQL:= lSQL + ' ELSE TRUNCATE TABLE dbo._TabHDCKusovnik';
end
else
begin
lSQL:= 'DROP TABLE IF EXISTS #TabHDCKusovnik' + CRLF;
lSQL:= lSQL + 'CREATE TABLE #TabHDCKusovnik (ID INT IDENTITY(1,1) NOT NULL, IDKmenVyssi INT, IDKmenNizsi INT, Pozice SMALLINT, CisloDilu NVARCHAR(50)';
lSQL:= lSQL + ', Nazev NVARCHAR(100), Mnozstvi NUMERIC(19,6) NOT NULL DEFAULT 0.0, Vyrobce NVARCHAR(100), CisOrgDod INT, Norma NVARCHAR(100), Rozmer NVARCHAR(50), Material NVARCHAR(50)';
lSQL:= lSQL + ', PovrchovaUprava NVARCHAR(100), JakZiskat NVARCHAR(50), Poznamka NVARCHAR(500) )' + CRLF;
end;
Helios.ExecSQL(lSQL);
for iCol:=1 to 30 do
begin
{
if (VarIsNull(shKarty.Cells.Item[1, iCol].Value)) then
begin
iColMax:= iCol-1;
Break;
end;
if (VarToStr(shKarty.Cells.Item[1, iCol].Value)='') then
begin
iColMax:= iCol-1;
Break;
end;
}
if (shKarty.Cells.Item[1, iCol].Value='POZ') then
i_Poz:= iCol;
if (shKarty.Cells.Item[1, iCol].Value='Číslo dílu') then
i_CisloDilu:= iCol;
if (shKarty.Cells.Item[1, iCol].Value='Název') then
i_Nazev:= iCol;
if (shKarty.Cells.Item[1, iCol].Value='KS') then
i_Ks:= iCol;
if (shKarty.Cells.Item[1, iCol].Value='Výrobce') then
i_Vyrobce:= iCol;
if (shKarty.Cells.Item[1, iCol].Value='NORMA') then
i_Norma:= iCol;
if (shKarty.Cells.Item[1, iCol].Value='ROZMĚR') then
i_Rozmer:= iCol;
if (shKarty.Cells.Item[1, iCol].Value='MATER.') then
i_Material:= iCol;
if (shKarty.Cells.Item[1, iCol].Value='PÚ') then
i_PU:= iCol;
if (shKarty.Cells.Item[1, iCol].Value='získání') then
i_ziskani:= iCol;
if (VarToStr(shKarty.Cells.Item[1, iCol].Value).Trim='Pozn před') then
i_pozn:= iCol;
end;
if (i_Poz=0) or (i_CisloDilu=0) or (i_Norma=0) then
begin
Helios.Error(#1'Tabulka není v požadovaném formátu'#1);
Exit;
end;
if (i_Poz>0) and (i_CisloDilu>0) and (i_Norma>0) then
begin
// helUtils.waitStart(nil, 'Import dat...', iRowMax, clRed);
vTab:= TFDMemTable.Create(nil);
try
with vTab do
begin
FieldDefs.Add('vPoz', ftInteger, 0, true);
FieldDefs.Add('vCisloDilu', ftString, 50, true);
FieldDefs.Add('vNazev', ftString, 100, true);
FieldDefs.Add('vKs', ftFloat, 0, true);
FieldDefs.Add('vVyrobce', ftString, 100, false);
FieldDefs.Add('vCisOrgDod', ftInteger, 0, false);
FieldDefs.Add('vNorma', ftString, 100, false);
FieldDefs.Add('vRozmer', ftString, 100, false);
FieldDefs.Add('vMaterial', ftString, 100, false);
FieldDefs.Add('vPU', ftString, 100, false);
FieldDefs.Add('vZiskani', ftString, 50, false);
FieldDefs.Add('vPozn', ftString, 1000, false);
FieldDefs.Add('vIdKmen', ftInteger, 0, false);
CreateDataSet;
Open;
end;
// waitStart(nil, 'Vytváření pomocné tabulky...', sheet.LastRow, $0000FF); // clRed
// helUtils.waitSetMsg('Probíhá zápis dat...');
idxR:= 2;
// nacti radky
while (idxR<=iRowMax) do
begin
karta.Clear;
if not(VarIsNull(shKarty.Cells.Item[idxR, i_Poz].Value)) then
begin
if not(TryStrToInt(shKarty.Cells.Item[idxR, i_Poz].Value, karta.poz)) then
karta.poz:= 0;
if (i_CisloDilu>0) then
karta.cislo:= IfThen(not VarIsNull(shKarty.Cells.Item[idxR, i_CisloDilu].Value), VarToStr(shKarty.Cells.Item[idxR, i_CisloDilu].Value), '').Replace(#10, '');
if (i_Nazev>0) then
karta.nazev:= IfThen(not VarIsNull(shKarty.Cells.Item[idxR, i_Nazev].Value), VarToStr(shKarty.Cells.Item[idxR, i_Nazev].Value), '').Replace(#10, '');
if not(TryStrToFloat(shKarty.Cells.Item[idxR, i_Ks].Value, karta.mnoz)) then
karta.mnoz:= 0;
if (i_Vyrobce>0) then
begin
karta.vyrobce:= IfThen(not VarIsNull(shKarty.Cells.Item[idxR, i_Vyrobce].Value), VarToStr(shKarty.Cells.Item[idxR, i_Vyrobce].Value), '').Replace(#10, '');
if (karta.vyrobce<>'') then
begin
lSQL2:= 'SELECT TOP(1) c.CisloOrg FROM ' + tblCOrg + ' c INNER JOIN ' + tblCOrgE + ' ce ON (ce.ID=c.ID) WHERE ce._NazevProImportKusovniku=N' + karta.vyrobce.QuotedString;
karta.vyrobceCisOrg:= helUtils.getHeliosIntVal(Helios, 0, lSQL2);
end;
end;
if (i_Norma>0) then
karta.norma:= IfThen(not VarIsNull(shKarty.Cells.Item[idxR, i_Norma].Value), VarToStr(shKarty.Cells.Item[idxR, i_Norma].Value), '').Replace(#10, '');
if (i_Rozmer>0) then
karta.rozmer:= IfThen(not VarIsNull(shKarty.Cells.Item[idxR, i_Rozmer].Value), VarToStr(shKarty.Cells.Item[idxR, i_Rozmer].Value), '').Replace(#10, '');
if (i_Material>0) then
karta.material:= IfThen(not VarIsNull(shKarty.Cells.Item[idxR, i_Material].Value), VarToStr(shKarty.Cells.Item[idxR, i_Material].Value), '').Replace(#10, '');
if (i_PU>0) then
karta.pu:= IfThen(not VarIsNull(shKarty.Cells.Item[idxR, i_PU].Value), VarToStr(shKarty.Cells.Item[idxR, i_PU].Value), '').Replace(#10, '');
if (i_ziskani>0) then
karta.jakObj:= IfThen(not VarIsNull(shKarty.Cells.Item[idxR, i_ziskani].Value), VarToStr(shKarty.Cells.Item[idxR, i_ziskani].Value), '');
if (i_pozn>0) then
karta.pozn:= IfThen(not VarIsNull(shKarty.Cells.Item[idxR, i_pozn].Value), VarToStr(shKarty.Cells.Item[idxR, i_pozn].Value), '').Replace(#10, CRLF);
end;
lSQL:= 'INSERT ' + tblImpKusXLS + ' (Pozice, CisloDilu, Nazev, Mnozstvi, Vyrobce, Norma, Rozmer, Material, PU, JakZiskat, Poznamka) SELECT ' + karta.poz.ToString;
lSQL:= lSQL + ', N' + karta.cislo.QuotedString + ', N' + karta.nazev.QuotedString + ', ' + karta.mnoz.ToString.Replace(',', '.') + ', N' + karta.vyrobce.QuotedString;
lSQL:= lSQL + ', N' + karta.norma.QuotedString + ', N' + karta.rozmer.QuotedString + ', N' + karta.material.QuotedString + ', N' + karta.pu.QuotedString;
lSQL:= lSQL + ', N' + karta.jakObj.QuotedString + ', N' + karta.pozn.QuotedString;
try
Helios.ExecSQL(lSQL);
finally
end;
karta.idKmen:= 0;
if (karta.poz>0) then
begin
if (rcFin='') and (karta.cislo<>'') and (idKZFin=0) then
begin
idKZFin:= 0;
rcFin:= LeftStr(karta.cislo, karta.cislo.IndexOf('-')) + MidStr(karta.cislo, karta.cislo.IndexOf('-')+2, 255);
rcFin:= LeftStr(rcFin, rcFin.IndexOf('-'));
rcFin:= LeftStr(rcFin, 2) + '-' + MidStr(rcFin, 3, 30);
idKZFin:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT ID FROM ' + tblKZ + ' WHERE RegCis=N' + rcFin.QuotedString + ' AND SkupZbo=N''500''');
if (idKZFin=0) then
begin
lSQL2:= 'DECLARE @idKZ INT' + CRLF + 'EXEC @idKZ=dbo.hp_VytvorPolozkuKmeneZbozi @SZ=N''500'', @RegCis=N' + rcFin.QuotedString;
lSQL2:= lSQL2 + ', @Nazev1=N' + rcFin.QuotedString +', @Dilec=1' + CRLF + 'SELECT @idKZ AS newid';
with Helios.OpenSQL(lSQL2) do
if (RecordCount=1) then
idKZFin:= VarToStr(FieldByNameValues('newid')).ToInteger;
end;
end;
if (karta.poz<300) and (karta.idKmen=0) then
begin
karta.idKmen:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT ID FROM ' + tblKZ + ' WHERE RegCis=N' + karta.cislo.QuotedString + ' AND SkupZbo=N''300''');
if (karta.idKmen=0) then
begin
lSQL2:= 'DECLARE @idKZ INT' + CRLF + 'EXEC @idKZ=dbo.hp_VytvorPolozkuKmeneZbozi @SZ=N''300'', @RegCis=N' + karta.cislo.QuotedString;
lSQL2:= lSQL2 + ', @Nazev1=N' + karta.nazev.QuotedString +', @Dilec=1' + CRLF + 'SELECT @idKZ AS newid';
with Helios.OpenSQL(lSQL2) do
if (RecordCount=1) then
karta.idKmen:= VarToStr(FieldByNameValues('newid')).ToInteger;
end;
if (karta.idKmen>0) then
begin
lSQL2:= 'DECLARE @zmenaOd INT, @zmenaOdOld INT' + CRLF + 'SET @zmenaOdOld=(SELECT TOP(1) ID FROM ' + tblCZmen + ' WHERE datum<=GETDATE() AND Platnost=1)' + CRLF;
lSQL2:= lSQL2 + 'IF NOT EXISTS (SELECT 1 FROM ' + tblKVaz + ' WHERE vyssi=' + idKZFin.ToString + ' AND nizsi=' + karta.idKmen.ToString + ' AND ZmenaDo IS NULL)' + CRLF;
lSQL2:= lSQL2 + ' BEGIN' + CRLF + ' SET @zmenaOd=(SELECT MAX(ZmenaOd) FROM ' + tblKVaz + ' WHERE vyssi=' + idKZFin.ToString + ' AND nizsi=' + karta.idKmen.ToString + ')' + CRLF;
lSQL2:= lSQL2 + ' IF (@zmenaOd IS NULL) AND (@zmenaOdOld IS NOT NULL) SET @zmenaOd = @zmenaOdOld' + CRLF;
lSQL2:= lSQL2 + ' INSERT ' + tblKVaz + ' (vyssi, nizsi, mnozstvi, mnozstviSeZtratou, Prirez, Pozice, ZmenaOd) SELECT ' + idKZFin.ToString + ', ' + karta.idKmen.ToString;
lSQL2:= lSQL2 + ', ' + karta.mnoz.ToString.Replace(',', '.') + ', ' + karta.mnoz.ToString.Replace(',', '.') + ', 1, N' + karta.poz.ToString.QuotedString + ', @zmenaOd' + CRLF;
lSQL2:= lSQL2 + ' END' + CRLF;
Helios.ExecSQL(lSQL2);
end;
karta.idKmen:= 0;
end
else
begin
lSQL:= 'SELECT d.IDKmenZbozi FROM ' + tblDodavateleZboziE + ' e JOIN ' + tblDodavateleZbozi + ' d ON (d.ID=e.ID) WHERE e._KodDodavatele LIKE N';
lSQL:= lSQL + ('%' + karta.norma + '%').QuotedString;
iTemp:= helUtils.getHeliosRowCount(Helios, lSQL);
if (iTemp=0) then
begin // zalozeni nove karty
lSQL2:= 'DECLARE @idKZ INT' + CRLF + 'EXEC @idKZ=dbo.hp_VytvorPolozkuKmeneZbozi @SZ=N''100'', @RegCis=NULL, @Nazev1=N' + karta.nazev.QuotedString +', @Material=1' + CRLF;
lSQL2:= lSQL2 + 'SELECT @idKZ AS newid';
with Helios.OpenSQL(lSQL2) do
if (RecordCount=1) then
karta.idKmen:= VarToStr(FieldByNameValues('newid')).ToInteger;
if (karta.idKmen>0) then
begin
lSQL2:= 'UPDATE ' + tblKZ + ' SET Aktualni_Dodavatel=' + karta.vyrobceCisOrg.ToString + ' WHERE ID=' + karta.idKmen.ToString;
Helios.ExecSQL(lSQL2);
end;
end
else
if (iTemp=1) then
karta.idKmen:= helUtils.getHeliosIntVal(Helios, 0, lSQL)
else
begin
podm:= 'TabKmenZbozi.ID IN (' + lSQL + ')';
podm:= 'TabKmenZbozi.Sluzba=0';
if (Helios.Prenos(bidKZ, 'TabKmenZbozi.ID', oVar1, podm, 'Vyberte materiál pozice ' + karta.poz.ToString + ' / číslo dílu ' + karta.cislo
+ ' / název ' + karta.nazev + ' >> norma (kód dodavatele) ' + karta.norma, false)) then
karta.idKmen:= VarToStr(oVar1).ToInteger;
end;
end;
if (karta.idKmen>0) then
begin
lSQL:= 'INSERT #TabHDCKusovnik (IDKmenVyssi, IDKmenNizsi, Pozice, CisloDilu, Nazev, Mnozstvi, Vyrobce, CisOrgDod, Norma, Rozmer, Material, PovrchovaUprava, JakZiskat, Poznamka)';
lSQL:= lSQL + ' SELECT ' + idKZFin.ToString + ', ' + karta.idKmen.ToString + ', ' + karta.poz.ToString + ', N' + karta.cislo.QuotedString + ', N' + karta.nazev.QuotedString;
lSQL:= lSQL + ', ' + karta.mnoz.ToString.Replace(',', '.') + ', N' + karta.vyrobce.QuotedString + ', ' + karta.vyrobceCisOrg.ToString + ', N' + karta.norma.QuotedString;
lSQL:= lSQL + ', N' + karta.rozmer.QuotedString + ', ' + karta.material.QuotedString + ', N' + karta.pu.QuotedString + ', N' + karta.jakObj.QuotedString;
lSQL:= lSQL + ', N' + karta.pozn.QuotedString;
if (jeTest) then
lSQL:= lSQL.Replace('#Tab', 'dbo._Tab');
Helios.ExecSQL(lSQL);
end;
end;
Inc(idxR);
end;
try
Helios.ExecSQL('UPDATE ' + tblImpKusXLS + ' SET Projekt=N' + rcFin.QuotedString + 'WHERE Projekt IS NULL');
Helios.ExecSQL('IF OBJECT_ID(N''dbo.ep_HDC_VytvorKusovnikXLS'', N''P'') IS NOT NULL EXEC dbo.ep_HDC_VytvorKusovnikXLS @projekt=N' + rcFin.QuotedString);
except on E:Exception do
Helios.Error(#1'Chyba vytváření kusovníku'#1 + CRLF + E.Message);
end;
finally
vTab.Free;
end;
// helUtils.waitEnd;
end;
end;
finally
{$IF CompilerVersion < 34.0} // SYDNEY
FreeAndNil(xls);
{$ENDIF}
end;
Screen.Cursor:= crDefault;
end;
Helios.Info(#1'Akce ukončena'#1);
end;
procedure TplgHDCMontekord.Run (const Helios: IHelios);
const MinVerzeHelios = $030020260300;
var typAkce: integer;
browID, cRec, cntID, l_loop, idDZ, dpz, cOrg, newBid: integer;
verzePlg, verzePlg2, plgNazev: string;
verzePlg64: Int64;
lSQL, autor, radDokl, IDcka, params, paramsBak, vlastPar, vlastPar2, contInfo, sz, podm: string;
arrId: TArray<integer>;
term: boolean;
f1: TformImportKusovnik;
{$IFDEF Helios_Space}
PomHandle: THandle;
MinVerze: Int64;
Porovnani: TplgPorovnaniVerzi;
VerzeDB: String;
ZmenyOK: Boolean;
SlepaProcName: string;
SlepaProcGUID: string;
SlepaProcBrowse: string;
Browse: TplgBrowse;
GUIDAkce: String;
Q: IHeQuery;
{$ENDIF}
begin
try
FHelios := Helios;
{$IFDEF Helios_Space}
SpravceHeliosu.PridejHelios (FHelios);
{$ENDIF}
try
Application.OnException := Self.OnException;
// [RK 10.04.2006] zavedeni PomHandle, problemy s realokaci ikonky
// [RK 02.04.2009] doplneno pretypovani na THandle
PomHandle := THandle(FHelios.MainApplicationHandle);
if PomHandle <> Application.Handle then
Application.Handle := PomHandle;
PomHandle := THandle(FHelios.MainApplicationIconHandle);
if PomHandle <> Application.Icon.Handle then
Application.Icon.Handle := PomHandle;
// ### INICIALIZACE ###
InicializaceJadraPluginu (FHelios);
PluginKonfig.VlastniInicializacePluginu (FHelios);
// ### O PLUGINU ###
if FHelios.BrowseID = BrowseID_PluginInfo then
begin
case FHelios.ExtKomID of
Cplg_ExtKomID_About:
begin
InformaceOPluginu (FHelios);
Exit;
end;
Cplg_ExtKomID_HlaskyNaWeb:
begin
plgPresunHlaskyNaWeb (FHelios);
Exit;
end;
Cplg_ExtKomID_HlaskyDoDLL:
begin
plgStahniZWebuJazykovaDLL (FHelios);
Exit;
end;
// AJ, 14./17.12.2015 - Administrátorská podpora v HeO - Odinstalace
Cplg_ExtKomID_Odinstalace:
begin
PluginKonfig.PluginUninstall (FHelios);
Exit;
end;
end;
end;
// ### test na verzi SQL Serveru ###
if FHelios.SQLVersion < PluginKonfig.PluginMinimalniPozadovanaVerzeSQLServeru then
raise Exception.Create(
Format('%s (%s)'#13#13+plgCtiOznam(plxJadroPluginVyzadujeMinVerziSQL_X),
[PluginKonfig.PluginVerejneJmeno, PluginKonfig.PluginSystemoveJmeno,
plgVerzeSQLServeru(PluginKonfig.PluginMinimalniPozadovanaVerzeSQLServeru)]));
// ### test na verzi Heliosu ###
if plgObecnaVerze(FHelios.HeVersion, jvMajor) >= '3' then
begin
// Helios 3.x
MinVerze := PluginKonfig.PluginMinimalniPozadovanaVerzeHeliosu_ver3;
if MinVerze < Cplg_Jadro_MinimalniPozadovanaVerzeHeliosu_ver3 then
MinVerze := Cplg_Jadro_MinimalniPozadovanaVerzeHeliosu_ver3;
end
else
begin
// Helios 2.x
MinVerze := PluginKonfig.PluginMinimalniPozadovanaVerzeHeliosu;
if MinVerze < Cplg_Jadro_MinimalniPozadovanaVerzeHeliosu then
MinVerze := Cplg_Jadro_MinimalniPozadovanaVerzeHeliosu;
end;
if FHelios.HeVersion < MinVerze then
raise Exception.Create(
Format('%s (%s)'#13#13+plgCtiOznam(plxJadroPluginVyzadujeMinVerziX),
[PluginKonfig.PluginVerejneJmeno, PluginKonfig.PluginSystemoveJmeno,
plgObecnaVerze(MinVerze, jvCela)]));
VerzeDB := plgNactiVerziPluginuZDB(FHelios, ZmenyOK);
Porovnani := plgPorovnejVerziPluginuSVerziDB(VerzeDB);
if Porovnani = pvDBMaVetsi then
raise Exception.Create(
Format('%s (%s)'#13#13'%s'#13#13'%s: %s'#13'%s: %s',
[PluginKonfig.PluginVerejneJmeno, PluginKonfig.PluginSystemoveJmeno,
plgCtiOznam(plxJadroVerzePluginuJeNizsiNezVDB),
plgCtiOznam(plxJadroVerze_V_DB), VerzeDB,
plgCtiOznam(plxJadroVerzePluginu), plgVerzePluginu(jvHexa)]));
// ### INSTALACE PLUGINU ###
if (FHelios.BrowseID = BrowseID_PluginInfo) and plgExtKomIDInstalace(FHelios) then
begin
InstalacePluginu(FHelios, (FHelios.ExtKomID = Cplg_ExtKomID_TichaInstalace));
Exit;
end;
if not ZmenyOK then
raise Exception.Create(
Format('%s (%s)'#13#13'%s'#13#1'%s'#1,
[PluginKonfig.PluginVerejneJmeno, PluginKonfig.PluginSystemoveJmeno,
plgCtiOznam(plxJadroMinulaInstalaceNeprobehlaKorektne),
plgCtiOznam(plxJadroJeTrebaSpustitInstalaciPluginu)]));
if FHelios.ExtKomID = Cplg_ExtKomID_EditorController then
SpustControllerEditoru (FHelios)
else
if FHelios.ExtKomID = Cplg_ExtKomID_Zpravy then
PluginKonfig.ExtKomIDJeRovnoNule (FHelios)
else
if FHelios.ExtKomID = Cplg_ExtKomID_Konfigurace then
PluginKonfig.PluginConfiguration (FHelios)
else
begin
// ### nacteni parametru akce ###
Q := FHelios.OpenSQL(
Format(
'SELECT CAST(CAST(GUID AS UNIQUEIDENTIFIER) AS NVARCHAR(36)) AS GUIDAkce, Parametry'#13+
' FROM ' + tblExtKom + ' WHERE ID=%d', [FHelios.ExtKomID]));
GUIDAkce:= Format('{%s}', [varToStr(Q.FieldValues(0))]);
params:= Format('%s', [varToStr(Q.FieldByNameValues('Parametry'))]);
paramsBak:= params;
// ### SPUSTENI AKCE ###
// [JAS 17.8.2015] - moznost spustit externi akci pluginu i z rucne vytvorene definice EA
// Postup je nasledujici:
// 1. V Heliosu vytvorit rucne externi akci typu plugin, doplnit spravne ProgID COM pluginu. Tato externi akce dostane automaticky prideleny novy GUID
// 2. Vytvorit slepou proceduru, jejiz nazev musi byt tvoren maskou: epx_<SYS_NAZEV_PLUGINU>_<GUID_BEZ_POMLCEK>
// Jako GUID se do nazvu dava nove prideleny GUID rucne vytvorene akce z kroku 1.
// 3. Slepa procedura musi vracet SELECTem dve hodnoty:
// - GUID akce (vcetne slozenych zavorek!!), ktera se ma ve skutecnosti spustit (musi byt soucasti daneho pluginu)
// - cislo prehledu nebo systemovy nazev (pokud jde o prehled daneho pluginu), ve kterem je puvodni akce definovana
//
//Priklad:
// CREATE PROC dbo.epx_rpMujPlugin_9549A0D78192439C803255B8AD5484AD
// AS
// SELECT N'{506E3776-B9F0-4F37-97E3-5CBB78BC67A5}', N'hvw_MujPlugin_DefPrehled'
SlepaProcName := 'dbo.epx_' + PluginKonfig.PluginSystemoveJmeno + '_' + plgGUIDBezPomlcek(GUIDAkce);
if FHelios.OpenSQL('IF OBJECT_ID(' + plgNQuotedStr(SlepaProcName) + ', N''P'') IS NULL SELECT 0 ELSE SELECT 1').FieldValues(0)=1 then
begin
with FHelios.OpenSQL('EXEC ' + SlepaProcName)
do
begin
SlepaProcGUID := VarToStr(FieldValues(0));
SlepaProcBrowse := VarToStr(FieldValues(1));
end;
if plgJeObecnyPrehled(SlepaProcBrowse) then
Browse := plgJmenoView2Browse (SlepaProcBrowse)
else
Browse := bZadny;
if Browse <> bZadny then
// akce nad prehledem pluginu
SpustAkciPluginu(FHelios, Browse, SlepaProcGUID)
else
// akce nad tabulkou Heliosu, popr. jinym definovanym prehledem
SpustAkciPluginuProTab(FHelios, StrToInt(SlepaProcBrowse), SlepaProcGUID);
end
else
begin
if plgJeObecnyPrehled(FHelios.BrowseID) then
Browse := plgJmenoView2Browse(FHelios.MainBrowseTable)
else
Browse := bZadny;
if Browse <> bZadny then
// akce nad prehledem pluginu
SpustAkciPluginu(FHelios, Browse, GUIDAkce)
else
// akce nad tabulkou Heliosu, popr. jinym definovanym prehledem
SpustAkciPluginuProTab (FHelios, FHelios.BrowseID, GUIDAkce);
end;
term := false;
jeTest := false;
{$REGION 'Zapis do TabPluginInfo'}
plgNazev := ExtractFileName(GetModuleName(HInstance));
if (plgNazev.Contains('.dll')) then
plgNazev := LeftStr(plgNazev, plgNazev.IndexOf('.dll'));
lSQL := 'IF NOT EXISTS (SELECT 1 FROM ' + tblPlgInfo + ' WHERE NazevSys=N' + plgNazev.QuotedString + ') INSERT ' + tblPlgInfo
+ ' (NazevSys, NazevObjektu, NazevVerejny) SELECT N' + plgNazev.QuotedString + ', N''runMe'', N''Plugin HDC pro Montekord''';
Helios.ExecSQL(lSQL);
verzePlg:= GetFileVersion2(GetModuleName(HInstance));
if (Length(verzePlg)=12) then
verzePlg:= LeftStr(verzePlg,9) + '0' + RightStr(verzePlg,3);
verzePlg2:= verzePlg.Replace('.', '');
if (Length(verzePlg2)=10) then
verzePlg2:= '0' + LeftStr(verzePlg2,1) + '0' + RightStr(verzePlg2, 9);
verzePlg64:= verzePlg2.ToInt64;
{$ENDREGION}
if (Helios.HeVersion<MinVerzeHelios) then
raise Exception.Create('Plugin vyžaduje min verzi Heliosu ' + IntToHex(MinVerzeHelios, 12))
else
begin
if (Helios.ExtKomID>0) then
begin
with Helios.OpenSQL('SELECT CONVERT(nvarchar(128),CONTEXT_INFO(),2)') do
if VarIsNull(FieldValues(0)) then
contInfo:= 'NULL'
else
contInfo:= VarToStr(FieldValues(0));
Helios.ExecSQL('SET CONTEXT_INFO 0x484443344d6f6e74656b6f7264'); // nastav context v sys.sysprocesses (hexadecimalne HDC4Montekord)
UseLatestCommonDialogs:= true;
LocalFormatSettings:= TFormatSettings.Create;
{
lSQL:= 'IF OBJECT_ID(N' + QuotedStr('tempdb..#TabExtKom') + ') IS NOT NULL DROP TABLE #TabExtKom' + CRLF;
lSQL:= lSQL + 'CREATE TABLE #TabExtKom (Poznamka nvarchar(255))';
Helios.ExecSQL(lSQL);
}
lSQL:= 'IF OBJECT_ID(' + QuotedStr('tempdb..#TabExtKom') + ', ''U'') IS NULL CREATE TABLE #TabExtKom (Typ TINYINT, Poznamka NVARCHAR(255))' + CRLF;
lSQL:= lSQL + 'IF OBJECT_ID(N' + QuotedStr('tempdb..#TabTempUziv') + ', ''U'') IS NULL CREATE TABLE #TabTempUziv (Tabulka NVARCHAR(255) NOT NULL, SCOPE_IDENTITY INT NULL, Datum DATETIME NULL)';
Helios.ExecSQL(lSQL);
params := '';
vlastPar := '';
vlastPar2 := '';
cestaExport := '';
typAkce := 0;
HeliosX := Helios;
with Helios.OpenSQL('SELECT Parametry FROM ' + tblExtKom + ' WHERE ID=' + IntToStr(Helios.ExtKomID)) do
begin
params := VarToStr(FieldValues(0));
paramsBak := VarToStr(FieldValues(0));
if (params.Contains(';')) then
begin
typAkce := StrToInt(LeftStr(params,Pos(';',params)-1));
params := MidStr(params,Pos(';',params)+1,255);
if Pos(';',params)>0 then
browID := StrToInt(LeftStr(params,Pos(';',params)-1))
else
browID := StrToInt(params);
if Pos(';',params)>0 then // zadany 3 parametry (akce, browID, vlastnikID)
begin
params := MidStr(params,Pos(';',params)+1,255);
if Pos(';', params)>0 then
begin
vlastPar := LeftStr(params,Pos(';',params)-1);
vlastPar2 := MidStr(params,Pos(';',params)+1,255);
end
else
vlastPar := params;
end;
end
else
if (params<>'') then
if not(TryStrToInt(params, typAkce)) then
typAkce := -1;
end;
verText := GetFileVersion2(GetModuleName(HInstance));
if Length(verText)=12 then
verText := LeftStr(verText,9) + '0' + RightStr(verText,3);
if (RightStr(LeftStr(vlastPar,2),1)=':') or (LeftStr(vlastPar,2)='\\') then
cestaExport := vlastPar;
vlastPar := Trim(vlastPar);
vlastPar2 := Trim(vlastPar2);
{
jeTest:= UpperCase(vlastPar)='TEST';
if (vlastPar2<>'') then
jeTest:= UpperCase(vlastPar2)='TEST';
}
if AnsiContainsText(UpperCase(paramsBak), ';TEST') then
jeTest := true;
if (Helios.BrowseID<>browID) then
begin
typAkce := 0;
Helios.Error ('Tento plugin lze volat pouze z přehledu: '#1 + IntToStr(browID) + #1'.');
end;
IDcka := '';
cRec := 0;
if (Helios.SelectedRecordIDs<>'') then
IDcka := Helios.SelectedRecordIDs
else
if not VarIsNull(Helios.CurrentRecordID) then
begin
cRec := StrToInt(VarToStr(Helios.CurrentRecordID));
IDcka := IntToStr(cRec);
end;
if (IDcka<>'') then
begin
cntID := 1 + Length(IDcka)-Length(StringReplace(IDcka,',','',[rfReplaceAll]));
SetLength (arrID,cntID);
for l_loop:=0 to cntID-1 do
begin
if Pos(',',IDcka)>0 then
begin
arrID[l_loop] := StrToInt(LeftStr(IDcka, Pos(',',IDcka)-1));
IDcka := MidStr(IDcka, Pos(',',IDcka)+1, 262140) // 65535 * 4 (max. delka pole)
end
else
arrID[l_loop] := StrToInt(IDcka);
end;
cRec := arrID[0];
end // IDcka<>''
else
typAkce := Helios.ExtKomID;
case typAkce of
-2: Helios.Info (#1'About'#1);
-1: begin
Helios.ExecSQL('UPDATE ' + tblPlgInfo + ' SET DatumInstalace=GETDATE(), VerzePluginu=N' + verzePlg2.QuotedString + ' WHERE NazevSys=N' + plgNazev.QuotedString);
Helios.Info (#1'Instalace OK'#1);
end;
1: ImportKusovniku (Helios);
2: begin
f1:= TformImportKusovnik.Create (nil);
try
f1.Helios := Helios;
f1.jeTest := jeTest;
f1.ShowModal;
finally
FreeAndNil (f1);
end;
end;
end; // case
Helios.Refresh(true);
if (contInfo='NULL') then
Helios.ExecSQL('SET CONTEXT_INFO 0x')
else
Helios.ExecSQL('SET CONTEXT_INFO 0x' + contInfo);
end; // Helios.ExtKomID>0
end; // druha cast if Helios.HeVersion<MinVerzeHelios
end; // FHelios.ExtKomID <> Cplg_ExtKomID_Konfigurace
finally
SpravceHeliosu.OdeberHelios (FHelios);
end;
except
// neni to pres Application.HandleException() kvuli probublani vyjimky
// do Heliosu (konkretni pouziti napr. v Automatu)
on E: EExternal do
begin
LockWindowUpdate(0); // jistota, kdyby nekde zustalo viset
raise EExternal.Create(E.Message);
end;
on E: Exception do
begin
LockWindowUpdate(0); // jistota, kdyby nekde zustalo viset
{$IFDEF Helios_Space}
E.Message := plgPrelozException(E.Message);
{$ENDIF}
raise;
end;
end;
if (term) then
Application.Terminate;
end;
initialization
{$IFDEF Helios_Space}
dxCore.dxInitialize;
{$ENDIF}
// System.ReportMemoryLeaksOnShutdown:= true;
TComObjectFactory.Create (ComServer, TplgHDCMontekord, Class_Monte, 'runMe', '', ciMultiInstance, tmSingle);
finalization
// dxUnitsLoader.Finalize;
{$IFDEF Helios_Space}
dxCore.dxFinalize;
{$ENDIF}
END.
+1
View File
@@ -0,0 +1 @@
{$DEFINE Helios_space}
+363
View File
@@ -0,0 +1,363 @@
object datModul: TdatModul
Height = 480
Width = 640
object tblImportKusovnik: TFDMemTable
IndexFieldNames = 'Pozice'
FetchOptions.AssignedValues = [evMode]
FetchOptions.Mode = fmAll
ResourceOptions.AssignedValues = [rvSilentMode]
ResourceOptions.SilentMode = True
UpdateOptions.AssignedValues = [uvCheckRequired, uvAutoCommitUpdates]
UpdateOptions.CheckRequired = False
UpdateOptions.AutoCommitUpdates = True
Left = 58
Top = 154
object tblImportKusovnikID: TAutoIncField
FieldName = 'ID'
Visible = False
end
object tblImportKusovnikIDKmen: TIntegerField
FieldName = 'IDKmen'
Visible = False
end
object tblImportKusovnikOznaceni: TStringField
FieldName = 'Oznaceni'
Size = 100
end
object tblImportKusovnikPopis: TStringField
FieldName = 'Popis'
Size = 100
end
object tblImportKusovnikSZ: TStringField
FieldName = 'SZ'
Size = 3
end
object tblImportKusovnikRegCis: TStringField
FieldName = 'RegCis'
Size = 30
end
object tblImportKusovnikNovaKarta: TBooleanField
DefaultExpression = 'False'
FieldName = 'NovaKarta'
end
object tblImportKusovnikMnozstvi: TFloatField
DefaultExpression = 'False'
FieldName = 'Mnozstvi'
end
object tblImportKusovnikNorma: TStringField
FieldName = 'Norma'
Size = 100
end
object tblImportKusovnikPozice: TIntegerField
FieldName = 'Pozice'
end
object tblImportKusovnikPU: TStringField
FieldName = 'PU'
Size = 100
end
object tblImportKusovnikZpracovani: TStringField
FieldName = 'Zpracovani'
Size = 200
end
object tblImportKusovnikVyrobce: TStringField
FieldName = 'Vyrobce'
Size = 100
end
object tblImportKusovnikMaterial: TStringField
FieldName = 'Material'
Size = 200
end
object tblImportKusovnikTloustka: TFloatField
FieldName = 'Tloustka'
end
object tblImportKusovnikJeProblem: TBooleanField
DefaultExpression = 'false'
FieldName = 'JeProblem'
end
end
object dsImportKusovnik: TDataSource
DataSet = tblImportKusovnik
Left = 60
Top = 92
end
object FDGUIxWaitCursor1: TFDGUIxWaitCursor
Provider = 'Forms'
Left = 290
Top = 132
end
object imgList: TImageList
Height = 22
Width = 22
Scaled = True
Left = 56
Top = 270
Bitmap = {
494C010101000800040016001600FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
000000000000360000002800000058000000160000000100200000000000401E
000000000000000000000000000000000000A6A6A600A6A6A600A6A6A600A6A6
A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6
A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6
A600A6A6A600F0F0F00000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A6A6A600F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000A6A6A600F0F0F00000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A6A6A600F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000A6A6A600F0F0F00000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A6A6A600F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000A6A6A600F0F0F00000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A6A6A600F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000A6A6A600F0F0F00000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A6A6A600F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000A6A6A600F0F0F00000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A6A6A600F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000A6A6A600F0F0F00000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A6A6A600F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000A6A6A600F0F0F00000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A6A6A600F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000A6A6A600F0F0F00000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A6A6A600F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000A6A6A600F0F0F00000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A6A6A600F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000A6A6A600F0F0F00000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A6A6A600F0F0F000F0F0F000F0F0
F000F0F0F0007777770077777700F0F0F000F0F0F00077777700777777007777
7700F0F0F000F0F0F0007777770077777700F0F0F000F0F0F000F0F0F000F0F0
F000A6A6A600F0F0F00000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A6A6A600F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000A6A6A600F0F0F00000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A6A6A600F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000A6A6A600F0F0F00000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A6A6A600F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000A6A6A600F0F0F00000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A6A6A600F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000A6A6A600F0F0F00000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A6A6A600F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000A6A6A600F0F0F00000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A6A6A600F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000A6A6A600F0F0F00000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A6A6A600F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000A6A6A600F0F0F00000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A6A6A600F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000A6A6A600F0F0F00000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A6A6A600F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0F000F0F0
F000A6A6A600F0F0F00000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A6A6A600A6A6A600A6A6A600A6A6
A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6
A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6
A600A6A6A600F0F0F00000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000424D3E000000000000003E000000
2800000058000000160000000100010000000000080100000000000000000000
000000000000000000000000FFFFFF0000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000}
end
object vImgList: TVirtualImageList
Images = <>
ImageCollection = imgCol
Left = 432
Top = 254
end
object imgCol: TImageCollection
Images = <>
Left = 428
Top = 328
end
end
+120
View File
@@ -0,0 +1,120 @@
unit dataModul;
interface
uses
System.SysUtils, System.Classes, FireDAC.Stan.Intf, FireDAC.Stan.Option,
FireDAC.Stan.Param, FireDAC.Stan.Error, FireDAC.DatS, FireDAC.Phys.Intf,
FireDAC.DApt.Intf, FireDAC.UI.Intf, FireDAC.VCLUI.Wait, FireDAC.Comp.UI,
Data.DB, FireDAC.Comp.DataSet, FireDAC.Comp.Client, System.ImageList,
Vcl.ImgList, Vcl.Controls, Vcl.BaseImageCollection, Vcl.ImageCollection,
Vcl.VirtualImageList;
type
TKmen = record
poz, idKmen, vyrobceCisOrg: integer;
cislo, nazev, vyrobce, norma, rozmer, material, pu, zprac, pozn, jakObj: string;
mnoz: Extended;
{$IF CompilerVersion>=34} // Sydney a vys
class operator Initialize (out Dest: TKmen);
{$ENDIF}
end;
TKmenHelper = record helper for TKmen
function Clear: Boolean;
end;
TdatModul = class(TDataModule)
tblImportKusovnik: TFDMemTable;
dsImportKusovnik: TDataSource;
FDGUIxWaitCursor1: TFDGUIxWaitCursor;
tblImportKusovnikID: TAutoIncField;
tblImportKusovnikIDKmen: TIntegerField;
tblImportKusovnikOznaceni: TStringField;
tblImportKusovnikPopis: TStringField;
tblImportKusovnikSZ: TStringField;
tblImportKusovnikRegCis: TStringField;
tblImportKusovnikNovaKarta: TBooleanField;
tblImportKusovnikMnozstvi: TFloatField;
imgList: TImageList;
tblImportKusovnikNorma: TStringField;
tblImportKusovnikPozice: TIntegerField;
vImgList: TVirtualImageList;
imgCol: TImageCollection;
tblImportKusovnikPU: TStringField;
tblImportKusovnikZpracovani: TStringField;
tblImportKusovnikVyrobce: TStringField;
tblImportKusovnikMaterial: TStringField;
tblImportKusovnikTloustka: TFloatField;
tblImportKusovnikJeProblem: TBooleanField;
private
{ Private declarations }
public
{ Public declarations }
end;
var
datModul: TdatModul;
implementation
{%CLASSGROUP 'Vcl.Controls.TControl'}
{$R *.dfm}
{ TKmenHelper }
function TKmenHelper.Clear: Boolean;
begin
result:= true;
try
self.idKmen:= 0;
self.poz:= 0;
self.vyrobceCisOrg:= 0;
self.mnoz:= 0;
self.cislo:= '';
self.nazev:= '';
self.vyrobce:= '';
self.norma:= '';
self.jakObj:= '';
self.rozmer:= '';
self.material:= '';
self.pu:= '';
self.pozn:= '';
except
result:= false;
end;
end;
{$IF CompilerVersion>=34} // Sydney a vys
class operator TKmen.Initialize (out Dest: TKmen);
begin
Dest.idKmen:= 0;
Dest.poz:= 0;
Dest.vyrobceCisOrg:= 0;
Dest.mnoz:= 0;
Dest.cislo:= '';
Dest.nazev:= '';
Dest.vyrobce:= '';
Dest.norma:= '';
Dest.rozmer:= '';
Dest.material:= '';
Dest.pu:= '';
Dest.pozn:= '';
Dest.jakObj:= '';
end;
{$ENDIF}
initialization
datModul := TdatModul.Create(nil);
finalization
datModul.Free;
end.
+173
View File
@@ -0,0 +1,173 @@
object formImportKusovnik: TformImportKusovnik
Left = 0
Top = 0
BorderIcons = [biSystemMenu]
BorderStyle = bsSingle
Caption = ' Import dat kusovn'#237'ku z CADu'
ClientHeight = 715
ClientWidth = 1111
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -16
Font.Name = 'Segoe UI'
Font.Style = []
Position = poOwnerFormCenter
RoundedCorners = rcOn
OnClose = FormClose
OnShow = FormShow
DesignSize = (
1111
715)
TextHeight = 21
object Label1: TLabel
Left = 30
Top = 24
Width = 59
Height = 21
Caption = 'Zak'#225'zka:'
end
object selZakazka: TButtonedEdit
Left = 30
Top = 48
Width = 139
Height = 29
Alignment = taCenter
Images = datModul.imgList
RightButton.ImageIndex = 0
RightButton.Visible = True
TabOrder = 0
OnRightButtonClick = selZakazkaRightButtonClick
end
object edtStanice: TLabeledEdit
Left = 210
Top = 48
Width = 57
Height = 29
Alignment = taCenter
EditLabel.Width = 52
EditLabel.Height = 21
EditLabel.Caption = 'Stanice:'
TabOrder = 1
Text = ''
end
object btnImport: TButton
Left = 296
Top = 40
Width = 111
Height = 37
Caption = 'Import dat'
TabOrder = 2
OnClick = btnImportClick
end
object grdKusovnik: TJvDBGrid
Left = 12
Top = 98
Width = 1086
Height = 550
Anchors = [akLeft, akTop, akRight, akBottom]
DataSource = datModul.dsImportKusovnik
DrawingStyle = gdsGradient
GradientEndColor = clSkyBlue
TabOrder = 3
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -16
TitleFont.Name = 'Segoe UI'
TitleFont.Style = []
OnDrawColumnCell = grdKusovnikDrawColumnCell
OnDblClick = grdKusovnikDblClick
OnMouseUp = grdKusovnikMouseUp
SelectColumnsDialogStrings.Caption = 'Select columns'
SelectColumnsDialogStrings.OK = '&OK'
SelectColumnsDialogStrings.NoSelectionWarning = 'At least one column must be visible!'
EditControls = <>
AutoSizeRows = False
RowsHeight = 30
TitleRowHeight = 30
OnCanEditCell = grdKusovnikCanEditCell
Columns = <
item
Alignment = taCenter
Expanded = False
FieldName = 'Pozice'
ReadOnly = True
Title.Alignment = taCenter
Width = 60
Visible = True
end
item
Expanded = False
FieldName = 'Oznaceni'
ReadOnly = True
Title.Caption = 'Ozna'#269'en'#237
Width = 246
Visible = True
end
item
Expanded = False
FieldName = 'Popis'
ReadOnly = True
Width = 412
Visible = True
end
item
Alignment = taCenter
Expanded = False
FieldName = 'SZ'
ReadOnly = True
Title.Alignment = taCenter
Title.Caption = 'SK'
Width = 47
Visible = True
end
item
Alignment = taCenter
Expanded = False
FieldName = 'RegCis'
ReadOnly = True
Title.Alignment = taCenter
Title.Caption = 'Reg. '#269#237'slo'
Width = 118
Visible = True
end
item
Expanded = False
FieldName = 'Mnozstvi'
ReadOnly = True
Title.Alignment = taCenter
Title.Caption = 'Mno'#382'stv'#237
Visible = True
end
item
Expanded = False
FieldName = 'NovaKarta'
Title.Alignment = taCenter
Title.Caption = 'Nov'#225
Width = 64
Visible = True
end>
end
object btnStorno: TButton
Left = 988
Top = 662
Width = 111
Height = 37
Anchors = [akRight, akBottom]
Caption = 'Storno'
TabOrder = 4
OnClick = btnStornoClick
ExplicitLeft = 856
end
object btnZapis: TButton
Left = 484
Top = 662
Width = 129
Height = 37
Anchors = [akRight, akBottom]
Caption = 'Z'#225'pis do TPV'
TabOrder = 5
OnClick = btnZapisClick
ExplicitLeft = 352
end
end
+532
View File
@@ -0,0 +1,532 @@
unit frmImportKusovnik;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.Mask,
Data.DB, Vcl.Grids, Vcl.DBGrids, JvExDBGrids, JvDBGrid, System.UITypes, Vcl.BaseImageCollection, Vcl.ImageCollection,
ddPlugin_TLB;
const
IDI_ELIPSIS = 32516;
type
TformImportKusovnik = class(TForm)
selZakazka: TButtonedEdit;
Label1: TLabel;
edtStanice: TLabeledEdit;
btnImport: TButton;
grdKusovnik: TJvDBGrid;
btnStorno: TButton;
btnZapis: TButton;
procedure selZakazkaRightButtonClick (Sender: TObject);
procedure btnImportClick (Sender: TObject);
procedure grdKusovnikCanEditCell (Grid: TJvDBGrid; Field: TField; var AllowEdit: Boolean);
procedure btnStornoClick (Sender: TObject);
procedure FormClose (Sender: TObject; var Action: TCloseAction);
procedure grdKusovnikMouseUp (Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure grdKusovnikDblClick (Sender: TObject);
procedure btnZapisClick (Sender: TObject);
procedure grdKusovnikDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure FormShow(Sender: TObject);
private
public
Helios: IHelios;
jeTest: boolean;
retVal: integer;
end;
var
formImportKusovnik: TformImportKusovnik;
oVar1: OleVariant;
aktRow, aktCol: integer;
implementation
uses System.StrUtils,
dataModul,
nExcel, xlsxwrite,
helUtils;
{$R *.dfm}
procedure TformImportKusovnik.btnImportClick (Sender: TObject);
var lSQL, lSQL2: string;
initDir, titulek, filtr1, filtr2, fName: string;
xls: IXLSWorkBook;
shKarty: IXLSWorksheet;
karta: TKmen;
iTemp, idKZ, idKZFin: integer;
sTemp: string;
podm, colName, readVal, lastNRC, lastVRC, rcFin, sz, rc: string;
insId, idxR, iRowMax, iCol, iColMax, cEmptyRadek: integer;
mnoz, ztraty: Extended;
i_Poz, i_CisloDilu, i_Nazev, i_Ks, i_Vyrobce, i_Norma, i_Rozmer, i_Material, i_PU, i_Ziskani, i_Zprac, i_Pozn: integer;
radekV00, jeProblem: boolean;
begin
initDir:= GetEnvironmentVariable('USERPROFILE') + '\Desktop';
titulek := 'Vyberte soubor pro import';
filtr1 := 'Soubory MS Excel';
filtr2 := '*.xls;*.xlsx';
fName := '';
if (helUtils.OtevriSoubor (titulek, filtr1, filtr2, initDir, fName)) then
if (FileExists(fName)) then
begin
Screen.Cursor:= crHourGlass;
xls:= TXLSWorkbook.Create;
try
xls.Open(fName);
shKarty:= xls.Sheets.Entries[1];
i_Poz:= 0;
lastNRC:= '';
lastVRC:= '';
iRowMax:= 0;
cEmptyRadek:= 0;
try
for idxR:=1 to 60000 do
begin
if (cEmptyRadek>5) then
begin
iRowMax:= idxR;
Break;
end;
if (VarIsNull(shKarty.Cells.Item[idxR, 1].Value)) then
Inc(cEmptyRadek)
else
if (VarToStr(shKarty.Cells.Item[idxR, 1].Value)='') then
Inc(cEmptyRadek)
else
cEmptyRadek:= 0;
end;
except on E:Exception do
Helios.Error(#1'idxR: ' + idxR.ToString + CRLF + E.Message + #1)
end;
for idxR:=iRowMax downto 1 do
begin
if (not VarIsNull(shKarty.Cells.Item[idxR, 1].Value)) then
if (VarToStr(shKarty.Cells.Item[idxR, 1].Value)<>'') then
begin
iRowMax:= idxR;
Break;
end;
end;
if (iRowMax>1) then
begin
rcFin:= '';
i_Poz := -1;
i_CisloDilu := -1;
i_Nazev := -1;
i_Ks := -1;
i_Vyrobce := -1;
i_Norma := -1;
i_Rozmer := -1;
i_Material := -1;
i_PU := -1;
i_Ziskani := -1;
i_Zprac := -1;
i_Pozn := -1;
for iCol:=1 to 30 do
begin
{
if (VarIsNull(shKarty.Cells.Item[1, iCol].Value)) then
begin
iColMax:= iCol-1;
Break;
end;
if (VarToStr(shKarty.Cells.Item[1, iCol].Value)='') then
begin
iColMax:= iCol-1;
Break;
end;
}
if (shKarty.Cells.Item[1, iCol].Value='POZ') then
i_Poz:= iCol;
if (shKarty.Cells.Item[1, iCol].Value='Èíslo dílu') then
i_CisloDilu:= iCol;
if (shKarty.Cells.Item[1, iCol].Value='Název') then
i_Nazev:= iCol;
if (shKarty.Cells.Item[1, iCol].Value='KS') then
i_Ks:= iCol;
if (shKarty.Cells.Item[1, iCol].Value='Výrobce') then
i_Vyrobce:= iCol;
if (shKarty.Cells.Item[1, iCol].Value='NORMA') then
i_Norma:= iCol;
if (shKarty.Cells.Item[1, iCol].Value='ROZMÌR') then
i_Rozmer:= iCol;
if (shKarty.Cells.Item[1, iCol].Value='MATER.') then
i_Material:= iCol;
if (shKarty.Cells.Item[1, iCol].Value='PÚ') then
i_PU:= iCol;
if (shKarty.Cells.Item[1, iCol].Value='získání') then
i_Ziskani:= iCol;
if (shKarty.Cells.Item[1, iCol].Value='Zpracování') then
i_Zprac:= iCol;
if (VarToStr(shKarty.Cells.Item[1, iCol].Value).Trim='Pozn pøed') then
i_Pozn:= iCol;
end;
if (i_Poz=0) or (i_CisloDilu=0) or (i_Norma=0) then
begin
Helios.Error(#1'Tabulka není v požadovaném formátu'#1);
Exit;
end;
if (i_Poz>0) and (i_CisloDilu>0) and (i_Norma>0) then
begin
if not(dataModul.datModul.tblImportKusovnik.Active) then
dataModul.datModul.tblImportKusovnik.Open;
dataModul.datModul.tblImportKusovnik.EmptyDataSet;
idxR:= 2;
// nacti radky
while (idxR<=iRowMax) do
begin
karta.Clear;
if not(VarIsNull(shKarty.Cells.Item[idxR, i_Poz].Value)) then
begin
if not(TryStrToInt(shKarty.Cells.Item[idxR, i_Poz].Value, karta.poz)) then
karta.poz := 0;
if (i_CisloDilu>0) then
karta.cislo := IfThen(not VarIsNull(shKarty.Cells.Item[idxR, i_CisloDilu].Value), VarToStr(shKarty.Cells.Item[idxR, i_CisloDilu].Value), '').Replace(#10, '');
if (i_Nazev>0) then
karta.nazev := IfThen(not VarIsNull(shKarty.Cells.Item[idxR, i_Nazev].Value), VarToStr(shKarty.Cells.Item[idxR, i_Nazev].Value), '').Replace(#10, '');
if not(TryStrToFloat(shKarty.Cells.Item[idxR, i_Ks].Value, karta.mnoz)) then
karta.mnoz := 0;
if (i_Norma>0) then
karta.norma := IfThen(not VarIsNull(shKarty.Cells.Item[idxR, i_Norma].Value), VarToStr(shKarty.Cells.Item[idxR, i_Norma].Value), '').Replace(#10, '');
if (i_PU>0) then
karta.pu := IfThen(not VarIsNull(shKarty.Cells.Item[idxR, i_PU].Value), VarToStr(shKarty.Cells.Item[idxR, i_PU].Value), '').Replace(#10, '');
if (i_Zprac>0) then
karta.zprac := IfThen(not VarIsNull(shKarty.Cells.Item[idxR, i_Zprac].Value), VarToStr(shKarty.Cells.Item[idxR, i_Zprac].Value), '').Replace(#10, '');
if (i_Material>0) then
karta.material:= IfThen(not VarIsNull(shKarty.Cells.Item[idxR, i_Material].Value), VarToStr(shKarty.Cells.Item[idxR, i_Material].Value), '').Replace(#10, '');
{
if (i_Vyrobce>0) then
begin
karta.vyrobce:= IfThen(not VarIsNull(shKarty.Cells.Item[idxR, i_Vyrobce].Value), VarToStr(shKarty.Cells.Item[idxR, i_Vyrobce].Value), '').Replace(#10, '');
if (karta.vyrobce<>'') then
begin
lSQL2:= 'SELECT TOP(1) c.CisloOrg FROM ' + tblCOrg + ' c INNER JOIN ' + tblCOrgE + ' ce ON (ce.ID=c.ID) WHERE ce._NazevProImportKusovniku=N' + karta.vyrobce.QuotedString;
karta.vyrobceCisOrg:= helUtils.getHeliosIntVal(Helios, 0, lSQL2);
end;
end;
if (i_Rozmer>0) then
karta.rozmer:= IfThen(not VarIsNull(shKarty.Cells.Item[idxR, i_Rozmer].Value), VarToStr(shKarty.Cells.Item[idxR, i_Rozmer].Value), '').Replace(#10, '');
if (i_ziskani>0) then
karta.jakObj:= IfThen(not VarIsNull(shKarty.Cells.Item[idxR, i_ziskani].Value), VarToStr(shKarty.Cells.Item[idxR, i_ziskani].Value), '');
if (i_pozn>0) then
karta.pozn:= IfThen(not VarIsNull(shKarty.Cells.Item[idxR, i_pozn].Value), VarToStr(shKarty.Cells.Item[idxR, i_pozn].Value), '').Replace(#10, CRLF);
}
end;
idKZ := 0;
iTemp := 0;
jeProblem := false;
if (karta.poz>=300) and (karta.poz<500) and (karta.norma<>'') then
begin
lSQL := 'SELECT COUNT(ID) AS Pocet FROM ' + tblKZe + ' WITH(NOLOCK) WHERE _VyhledavaniKody=N' + karta.norma.QuotedString;
with Helios.OpenSQL(lSQL) do
if not(EOF) then
iTemp := VarToStr(FieldByNameValues('Pocet')).ToInteger;
if (iTemp=1) then
idKZ := helUtils.getHeliosIntVal (Helios, 0, lSQL.Replace('COUNT(ID) AS Pocet', 'ID'))
else
if (iTemp=0) then
begin
lSQL := 'SELECT COUNT(ID) AS Pocet FROM ' + tblKZe + ' WITH(NOLOCK) WHERE _VyhledavaniKody LIKE N' + QuotedStr('%' + karta.norma + '%');
with Helios.OpenSQL(lSQL) do
if not(EOF) then
iTemp := VarToStr(FieldByNameValues('Pocet')).ToInteger;
if (iTemp=1) then
idKZ := helUtils.getHeliosIntVal (Helios, 0, lSQL.Replace('COUNT(ID) AS Pocet', 'ID'))
else
jeProblem := true;
end
else
jeProblem := true;
end;
if (idKZ=0) and not(jeProblem) and (karta.poz>=300) and (karta.poz<500) and (karta.cislo<>'') then
begin
iTemp := 0;
lSQL := 'SELECT COUNT(ID) AS Pocet FROM ' + tblKZe + ' WITH(NOLOCK) WHERE _VyhledavaniKody=N' + karta.cislo.QuotedString;
with Helios.OpenSQL(lSQL) do
if not(EOF) then
iTemp := VarToStr(FieldByNameValues('Pocet')).ToInteger;
if (iTemp=1) then
idKZ := helUtils.getHeliosIntVal (Helios, 0, lSQL.Replace('COUNT(ID) AS Pocet', 'ID'))
else
if (iTemp=0) then
begin
lSQL := 'SELECT COUNT(ID) AS Pocet FROM ' + tblKZe + ' WITH(NOLOCK) WHERE _VyhledavaniKody LIKE N' + QuotedStr('%' + karta.cislo + '%');
with Helios.OpenSQL(lSQL) do
if not(EOF) then
iTemp := VarToStr(FieldByNameValues('Pocet')).ToInteger;
if (iTemp=1) then
idKZ := helUtils.getHeliosIntVal (Helios, 0, lSQL.Replace('COUNT(ID) AS Pocet', 'ID'))
else
jeProblem := true;
end
else
jeProblem := true;
end;
sz := '';
rc := '';
if (idKZ>0) then
with Helios.OpenSQL('SELECT SkupZbo, RegCis FROM ' + tblKZ + ' WHERE ID=' + idKZ.ToString) do
if not(EOF) then
begin
sz := VarToStr(FieldByNameValues('SkupZbo'));
rc := VarToStr(FieldByNameValues('RegCis'));
end;
dataModul.datModul.tblImportKusovnik.Append;
try
dataModul.datModul.tblImportKusovnik.FieldByName('IDKmen').AsInteger := idKZ;
dataModul.datModul.tblImportKusovnik.FieldByName('SZ').AsString := sz;
dataModul.datModul.tblImportKusovnik.FieldByName('RegCis').AsString := rc;
dataModul.datModul.tblImportKusovnik.FieldByName('Pozice').AsInteger := karta.poz;
dataModul.datModul.tblImportKusovnik.FieldByName('Oznaceni').AsString := karta.cislo;
dataModul.datModul.tblImportKusovnik.FieldByName('Popis').AsString := karta.nazev;
dataModul.datModul.tblImportKusovnik.FieldByName('Mnozstvi').AsExtended := karta.mnoz;
dataModul.datModul.tblImportKusovnik.FieldByName('Norma').AsString := karta.norma;
dataModul.datModul.tblImportKusovnik.FieldByName('Material').AsString := karta.material;
dataModul.datModul.tblImportKusovnik.FieldByName('PU').AsString := karta.pu;
dataModul.datModul.tblImportKusovnik.FieldByName('Zpracovani').AsString := karta.zprac;
dataModul.datModul.tblImportKusovnik.FieldByName('JeProblem').AsBoolean := jeProblem or (idKZ=0);
dataModul.datModul.tblImportKusovnik.Post;
except
dataModul.datModul.tblImportKusovnik.Cancel;
end;
Inc(idxR);
end;
dataModul.datModul.tblImportKusovnik.First;
end;
end;
finally
{$IF CompilerVersion < 34.0} // SYDNEY
FreeAndNil(xls);
{$ENDIF}
end;
Screen.Cursor:= crDefault;
end;
end;
procedure TformImportKusovnik.btnStornoClick (Sender: TObject);
begin
retVal:= 10;
Close;
end;
procedure TformImportKusovnik.btnZapisClick (Sender: TObject);
var lSQL: string;
canCont: boolean;
begin
canCont := true;
selZakazka.Text := selZakazka.Text.Trim;
edtStanice.Text := edtStanice.Text.Trim;
if (selZakazka.Text='') then
begin
Helios.Error(#1'Není vybrána Zakázka'#1);
self.ActiveControl := selZakazka;
canCont := false;
end;
if not helUtils.sqlExistsTestGeneral(Helios, 'SELECT 1 FROM ' + tblZak + ' WHERE CisloZakazky=N' + selZakazka.Text.QuotedString) then
begin
Helios.Error(#1'Vybrána Zakázka neexistuje'#1);
self.ActiveControl := selZakazka;
canCont := false;
end;
if (edtStanice.Text='') then
begin
Helios.Error(#1'Není zadána Stanice'#1);
self.ActiveControl := selZakazka;
canCont := false;
end;
if (canCont) then
begin
if (datModul.tblImportKusovnik.RecordCount>0) then
begin
lSQL := 'DROP TABLE IF EXISTS #TabCADKusovnik' + CRLF
+ 'CREATE TABLE #TabCADKusovnik (ID INT IDENTITY(1,1) NOT NULL, NovaKarta BIT DEFAULT 0, Pozice INT, IDKmen INT, CisloDilce NVARCHAR(100), Nazev NVARCHAR(100)'
+ ', Mnozstvi NUMERIC(19,6) DEFAULT 0.0, Zpracovani NVARCHAR(200), Vyrobce NVARCHAR(200), Norma NVARCHAR(200), PU NVARCHAR(200), Material NVARCHAR(200)'
+ ', Tloustka NUMERIC(8,2) DEFAULT 0.0)' + CRLF;
datModul.tblImportKusovnik.DisableControls;
datModul.tblImportKusovnik.First;
while not(datModul.tblImportKusovnik.Eof) do
begin
lSQL := lSQL + 'INSERT #TabCADKusovnik (NovaKarta, IDKmen, Pozice, CisloDilce, Nazev, Mnozstvi, PU, Zpracovani, Vyrobce, Norma, Material, Tloustka) SELECT '
+ IfThen(datModul.tblImportKusovnik.FieldByName('NovaKarta').AsBoolean, ',', '0')
+ ', ' + datModul.tblImportKusovnik.FieldByName('IDKmen').AsString + ', ' + datModul.tblImportKusovnik.FieldByName('Pozce').AsString
+ ', N' + datModul.tblImportKusovnik.FieldByName('Oznaceni').AsString.QuotedString + ', N' + datModul.tblImportKusovnik.FieldByName('Popis').AsString.QuotedString
+ ', ' + datModul.tblImportKusovnik.FieldByName('Mnozstvi').AsString.Replace(',', '.') + ', N' + datModul.tblImportKusovnik.FieldByName('PU').AsString.QuotedString
+ ', N' + datModul.tblImportKusovnik.FieldByName('Zpracovani').AsString.QuotedString + ', N' + datModul.tblImportKusovnik.FieldByName('Vyrobce').AsString.QuotedString
+ ', N' + datModul.tblImportKusovnik.FieldByName('Norma').AsString.QuotedString + ', N' + datModul.tblImportKusovnik.FieldByName('Material').AsString.QuotedString
+ ', ' + datModul.tblImportKusovnik.FieldByName('Tloustka').AsString.Replace(',', '.') + CRLF;
datModul.tblImportKusovnik.Next;
end;
lSQL := lSQL + 'IF OBJECT_ID(N''dbo.ep_HDC_ImportCADKusovnik'', ''P'') IS NOT NULL EXEC dbo.ep_HDC_ImportCADKusovnik @Zakazka=N' + selZakazka.Text.QuotedString
+ ', @Stanice=N' + edtStanice.Text.QuotedString;
try
try
Helios.ExecSQL (lSQL);
except
on E: Exception do
Helios.Error (#1'Chyba zpracování: ' + E.Message + #1);
end;
finally
end;
end;
Close;
end;
end;
procedure TformImportKusovnik.FormClose (Sender: TObject; var Action: TCloseAction);
begin
if (datModul.tblImportKusovnik.Active) then
datModul.tblImportKusovnik.EmptyDataSet;
Action:= TCloseAction.caHide;
end;
procedure TformImportKusovnik.FormShow(Sender: TObject);
begin
self.ClientHeight := 715;
self.ClientWidth := 1115;
end;
procedure TformImportKusovnik.grdKusovnikCanEditCell (Grid: TJvDBGrid; Field: TField; var AllowEdit: Boolean);
begin
AllowEdit := (Field.FieldName='NovaKarta');
end;
procedure TformImportKusovnik.grdKusovnikDblClick (Sender: TObject);
var i, idKZ, poz: integer;
titulek, sz, rc, nazev1: string;
begin
i := datModul.tblImportKusovnik.RecNo;
poz := datModul.tblImportKusovnik.FieldByName('Pozice').AsInteger;
if (poz>=300) and (poz<500) and (aktCol<>7) then // pokud kliknu na "Nova", nic neukazuj
begin
titulek := 'Vyberte kmenovou kartu pro dílec/materiál: èíslo "' + datModul.tblImportKusovnik.FieldByName('Oznaceni').AsString + '" / norma "'
+ datModul.tblImportKusovnik.FieldByName('Norma').AsString + '" / pozice ' + poz.ToString;
if (Helios.Prenos (bidKZ, 'TabKmenZbozi.ID', oVar1, 'TabKmenZbozi.Sluzba=0 AND TabKmenZbozi.Blokovano=0', titulek, true)) then
begin
idKZ := VarToStr(oVar1).ToInteger;
with Helios.OpenSQL ('SELECT SkupZbo, RegCis, Nazev1 FROM ' + tblKZ + ' WHERE ID=' + idKZ.ToString) do
begin
sz := FieldByNameValues('SkupZbo');
rc := FieldByNameValues('RegCis');
nazev1 := FieldByNameValues('Nazev1');
datModul.tblImportKusovnik.Edit;
try
datModul.tblImportKusovnik.FieldByName('IDKmen').AsInteger := idKZ;
datModul.tblImportKusovnik.FieldByName('SZ').AsString := sz;
datModul.tblImportKusovnik.FieldByName('RegCis').AsString := rc;
datModul.tblImportKusovnik.FieldByName('JeProblem').AsBoolean := false;
// datModul.tblImportKusovnik.FieldByName('Nazev1').AsString := nazev1;
datModul.tblImportKusovnik.Post;
except
on E:Exception do
datModul.tblImportKusovnik.Cancel;
end;
end;
end;
end;
end;
procedure TformImportKusovnik.grdKusovnikDrawColumnCell (Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
var poz: integer;
begin
poz := grdKusovnik.DataSource.DataSet.FieldByName('Pozice').AsInteger;
if (gdSelected in State) then
grdKusovnik.Canvas.Font.Color := clBlack;
if (poz>=300) and (poz<500) then
begin
if (Assigned(Column.Field) and (System.SysUtils.SameText(Column.FieldName, 'Popis'))) then
if (grdKusovnik.DataSource.DataSet.FieldByName('JeProblem').AsBoolean) then
grdKusovnik.Canvas.Brush.Color := clRed;
end;
grdKusovnik.DefaultDrawColumnCell (Rect, DataCol, Column, State);
end;
procedure TformImportKusovnik.grdKusovnikMouseUp (Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
aktRow := TJvDBGrid(Sender).MouseCoord (X, Y).Y;
aktCol := TJvDBGrid(Sender).MouseCoord (X, Y).X;
end;
procedure TformImportKusovnik.selZakazkaRightButtonClick (Sender: TObject);
begin
if (Helios.Prenos(bidZak,'TabZakazka.CisloZakazky', oVar1, '', 'Vyberte zakázku', true)) then
begin
selZakazka.Text := VarToStr (oVar1);
self.ActiveControl := edtStanice;
end;
end;
end.
+13
View File
@@ -0,0 +1,13 @@
@echo off
copy /y D:\Data\Helios\_space\Core\hecore\plgTypeJadro.INC C:\_zakaznici\Montekord\_plg\lib
rem plgHlaskyEx.INC
rem plgHlaskyJadro.INC
rem plgTypeBrowse.INC
rem plgTypeSoudky.inc
rem plgTypeTabulka.inc
rem plgTypeTxtEx.inc
rem plgTypeTxtJadro.INC
rem plgTypeUTA.inc
rem plgTypeZbytek.inc
rem plgUtaDef.inc
+10
View File
@@ -0,0 +1,10 @@
// PRVNI HLASKA MUSI ZACINAT min. W = 5050000 !!!
// ,(SelfIdent: plx...;
// H : '';
// W : 5050000;{$IFDEF EdHlasky}I:'';E:'';D:'';{$ENDIF})
//last
+847
View File
@@ -0,0 +1,847 @@
// prvni hlaska MUSI zustat prazdna !!
(SelfIdent: plxNic;
H : '';
W : 5000000)
,(SelfIdent: plxOK;
H : 'OK';
SK: 'OK';
W : 5000001; I:'text na klávese OK';E:'OK';D:'OK')
,(SelfIdent: plxStorno;
H : 'Storno';
SK: 'Storno';
W : 5000002; I:'text na klávese Storno';E:'Cancel';D:'')
,(SelfIdent: plxJadroUlozitZmeny;
H : 'Uložit změny ?';
SK: 'Uložiť zmeny ?';
W : 5000003)
,(SelfIdent: plxJadroPrazdnaNeboChybneZadanaPolozka;
H : 'Prázdná nebo chybně zadaná položka';
SK: 'Prázdná alebo chybne zadaná položka';
W : 5000004)
,(SelfIdent: plxJadroOprPrejSmazAkt;
H : 'Opravdu si přejete smazat aktuální záznam ?';
SK: 'Naozaj si prajete zmazať aktuálny záznam ?';
W : 5000005; I:'Dotaz na DELETE v přehledu';E:'';D:'';)
,(SelfIdent: plxJadroOprPrejSmazVse;
H : 'Opravdu si přejete smazat'#1' všechny '#1'označené záznamy';
SK: 'Naozaj si prajete zmazať'#1' všetky '#1'označené záznamy';
W : 5000006; I:'Dotaz na DELETE v přehledu';E:'';D:'';)
,(SelfIdent: plxJadroNeni;
H : '(není)';
SK: '(nie je)';
W : 5000007; I:'text značící nepřítomnost hodnoty';E:'(none)';D:'')
,(SelfIdent: plxJadroPluginVyzadujeMinVerziX;
H : 'Plugin vyžaduje minimální verzi Heliosu '#1'%s'#1' !';
SK: 'Plugin vyžaduje minimálnu verziu Heliosu '#1'%s'#1' !';
W : 5000008)
,(SelfIdent: plxJadroAkceNemuzeBytSpustena;
H : 'Akce nemůže být spuštěna nad aktuálním přehledem (chyba č. %d)!';
SK: 'Akcia nemôže byť spustená nad aktuálnym prehľadom (chyba č. %d)!';
W : 5000009)
,(SelfIdent: plxJadroMenuEditace;
H : 'Editace';
SK: 'Editácia';
W : 5000010)
,(SelfIdent: plxJadroAkceNovy;
H : 'Nový';
SK: 'Nový';
W : 5000011; GUID: '{B24F7317-2850-4E23-84C2-23759E2104BD}')
,(SelfIdent: plxJadroAkceOprava;
H : 'Oprava';
SK: 'Oprava';
W : 5000012; GUID: '{E72DC09D-A06D-4712-B44E-40F8D4023DD9}')
,(SelfIdent: plxJadroAkceZrusit;
H : 'Zrušit';
SK: 'Zrušiť';
W : 5000013; GUID: '{69B3748A-4A0D-4FAF-95DA-C5A86EAAF64C}')
,(SelfIdent: plxJadroPouzeKeCteni;
H : 'pouze ke čtení';
SK: 'len na čítanie';
W : 5000014)
,(SelfIdent: plxJadroZavrit;
H : 'Zavřít';
SK: 'Zavrieť';
W : 5000015)
,(SelfIdent: plxJadroIndexSeZmenil;
H : 'Index se v databázi změnil';
SK: 'Index sa v databázi zmenil';
W : 5000016)
,(SelfIdent: plxJadroIndexV_DB_Chybi;
H : 'Index v databázi chybí';
SK: 'Index v databázi chýba';
W : 5000017)
,(SelfIdent: plxJadroKontrolaPluginuX;
H : 'Kontrola pluginu %s (%s)';
SK: 'Kontrola pluginu %s (%s)';
W : 5000018)
,(SelfIdent: plxJadroSpustit;
H : 'Spustit';
SK: 'Spustiť';
W : 5000019)
,(SelfIdent: plxJadroZmenoveSkripty;
H : 'Změnové skripty';
SK: 'Zmenové skripty';
W : 5000020)
,(SelfIdent: plxJadroKontrolaTabulek;
H : 'Kontrola tabulek';
SK: 'Kontrola tabuliek';
W : 5000021)
,(SelfIdent: plxJadroKontrolaJednotlivychAtributu;
H : 'Kontrola jednotlivých atributů';
SK: 'Kontrola jednotlivých atribútov';
W : 5000022)
,(SelfIdent: plxJadroKontrolaUnikatnichKlicu;
H : 'Kontrola unikátních klíčů';
SK: 'Kontrola unikátnych kľúčov';
W : 5000023)
,(SelfIdent: plxJadroKontrolaIntegritnichOmezeni;
H : 'Kontrola integritních omezení';
SK: 'Kontrola integritných omedzení';
W : 5000024)
,(SelfIdent: plxJadroKontrolaCizichKlicu;
H : 'Kontrola cizích klíčů';
SK: 'Kontrola cudzích kľúčov';
W : 5000025)
,(SelfIdent: plxJadroKontrolaUlozenychProcedur;
H : 'Kontrola uložených procedur';
SK: 'Kontrola uložených procedúr';
W : 5000026)
,(SelfIdent: plxJadroKontrolaTriggeru;
H : 'Kontrola triggerů';
SK: 'Kontrola triggerov';
W : 5000027)
,(SelfIdent: plxJadroKontrolaIndexu;
H : 'Kontrola indexů';
SK: 'Kontrola indexov';
W : 5000028)
,(SelfIdent: plxJadroKontrolaPrehledu_a_Akci;
H : 'Kontrola def.přehledů a externích akcí';
SK: 'Kontrola def.prehľadov a externých akcií';
W : 5000029)
,(SelfIdent: plxJadroImportFormularuFilruOpisu;
H : 'Import formulářů, filtrů a opisů';
SK: 'Import formulárov, filtrov a opisov';
W : 5000030)
,(SelfIdent: plxJadroZmenovySkriptJizBylProveden;
H : 'Změnový skript už byl proveden někým jiným - informace by měla být v žurnálu !';
SK: 'Zmenový skript už bol vykonaný niekym iným - informácia by mala byť v žurnále !';
W : 5000031)
,(SelfIdent: plxJadroUpdateZVerze_X_NaVerzi_Y;
H : 'Update z verze %s na verzi %s.';
SK: 'Update z verzie %s na verziu %s.';
W : 5000032)
,(SelfIdent: plxJadroZmenovychSkriptuX;
H : 'změnových skriptů: %d';
SK: 'zmenových skriptov: %d';
W : 5000033)
,(SelfIdent: plxJadroInstalaceHotovo;
H : 'Hotovo';
SK: 'Hotovo';
W : 5000034)
,(SelfIdent: plxJadro_X_BudeNyniUkoncen;
H : 'Aplikace %s bude ukončena.';
SK: 'Aplikácia %s bude ukončená.';
W : 5000035)
,(SelfIdent: plxJadroBylaDetekovanaZmenaStruktury;
H : 'Byla detekována změna struktury.';
SK: 'Bola detekovaná zmena štruktúry.';
W : 5000036)
,(SelfIdent: plxJadroUvedeneTabulkyChybi;
H : 'Uvedené tabulky v databázi chybí.';
SK: 'Uvedené tabuľky v databázi chýbajú.';
W : 5000037)
,(SelfIdent: plxJadroVytvoreniZakladnichPrehledu;
H : 'Vytvoření a změna základních přehledů, akcí a vazeb.';
SK: 'Vytvorenie a zmena základných prehľadov, akcií a väzieb.';
W : 5000038)
,(SelfIdent: plxJadroZmenaStrukturyDB;
H : 'Změna struktury databáze';
SK: 'Zmena štruktúry databázy';
W : 5000039)
,(SelfIdent: plxJadroOpravduSiPrejeteUvedeneZmeny;
H : 'Opravdu si přejete provést výše uvedené změny ?';
SK: 'Naozaj si prajete vykonať vyššie uvedené zmeny ?';
W : 5000040)
,(SelfIdent: plxJadroPredZmenamiDoporucujemeZalohuDB;
H : 'Před provedením změn doporučujeme provést zálohu databáze.';
SK: 'Pred vykonaním zmien doporučujeme vykonať zálohu databázy.';
W : 5000041)
,(SelfIdent: plxJadroTlacitkoZalohovani;
H : '&Zálohování...';
SK: '&Zálohovanie...';
W : 5000042)
,(SelfIdent: plxJadroProvest;
H : 'Provést';
SK: 'Vykonať';
W : 5000043)
,(SelfIdent: plxJadroAkceUkazSQLSkript;
H : '&Ukaž SQL skript...';
SK: '&Ukáž SQL skript...';
W : 5000044)
,(SelfIdent: plxJadroDefinovaneFormulare;
H : 'Definované formuláře';
SK: 'Definované formuláre';
W : 5000045)
,(SelfIdent: plxJadroDefinovaneFiltry;
H : 'Definované filtry';
SK: 'Definované filtre';
W : 5000046)
,(SelfIdent: plxJadroDefinovaneOpisy;
H : 'Definované opisy';
SK: 'Definované opisy';
W : 5000047)
,(SelfIdent: plxJadroAutoImportInfo;
H : 'Byly nalezeny nové soubory pro import.'#13#13+
'Pokud neprovedete import v tuto chvíli, máte ' +
'možnost ho provést později ručně - soubory jsou ' +
'umístěny v podadresáři SYSTEM v cestě, kde se ' +
'nachází plugin %s.';
SK: 'Boli nájdené nové súbory pre import.'#13#13+
'Pokiaľ nevykonáte import v tejto chvíli, máte ' +
'možnosť ho vykonať neskôr ručne - súbory sú ' +
'umiestnené v podadresári SYSTEM v ceste, kde sa ' +
'nachádza plugin %s.';
W : 5000048)
,(SelfIdent: plxJadroAbout_OPluginu;
H : 'O pluginu...';
SK: 'O plugine...';
W : 5000049)
,(SelfIdent: plxJadroKopirovat;
H : 'Kopírovat';
SK: 'Kopírovať';
W : 5000050)
,(SelfIdent: plxJadroAbout_Nazev;
H : 'Název';
SK: 'Názov';
W : 5000051)
,(SelfIdent: plxJadroAbout_Hodnota;
H : 'Hodnota';
SK: 'Hodnota';
W : 5000052)
,(SelfIdent: plxJadroVerze;
H : 'Verze';
SK: 'Verzia';
W : 5000053)
,(SelfIdent: plxJadroAbout_Vyrobce;
H : 'Výrobce';
SK: 'Výrobca';
W : 5000054)
,(SelfIdent: plxJadroAbout_MinVerze_X;
H : 'Min. verze %s';
SK: 'Min. verzia %s';
W : 5000055)
,(SelfIdent: plxJadroAbout_JADRO;
H : 'JÁDRO';
SK: 'JADRO';
W : 5000056)
,(SelfIdent: plxJadroVerze_V_DB;
H : 'Verze v DB';
SK: 'Verzia v DB';
W : 5000057)
,(SelfIdent: plxJadroVerzePluginu;
H : 'Verze pluginu';
SK: 'Verzia pluginu';
W : 5000058)
,(SelfIdent: plxJadroVerzePluginuJeNizsiNezVDB;
H : 'Verze pluginu je nižší než verze v databázi!';
SK: 'Verzia pluginu je nižšia ako verzia v databázy!';
W : 5000059)
,(SelfIdent: plxJadroNeznamaAkce;
H : 'Neznámá akce!';
SK: 'Neznáma akcia!';
W : 5000060)
,(SelfIdent: plxJadroJeTrebaSpustitInstalaciPluginu;
H : 'Je třeba spustit instalaci pluginu!';
SK: 'Je potrebné spustiť inštalácia pluginu!';
W : 5000061)
,(SelfIdent: plxJadroVerzePluginuJeVyssiNezVDB;
H : 'Verze pluginu je vyšší než verze v databázi!';
SK: 'Verzia pluginu je vyššia ako verzia v databázy!';
W : 5000062)
,(SelfIdent: plxJadroMinulaInstalaceNeprobehlaKorektne;
H : 'Při minulé instalaci nebyly korektně provedeny všechny změny!';
SK: 'Pri minulej inštalácii neboli korektne vykonané všetky zmeny!';
W : 5000063)
,(SelfIdent: plxJadroVymazat;
H : 'Vymazat';
SK: 'Vymazať';
W : 5000064)
,(SelfIdent: plxJadroZakazkaXJeUzavrena;
H : 'Zakázka '#1'%s'#1' je '#1'uzavřena'#1'!';
SK: 'Zákazka '#1'%s'#1' je '#1'uzavretá'#1'!';
W : 5000065)
,(SelfIdent: plxJadroNalezenoViceStejnychHodnotPolozky;
H : 'Nalezeno více stejných hodnot položky';
SK: 'Nájdených viac rovnakých hodnôt položky';
W : 5000066)
,(SelfIdent: plxJadroOrganizaceJeZakazana;
H : 'Organizace je zakázána!';
SK: 'Organizácia je zakázaná';
W : 5000067)
,(SelfIdent: plxJadroOrganizaceJeBlokovana;
H : 'Organizace je blokovaná!';
SK: 'Organizácia je blokovaná!';
W : 5000068)
,(SelfIdent: plxJadroInfoOrg_DluhXKeDniY;
H : ', dluh %s Kč ke dni %s';
SK: ', dlh %s Sk ku dňu %s';
W : 5000069)
,(SelfIdent: plxJadroDatumPoslednihoAutoImportuFormularu;
H : 'Datum posledního autoimportu formulářů';
SK: 'Dátum posledného autoimportu formulárov';
W : 5000070)
,(SelfIdent: plxJadroDatumPoslednihoAutoImportuFiltru;
H : 'Datum posledního autoimportu filtrů';
SK: 'Dátum posledného autoimportu filtrov';
W : 5000071)
,(SelfIdent: plxJadroDatumPoslednihoAutoImportuOpisu;
H : 'Datum posledního autoimportu opisů';
SK: 'Dátum posledného autoimportu opisov';
W : 5000072)
,(SelfIdent: plxJadroSystemoveCislo;
H : 'Systémové číslo';
SK: 'Systémové číslo';
W : 5000073)
,(SelfIdent: plxJadroSysCisZkr;
H : 'Sys.č.';
SK: 'Sys.č.';
W : 5000074)
,(SelfIdent: plxJadroAutor;
H : 'Autor';
SK: 'Autor';
W : 5000075; I:'';E:'Author';D:'Autor')
,(SelfIdent: plxJadroDatumPorizeni;
H : 'Datum pořízení';
SK: 'Dátum zaevidovania';
W : 5000076; I:'';E:'Creation date';D:'')
,(SelfIdent: plxJadroZmenil;
H : 'Změnil';
SK: 'Zmenil';
W : 5000077)
,(SelfIdent: plxJadroDatumZmeny;
H : 'Datum změny';
SK: 'Dátum zmeny';
W : 5000078)
,(SelfIdent: plxJadroBlokovaniEditoru;
H : 'Blokování editoru';
SK: 'Blokovanie editoru';
W : 5000079)
,(SelfIdent: plxJadroNovy;
H : 'Nový...';
SK: 'Nový...';
W : 5000080)
,(SelfIdent: plxJadroOprava;
H : 'Oprava...';
SK: 'Oprava...';
W : 5000081)
,(SelfIdent: plxJadroZrusit;
H : 'Zrušit';
SK: 'Zrušiť';
W : 5000082)
,(SelfIdent: plxJadroObnovit;
H : 'Obnovit';
SK: 'Obnoviť';
W : 5000083)
,(SelfIdent: plxJadroAno;
H : 'Ano';
SK: 'Áno';
W : 5000084)
,(SelfIdent: plxJadroNe;
H : 'Ne';
SK: 'Nie';
W : 5000085)
,(SelfIdent: plxJadroNebylNalezenPrehled_X_Y;
H : 'Nebyl nalezen def.přehled '#1'%s'#1' (%s)!';
SK: 'Nebol nájdený def.prehľad '#1'%s'#1' (%s)!';
W : 5000086)
,(SelfIdent: plxJadroNebylNalezenPrehledCislo_X;
H : 'Nebyl nalezen def.přehled číslo '#1'%s'#1'!';
SK: 'Nebol nájdený def.prehľad číslo '#1'%s'#1'!';
W : 5000087)
,(SelfIdent: plxJadroDefPrehledy_a_JejichAkce;
H : 'Definované přehledy a jejich akce';
SK: 'Definované prehľady a ich akcia';
W : 5000088)
,(SelfIdent: plxJadroExterniAkce;
H : 'Externí akce';
SK: 'Externá akcia';
W : 5000089)
,(SelfIdent: plxJadroAkceProPrehledCislo_X;
H : 'Akce pro přehled č.%d';
SK: 'Akcia pre prehľad č.%d';
W : 5000090)
,(SelfIdent: plxJadroDefinovaneVazby;
H : 'Definované vazby';
SK: 'Definované väzby';
W : 5000091)
,(SelfIdent: plxJadroExterniAtributy;
H : 'Externí atributy';
SK: 'Externé atribúty';
W : 5000092)
,(SelfIdent: plxJadroExterniAtribut_T_A;
H : 'Ext.atribut %s.%s';
SK: 'Ext.atribút %s.%s';
W : 5000093)
,(SelfIdent: plxJadroUzivatelskeSoudecky;
H : 'Uživatelské soudečky';
SK: 'Uživateľské súdočky';
W : 5000094)
,(SelfIdent: plxJadroPoradiSoudecku;
H : 'Pořadí soudečků';
SK: 'Poradie súdočkov';
W : 5000095)
,(SelfIdent: plxJadroInstalace;
H : 'Instalace';
SK: 'Inštalácia';
W : 5000096)
,(SelfIdent: plxJadroZakladniInformace;
H : 'Základní informace';
SK: 'Základné informácie';
W : 5000097)
,(SelfIdent: plxJadroTechnickyPopis;
H : 'Technický popis';
SK: 'Technický popis';
W : 5000098)
,(SelfIdent: plxJadroMinVerzeSQLServeru;
H : 'Min. verze SQL Serveru';
SK: 'Min. verzia SQL Servera';
W : 5000099)
,(SelfIdent: plxJadroNeinstalovano;
H : '<neinstalováno>';
SK: '<neinštalované>';
W : 5000100)
,(SelfIdent: plxJadroInstalovanaVerze;
H : 'Instalovaná verze';
SK: 'Inštalovaná verzia';
W : 5000101)
,(SelfIdent: plxJadroUmisteni;
H : 'Umístění';
SK: 'Umiestnenie';
W : 5000102)
,(SelfIdent: plxJadroPrerusit;
H : 'Přerušit';
SK: 'Prerušiť';
W : 5000103)
,(SelfIdent: plxJadroOpravduAkciPrerusit;
H : 'Opravdu chcete akci přerušit?';
SK: 'Naozaj chcete akciu prerušiť?';
W : 5000104)
,(SelfIdent: plxJadroPluginVyzadujeMinVerziSQL_X;
H : 'Plugin vyžaduje MS SQL Server verze minimálně '#1'%s'#1'!';
SK: 'Plugin vyžaduje MS SQL Server verzia minimálne '#1'%s'#1'!';
W : 5000105)
,(SelfIdent: plxJadroNavaznyCiselnikSFiltraci;
H : 'Návazný číselník s filtrací';
SK: 'Náväzný číselník s filtráciou';
W : 5000106)
,(SelfIdent: plxJadroNavaznyCiselnik;
H : 'Návazný číselník';
SK: 'Náväzný číselník';
W : 5000107)
,(SelfIdent: plxJadroOdesilamPostu;
H : 'Odesílám poštu';
SK: 'Odosielam poštu';
W : 5000108)
,(SelfIdent: plxJadroMailNebylNalezenHeMail;
H : 'Nebyl nalezen program HeMail.EXE pro posílání pošty!';
SK: 'Nebol nájdený program HeMail.EXE pre posielanie pošty!';
W : 5000109)
,(SelfIdent: plxJadroMailNepodariloSeVytvoriKonfigSoubor;
H : 'Nepodařilo se vytvořit konfigurační soubor!';
SK: 'Nepodarilo sa vytvoriť konfiguračný súbor!';
W : 5000110)
,(SelfIdent: plxJadroKontrolaExternichAtributu;
H : 'Kontrola externích atributů';
SK: 'Kontrola externých atribútov';
W : 5000111)
,(SelfIdent: plxJadroStredisko_X_JeZakazano;
H : 'Středisko '#1'%s'#1' je '#1'zakázáno'#1'!';
SK: 'Stredisko '#1'%s'#1' je '#1'zakázané'#1'';
W : 5000112)
,(SelfIdent: plxJadroRegistrovanyOtaznik;
H : 'Registrovaný?';
SK: 'Registrovaný?';
W : 5000113)
,(SelfIdent: plxJadroIdentifikator;
H : 'Identifikátor';
SK: 'Identifikátor';
W : 5000114)
,(SelfIdent: plxJadro_Nepouzito_;
H : '<nepoužito>';
SK: '<nepoužité>';
W : 5000115)
,(SelfIdent: plxJadroLogo;
H : 'Logo';
SK: 'Logo';
W : 5000116)
,(SelfIdent: plxJadroExterniHlasky;
H : 'Externí hlášky';
W : 5000117)
,(SelfIdent: plxJadroDoplneniExternichHlasek;
H : 'Doplnění externích hlášek';
W : 5000118)
,(SelfIdent: plxJadroAbout_IdentifikaceVyrobce;
H : 'Identifikace výrobce';
SK: 'Identifikácia výrobca';
W : 5000119)
,(SelfIdent: plxJadroHistorieVerzi;
H : 'Historie verzí';
SK: 'História verzí';
W : 5000120)
,(SelfIdent: plxJadroZaznamJeBlokovanNelzeSmazat;
H : 'Záznam je blokován jiným uživatelem - nelze smazat!';
W : 5000121)
,(SelfIdent: plxJadroDefinovanyPrehled_X_NebylNalezen;
H : 'Definovaný přehled %s nebyl nalezen!';
W : 5000122)
,(SelfIdent: plxJadroCislaPrehleduBylaVycerpana;
H : 'Čísla přehledů byla vyčerpána!';
W : 5000123)
,(SelfIdent: plxJadroPredchoziRok;
H : 'Předchozí rok';
W : 5000124)
,(SelfIdent: plxJadroPredchoziMesic;
H : 'Předchozí měsíc';
W : 5000125)
,(SelfIdent: plxJadroNasledujiciMesic;
H : 'Následující měsíc';
W : 5000126)
,(SelfIdent: plxJadroNasledujiciRok;
H : 'Následující rok';
W : 5000127)
,(SelfIdent: plxJadroZvolteDatum;
H : 'Zvolte datum';
W : 5000128)
,(SelfIdent: plxJadroDnes;
H : 'Dnes';
W : 5000129)
,(SelfIdent: plxJadroKalendar;
H : 'Kalendář';
W : 5000130)
,(SelfIdent: plxJadroAktualniCas;
H : 'Aktuální čas';
W : 5000131)
,(SelfIdent: plxJadroKalkulacka;
H : 'Kalkulačka';
W : 5000132)
,(SelfIdent: plxJadroKontrolaUzivatelskychFunkci;
H : 'Kontrola uživatelských funkcí';
W : 5000133)
,(SelfIdent: plxJadroPrevodDoUNICODE;
H : 'Převod do UNICODE';
W : 5000134)
,(SelfIdent: plxJadroDoplneniPrehleduProUzivAtr;
H : 'Doplnění přehledů pro uživ. atributy';
W : 5000135)
,(SelfIdent: plxJadroSkupinaNastrojuPrizpusobeni;
H : 'Skupina nástrojů přizpůsobení';
W : 5000136)
,(SelfIdent: plxJadroDoplneniSkupiny;
H : 'Doplnění skupiny';
W : 5000137)
,(SelfIdent: plxJadroVlastniInstalace;
H : 'Vlastní instalace';
W : 5000138)
,(SelfIdent: plxJadroHotovo;
H : 'hotovo';
W : 5000139)
,(SelfIdent: plxJadroOmezeniVDBPrebyva;
H : 'Omezení tohoto názvu v databázi přebývá';
W : 5000140)
,(SelfIdent: plxJadroPocitanyAtributChybi;
H : 'Počítaný atribut tohoto názvu v tabulce chybí';
W : 5000141)
,(SelfIdent: plxJadroAtributVTabulceChybi;
H : 'Atribut tohoto názvu v tabulce chybí';
W : 5000142)
,(SelfIdent: plxJadroZmenaPocitanehoAtributuSmazani;
H : 'Změna počítaného atributu %s -> %s (smazání)';
W : 5000143)
,(SelfIdent: plxJadroZmenaPocitanehoAtributuPridani;
H : 'Změna počítaného atributu %s -> %s (přidání)';
W : 5000144)
,(SelfIdent: plxJadroZmenaPocitanehoAtributuKodDB;
H : 'Změna počítaného atributu %s -> %s (kód v DB)';
W : 5000145)
,(SelfIdent: plxJadroAtributVTabulcePrebyva;
H : 'Atribut tohoto názvu v tabulce přebývá';
W : 5000146)
,(SelfIdent: plxJadroOmezeniJeVDBVypnuto;
H : 'Omezení je v databází vypnuto';
W : 5000147)
,(SelfIdent: plxJadroOmezeniVDBChybi;
H : 'Omezení tohoto názvu v databázi chybí';
W : 5000148)
,(SelfIdent: plxJadroOmezeniSeVDBZmenilo;
H : 'Omezení tohoto názvu se v databázi změnilo';
W : 5000149)
,(SelfIdent: plxJadroOmezeniSeVDBZmeniloKodDB;
H : 'Omezení tohoto názvu se v databázi změnilo (kód v DB)';
W : 5000150)
,(SelfIdent: plxJadroOmezeniJeVypnuto;
H : 'Omezení je v databází vypnuto';
W : 5000151)
,(SelfIdent: plxJadroUlozenkaVDBChybi;
H : 'Uložená procedura tohoto názvu v databázi chybí';
W : 5000152)
,(SelfIdent: plxJadroNastaveniPravKUlozence;
H : 'Nastavení práv k nové uložené proceduře';
W : 5000153)
,(SelfIdent: plxJadroUlozenkaSeZmenila;
H : 'Uložená procedura se změnila';
W : 5000154)
,(SelfIdent: plxJadroFunkceVDBChybi;
H : 'Uživatelská funkce tohoto názvu v databázi chybí';
W : 5000155)
,(SelfIdent: plxJadroNastaveniPravKFunkci;
H : 'Nastavení práv k nové uživatelské funkci';
W : 5000156)
,(SelfIdent: plxJadroFunkceSeZmenila;
H : 'Uživatelská funkce se změnila';
W : 5000157)
,(SelfIdent: plxJadroTriggerVDBChybi;
H : 'Trigger v databázi chybí';
W : 5000158)
,(SelfIdent: plxJadroTriggerVDBPrebyva;
H : 'Trigger v databázi přebývá';
W : 5000159)
,(SelfIdent: plxJadroTriggerJeVDBVypnut;
H : 'Trigger je v databázi vypnut';
W : 5000160)
,(SelfIdent: plxJadroTriggerVDBSeZmenil;
H : 'Trigger v databázi se změnil';
W : 5000161)
,(SelfIdent: plxJadroIndexJeVDBPrejmenovan;
H : 'Index je v databázi přejmenován';
W : 5000162)
,(SelfIdent: plxJadroHeslo;
H : 'Heslo';
W : 5000163)
,(SelfIdent: plxJadroZobrazitHeslo;
H : 'Zobrazit heslo';
W : 5000164)
,(SelfIdent: plxJadroAdresarProJazykovaDLL;
H : 'Adresář pro uložení jazykových DLL';
W : 5000165)
,(SelfIdent: plxJadroVysledek;
H : 'Výsledek';
W : 5000166)
,(SelfIdent: plxJadroPluginNeobsahujeZadneHlasky;
H : 'Plugin neobsahuje žádné hlášky!';
W : 5000167)
,(SelfIdent: plxJadroNeniZadanoHeslo;
H : 'Není zadáno heslo!';
W : 5000168)
,(SelfIdent: plxJadroNeniZadanAdresarProJazykovaDLL;
H : 'Není zadán adresář pro uložení jazykových DLL!';
W : 5000169)
,(SelfIdent: plxJadroAdresarProJazykovaDLLNeexistuje;
H : 'Adresář pro uložení jazykových DLL neexistuje!';
W : 5000170)
,(SelfIdent: plxJadroPodporaTicheInstalacePluginu;
H : 'Podpora tiché instalace pluginů';
W : 5000171)
,(SelfIdent: plxJadroNepodporaOdinstalace;
H : 'Tento plugin nepodporuje automatickou odinstalaci.';
W : 5000172)
// plgTypeTxtJadro.INC
//last
// LOCAL | USER: RK | DT: 27.11.2006 09:11:00 | VER: | TXT: | PC: RK-XP-D | FROM: L:\H\IQ10\PlugLib | TO: D:\!\IQ1\PluginTest
// LIB | USER: RK | DT: 27.11.2006 09:16:24 | VER: ?? LB ?? | TXT: | PC: RK-XP-D | FROM: D:\!\IQ1\PluginTest | TO: L:\H\IQ10\PlugLib
// LOCAL | USER: RK | DT: 03.05.2007 09:33:23 | VER: | TXT: | PC: RK-XP-D | FROM: L:\H\IQ10\PlugLib | TO: D:\!\IQ1\PluginTest
// LIB | USER: RK | DT: 03.05.2007 09:40:20 | VER: ?? LB ?? | TXT: | PC: RK-XP-D | FROM: D:\!\IQ1\PluginTest | TO: L:\H\IQ10\PlugLib
// LOCAL | USER: RJ | DT: 23.05.2007 12:13:33 | VER: | TXT: | PC: RJ-XP-D | FROM: L:\H\IQ10\PlugLib | TO: C:\Plugins\SEW\Bin
// LIB | USER: RJ | DT: 23.05.2007 12:14:14 | VER: 20070523 | TXT: | PC: RJ-XP-D | FROM: C:\Plugins\SEW\Bin | TO: L:\H\IQ10\PlugLib
// LOCAL | USER: RK | DT: 10.07.2007 08:46:24 | VER: | TXT: | PC: RK-XP-D | FROM: L:\H\IQ10\PlugLib | TO: D:\!\IQ1\PluginExample
// LIB | USER: RK | DT: 10.07.2007 08:46:46 | VER: ?? LB ?? | TXT: | PC: RK-XP-D | FROM: D:\!\IQ1\PluginExample | TO: L:\H\IQ10\PlugLib
// LOCAL | USER: RK | DT: 05.11.2007 15:57:29 | VER: | TXT: | PC: RK-XP-D | FROM: L:\H\IQ10\PlugLib | TO: D:\!\IQ1\PluginEurest
// LIB | USER: RK | DT: 05.11.2007 15:57:39 | VER: ?? LB ?? | TXT: | PC: RK-XP-D | FROM: D:\!\IQ1\PluginEurest | TO: L:\H\IQ10\PlugLib
// LOCAL | USER: RK | DT: 21.07.2008 15:12:53 | VER: | TXT: | PC: RK-XP-D | FROM: L:\H\IQ10\PlugLib | TO: D:\!\IQ1\PluginLCSEIUctenek
// LIB | USER: RK | DT: 21.07.2008 15:33:58 | VER: ?? LB ?? | TXT: | PC: RK-XP-D | FROM: D:\!\IQ1\PluginLCSEIUctenek | TO: L:\H\IQ10\PlugLib
// LOCAL | USER: RK | DT: 29.09.2008 10:01:23 | VER: | TXT: | PC: RK-XP-D | FROM: L:\H\IQ10\PlugLib2 | TO: D:\!\IQ1\PluginExample
// LIB | USER: RK | DT: 29.09.2008 10:03:06 | VER: ?? LB ?? | TXT: | PC: RK-XP-D | FROM: D:\!\IQ1\PluginExample | TO: L:\H\IQ10\PlugLib2
// LOCAL | USER: RK | DT: 05.03.2009 14:00:40 | VER: | TXT: | PC: RK-VI-D | FROM: L:\H\IQ10\PlugLib2 | TO: D:\!\IQ1\PluginExample
// LIB | USER: RK | DT: 05.03.2009 14:05:44 | VER: ?? LB ?? | TXT: | PC: RK-VI-D | FROM: D:\!\IQ1\PluginExample | TO: L:\H\IQ10\PlugLib2
// LOCAL | USER: roman.krupicka | DT: 12.09.2011 16:51:54 | VER: | TXT: | PC: KRUPICKARO-PC | FROM: L:\H\IQ10\PlugLib2 | TO: D:\!\IQ2\P\PluginExample
// LIB | USER: roman.krupicka | DT: 13.09.2011 13:39:35 | VER: 20110913 | TXT: | PC: KRUPICKARO-PC | FROM: D:\!\IQ2\P\PluginExample | TO: L:\H\IQ10\PlugLib2
// LOCAL | USER: roman.krupicka | DT: 10.10.2011 15:02:21 | VER: | TXT: | PC: KRUPICKARO-PC | FROM: L:\H\IQ10\PlugLib2 | TO: D:\!\IQ2\P\PluginExample
// LIB | USER: roman.krupicka | DT: 10.10.2011 15:06:41 | VER: ?? LB ?? | TXT: | PC: KRUPICKARO-PC | FROM: D:\!\IQ2\P\PluginExample | TO: L:\H\IQ10\PlugLib2
// LOCAL | USER: roman.krupicka | DT: 10.10.2011 15:06:43 | VER: | TXT: | PC: KRUPICKARO-PC | FROM: L:\H\IQ10\PlugLib2 | TO: D:\!\IQ2\P\PluginExample
// LIB | USER: roman.krupicka | DT: 10.10.2011 15:07:21 | VER: ?? LB ?? | TXT: | PC: KRUPICKARO-PC | FROM: D:\!\IQ2\P\PluginExample | TO: L:\H\IQ10\PlugLib2
// LOCAL | USER: roman.krupicka | DT: 10.10.2011 16:19:37 | VER: | TXT: | PC: KRUPICKARO-PC | FROM: L:\H\IQ10\PlugLib2 | TO: D:\!\IQ2\P\PluginExample
// LIB | USER: roman.krupicka | DT: 10.10.2011 16:28:33 | VER: ?? LB ?? | TXT: | PC: KRUPICKARO-PC | FROM: D:\!\IQ2\P\PluginExample | TO: L:\H\IQ10\PlugLib2
+5
View File
@@ -0,0 +1,5 @@
type
TplgBrowse = (bZadny
//last
);
+1553
View File
File diff suppressed because it is too large Load Diff
+5
View File
@@ -0,0 +1,5 @@
type
TplgSoudek = (sdNeniVidet // neni videt ve stromecku (default)
//last
);
+7
View File
@@ -0,0 +1,7 @@
// === TABULKY ================================================================
type
TplgTabulka = (tZadna
);
//last <- to je kvuli rychlejsimu hledani
+15
View File
@@ -0,0 +1,15 @@
// === HLASKY OSTATNI =========================================================
const
// priklad:
// plxMojeHlaska1=plx_MAX_Jadro+1; <--- POZOR musi byt plx_MAX_Jadro !!
// plxMojeHlaska2=plxMojeHlaska1+1;
// plx_MAX = plxMojeHlaska2; <--- plx_MAX se rovna posledni hlasce, ale bez +1 !!
plx_MAX = plx_MAX_Jadro;
//last <- to je kvuli rychlejsimu hledani
+192
View File
@@ -0,0 +1,192 @@
// === HLASKY JADRA ===========================================================
const
plxNic=0;
plxOK=plxNic+1;
plxStorno=plxOK+1;
plxJadroUlozitZmeny=plxStorno+1;
plxJadroPrazdnaNeboChybneZadanaPolozka=plxJadroUlozitZmeny+1;
plxJadroOprPrejSmazAkt=plxJadroPrazdnaNeboChybneZadanaPolozka+1;
plxJadroOprPrejSmazVse=plxJadroOprPrejSmazAkt+1;
plxJadroNeni=plxJadroOprPrejSmazVse+1;
plxJadroPluginVyzadujeMinVerziX=plxJadroNeni+1;
plxJadroAkceNemuzeBytSpustena=plxJadroPluginVyzadujeMinVerziX+1;
plxJadroMenuEditace=plxJadroAkceNemuzeBytSpustena+1;
plxJadroAkceNovy=plxJadroMenuEditace+1;
plxJadroAkceOprava=plxJadroAkceNovy+1;
plxJadroAkceZrusit=plxJadroAkceOprava+1;
plxJadroPouzeKeCteni=plxJadroAkceZrusit+1;
plxJadroZavrit=plxJadroPouzeKeCteni+1;
plxJadroIndexSeZmenil=plxJadroZavrit+1;
plxJadroIndexV_DB_Chybi=plxJadroIndexSeZmenil+1;
plxJadroKontrolaPluginuX=plxJadroIndexV_DB_Chybi+1;
plxJadroSpustit=plxJadroKontrolaPluginuX+1;
plxJadroZmenoveSkripty=plxJadroSpustit+1;
plxJadroKontrolaTabulek=plxJadroZmenoveSkripty+1;
plxJadroKontrolaJednotlivychAtributu=plxJadroKontrolaTabulek+1;
plxJadroKontrolaUnikatnichKlicu=plxJadroKontrolaJednotlivychAtributu+1;
plxJadroKontrolaIntegritnichOmezeni=plxJadroKontrolaUnikatnichKlicu+1;
plxJadroKontrolaCizichKlicu=plxJadroKontrolaIntegritnichOmezeni+1;
plxJadroKontrolaUlozenychProcedur=plxJadroKontrolaCizichKlicu+1;
plxJadroKontrolaTriggeru=plxJadroKontrolaUlozenychProcedur+1;
plxJadroKontrolaIndexu=plxJadroKontrolaTriggeru+1;
plxJadroKontrolaPrehledu_a_Akci=plxJadroKontrolaIndexu+1;
plxJadroImportFormularuFilruOpisu=plxJadroKontrolaPrehledu_a_Akci+1;
plxJadroZmenovySkriptJizBylProveden=plxJadroImportFormularuFilruOpisu+1;
plxJadroUpdateZVerze_X_NaVerzi_Y=plxJadroZmenovySkriptJizBylProveden+1;
plxJadroZmenovychSkriptuX=plxJadroUpdateZVerze_X_NaVerzi_Y+1;
plxJadroInstalaceHotovo=plxJadroZmenovychSkriptuX+1;
plxJadro_X_BudeNyniUkoncen=plxJadroInstalaceHotovo+1;
plxJadroBylaDetekovanaZmenaStruktury=plxJadro_X_BudeNyniUkoncen+1;
plxJadroUvedeneTabulkyChybi=plxJadroBylaDetekovanaZmenaStruktury+1;
plxJadroVytvoreniZakladnichPrehledu=plxJadroUvedeneTabulkyChybi+1;
plxJadroZmenaStrukturyDB=plxJadroVytvoreniZakladnichPrehledu+1;
plxJadroOpravduSiPrejeteUvedeneZmeny=plxJadroZmenaStrukturyDB+1;
plxJadroPredZmenamiDoporucujemeZalohuDB=plxJadroOpravduSiPrejeteUvedeneZmeny+1;
plxJadroTlacitkoZalohovani=plxJadroPredZmenamiDoporucujemeZalohuDB+1;
plxJadroProvest=plxJadroTlacitkoZalohovani+1;
plxJadroAkceUkazSQLSkript=plxJadroProvest+1;
plxJadroDefinovaneFormulare=plxJadroAkceUkazSQLSkript+1;
plxJadroDefinovaneFiltry=plxJadroDefinovaneFormulare+1;
plxJadroDefinovaneOpisy=plxJadroDefinovaneFiltry+1;
plxJadroAutoImportInfo=plxJadroDefinovaneOpisy+1;
plxJadroAbout_OPluginu=plxJadroAutoImportInfo+1;
plxJadroKopirovat=plxJadroAbout_OPluginu+1;
plxJadroAbout_Nazev=plxJadroKopirovat+1;
plxJadroAbout_Hodnota=plxJadroAbout_Nazev+1;
plxJadroVerze=plxJadroAbout_Hodnota+1;
plxJadroAbout_Vyrobce=plxJadroVerze+1;
plxJadroAbout_MinVerze_X=plxJadroAbout_Vyrobce+1;
plxJadroAbout_JADRO=plxJadroAbout_MinVerze_X+1;
plxJadroVerze_V_DB=plxJadroAbout_JADRO+1;
plxJadroVerzePluginu=plxJadroVerze_V_DB+1;
plxJadroVerzePluginuJeNizsiNezVDB=plxJadroVerzePluginu+1;
plxJadroNeznamaAkce=plxJadroVerzePluginuJeNizsiNezVDB+1;
plxJadroJeTrebaSpustitInstalaciPluginu=plxJadroNeznamaAkce+1;
plxJadroVerzePluginuJeVyssiNezVDB=plxJadroJeTrebaSpustitInstalaciPluginu+1;
plxJadroMinulaInstalaceNeprobehlaKorektne=plxJadroVerzePluginuJeVyssiNezVDB+1;
plxJadroVymazat=plxJadroMinulaInstalaceNeprobehlaKorektne+1;
plxJadroZakazkaXJeUzavrena=plxJadroVymazat+1;
plxJadroNalezenoViceStejnychHodnotPolozky=plxJadroZakazkaXJeUzavrena+1;
plxJadroOrganizaceJeZakazana=plxJadroNalezenoViceStejnychHodnotPolozky+1;
plxJadroOrganizaceJeBlokovana=plxJadroOrganizaceJeZakazana+1;
plxJadroInfoOrg_DluhXKeDniY=plxJadroOrganizaceJeBlokovana+1;
plxJadroDatumPoslednihoAutoImportuFormularu=plxJadroInfoOrg_DluhXKeDniY+1;
plxJadroDatumPoslednihoAutoImportuFiltru=plxJadroDatumPoslednihoAutoImportuFormularu+1;
plxJadroDatumPoslednihoAutoImportuOpisu=plxJadroDatumPoslednihoAutoImportuFiltru+1;
plxJadroSystemoveCislo=plxJadroDatumPoslednihoAutoImportuOpisu+1;
plxJadroSysCisZkr=plxJadroSystemoveCislo+1;
plxJadroAutor=plxJadroSysCisZkr+1;
plxJadroDatumPorizeni=plxJadroAutor+1;
plxJadroZmenil=plxJadroDatumPorizeni+1;
plxJadroDatumZmeny=plxJadroZmenil+1;
plxJadroBlokovaniEditoru=plxJadroDatumZmeny+1;
plxJadroNovy=plxJadroBlokovaniEditoru+1;
plxJadroOprava=plxJadroNovy+1;
plxJadroZrusit=plxJadroOprava+1;
plxJadroObnovit=plxJadroZrusit+1;
plxJadroAno=plxJadroObnovit+1;
plxJadroNe=plxJadroAno+1;
plxJadroNebylNalezenPrehled_X_Y=plxJadroNe+1;
plxJadroNebylNalezenPrehledCislo_X=plxJadroNebylNalezenPrehled_X_Y+1;
plxJadroDefPrehledy_a_JejichAkce=plxJadroNebylNalezenPrehledCislo_X+1;
plxJadroExterniAkce=plxJadroDefPrehledy_a_JejichAkce+1;
plxJadroAkceProPrehledCislo_X=plxJadroExterniAkce+1;
plxJadroDefinovaneVazby=plxJadroAkceProPrehledCislo_X+1;
plxJadroExterniAtributy=plxJadroDefinovaneVazby+1;
plxJadroExterniAtribut_T_A=plxJadroExterniAtributy+1;
plxJadroUzivatelskeSoudecky=plxJadroExterniAtribut_T_A+1;
plxJadroPoradiSoudecku=plxJadroUzivatelskeSoudecky+1;
plxJadroInstalace=plxJadroPoradiSoudecku+1;
plxJadroZakladniInformace=plxJadroInstalace+1;
plxJadroTechnickyPopis=plxJadroZakladniInformace+1;
plxJadroMinVerzeSQLServeru=plxJadroTechnickyPopis+1;
plxJadroNeinstalovano=plxJadroMinVerzeSQLServeru+1;
plxJadroInstalovanaVerze=plxJadroNeinstalovano+1;
plxJadroUmisteni=plxJadroInstalovanaVerze+1;
plxJadroPrerusit=plxJadroUmisteni+1;
plxJadroOpravduAkciPrerusit=plxJadroPrerusit+1;
plxJadroPluginVyzadujeMinVerziSQL_X=plxJadroOpravduAkciPrerusit+1;
plxJadroNavaznyCiselnikSFiltraci=plxJadroPluginVyzadujeMinVerziSQL_X+1;
plxJadroNavaznyCiselnik=plxJadroNavaznyCiselnikSFiltraci+1;
plxJadroOdesilamPostu=plxJadroNavaznyCiselnik+1;
plxJadroMailNebylNalezenHeMail=plxJadroOdesilamPostu+1;
plxJadroMailNepodariloSeVytvoriKonfigSoubor=plxJadroMailNebylNalezenHeMail+1;
plxJadroKontrolaExternichAtributu=plxJadroMailNepodariloSeVytvoriKonfigSoubor+1;
plxJadroStredisko_X_JeZakazano=plxJadroKontrolaExternichAtributu+1;
plxJadroRegistrovanyOtaznik=plxJadroStredisko_X_JeZakazano+1;
plxJadroIdentifikator=plxJadroRegistrovanyOtaznik+1;
plxJadro_Nepouzito_=plxJadroIdentifikator+1;
plxJadroLogo=plxJadro_Nepouzito_+1;
plxJadroExterniHlasky=plxJadroLogo+1;
plxJadroDoplneniExternichHlasek=plxJadroExterniHlasky+1;
plxJadroAbout_IdentifikaceVyrobce=plxJadroDoplneniExternichHlasek+1;
plxJadroHistorieVerzi=plxJadroAbout_IdentifikaceVyrobce+1;
plxJadroZaznamJeBlokovanNelzeSmazat=plxJadroHistorieVerzi+1;
plxJadroDefinovanyPrehled_X_NebylNalezen=plxJadroZaznamJeBlokovanNelzeSmazat+1;
plxJadroCislaPrehleduBylaVycerpana=plxJadroDefinovanyPrehled_X_NebylNalezen+1;
plxJadroPredchoziRok=plxJadroCislaPrehleduBylaVycerpana+1;
plxJadroPredchoziMesic=plxJadroPredchoziRok+1;
plxJadroNasledujiciMesic=plxJadroPredchoziMesic+1;
plxJadroNasledujiciRok=plxJadroNasledujiciMesic+1;
plxJadroZvolteDatum=plxJadroNasledujiciRok+1;
plxJadroDnes=plxJadroZvolteDatum+1;
plxJadroKalendar=plxJadroDnes+1;
plxJadroAktualniCas=plxJadroKalendar+1;
plxJadroKalkulacka=plxJadroAktualniCas+1;
plxJadroKontrolaUzivatelskychFunkci=plxJadroKalkulacka+1;
plxJadroPrevodDoUNICODE=plxJadroKontrolaUzivatelskychFunkci+1;
plxJadroDoplneniPrehleduProUzivAtr=plxJadroPrevodDoUNICODE+1;
plxJadroSkupinaNastrojuPrizpusobeni=plxJadroDoplneniPrehleduProUzivAtr+1;
plxJadroDoplneniSkupiny=plxJadroSkupinaNastrojuPrizpusobeni+1;
plxJadroVlastniInstalace=plxJadroDoplneniSkupiny+1;
plxJadroHotovo=plxJadroVlastniInstalace+1;
plxJadroOmezeniVDBPrebyva=plxJadroHotovo+1;
plxJadroPocitanyAtributChybi=plxJadroOmezeniVDBPrebyva+1;
plxJadroAtributVTabulceChybi=plxJadroPocitanyAtributChybi+1;
plxJadroZmenaPocitanehoAtributuSmazani=plxJadroAtributVTabulceChybi+1;
plxJadroZmenaPocitanehoAtributuPridani=plxJadroZmenaPocitanehoAtributuSmazani+1;
plxJadroZmenaPocitanehoAtributuKodDB=plxJadroZmenaPocitanehoAtributuPridani+1;
plxJadroAtributVTabulcePrebyva=plxJadroZmenaPocitanehoAtributuKodDB+1;
plxJadroOmezeniJeVDBVypnuto=plxJadroAtributVTabulcePrebyva+1;
plxJadroOmezeniVDBChybi=plxJadroOmezeniJeVDBVypnuto+1;
plxJadroOmezeniSeVDBZmenilo=plxJadroOmezeniVDBChybi+1;
plxJadroOmezeniSeVDBZmeniloKodDB=plxJadroOmezeniSeVDBZmenilo+1;
plxJadroOmezeniJeVypnuto=plxJadroOmezeniSeVDBZmeniloKodDB+1;
plxJadroUlozenkaVDBChybi=plxJadroOmezeniJeVypnuto+1;
plxJadroNastaveniPravKUlozence=plxJadroUlozenkaVDBChybi+1;
plxJadroUlozenkaSeZmenila=plxJadroNastaveniPravKUlozence+1;
plxJadroFunkceVDBChybi=plxJadroUlozenkaSeZmenila+1;
plxJadroNastaveniPravKFunkci=plxJadroFunkceVDBChybi+1;
plxJadroFunkceSeZmenila=plxJadroNastaveniPravKFunkci+1;
plxJadroTriggerVDBChybi=plxJadroFunkceSeZmenila+1;
plxJadroTriggerVDBPrebyva=plxJadroTriggerVDBChybi+1;
plxJadroTriggerJeVDBVypnut=plxJadroTriggerVDBPrebyva+1;
plxJadroTriggerVDBSeZmenil=plxJadroTriggerJeVDBVypnut+1;
plxJadroIndexJeVDBPrejmenovan=plxJadroTriggerVDBSeZmenil+1;
plxJadroHeslo=plxJadroIndexJeVDBPrejmenovan+1;
plxJadroZobrazitHeslo=plxJadroHeslo+1;
plxJadroAdresarProJazykovaDLL=plxJadroZobrazitHeslo+1;
plxJadroVysledek=plxJadroAdresarProJazykovaDLL+1;
plxJadroPluginNeobsahujeZadneHlasky=plxJadroVysledek+1;
plxJadroNeniZadanoHeslo=plxJadroPluginNeobsahujeZadneHlasky+1;
plxJadroNeniZadanAdresarProJazykovaDLL=plxJadroNeniZadanoHeslo+1;
plxJadroAdresarProJazykovaDLLNeexistuje=plxJadroNeniZadanAdresarProJazykovaDLL+1;
plxJadroPodporaTicheInstalacePluginu=plxJadroAdresarProJazykovaDLLNeexistuje+1;
plxJadroNepodporaOdinstalace=plxJadroPodporaTicheInstalacePluginu+1;
plx_MAX_Jadro = plxJadroNepodporaOdinstalace;
//last <- to je kvuli rychlejsimu hledani
// LOCAL | USER: RK | DT: 27.11.2006 09:11:03 | VER: | TXT: | PC: RK-XP-D | FROM: L:\H\IQ10\PlugLib | TO: D:\!\IQ1\PluginTest
// LIB | USER: RK | DT: 27.11.2006 09:16:26 | VER: ?? LB ?? | TXT: | PC: RK-XP-D | FROM: D:\!\IQ1\PluginTest | TO: L:\H\IQ10\PlugLib
// LOCAL | USER: RK | DT: 21.07.2008 15:31:34 | VER: | TXT: | PC: RK-XP-D | FROM: L:\H\IQ10\PlugLib | TO: D:\!\IQ1\PluginLCSEIUctenek
// LIB | USER: RK | DT: 21.07.2008 15:34:00 | VER: ?? LB ?? | TXT: | PC: RK-XP-D | FROM: D:\!\IQ1\PluginLCSEIUctenek | TO: L:\H\IQ10\PlugLib
// LOCAL | USER: RK | DT: 29.09.2008 10:01:28 | VER: | TXT: | PC: RK-XP-D | FROM: L:\H\IQ10\PlugLib2 | TO: D:\!\IQ1\PluginExample
// LIB | USER: RK | DT: 29.09.2008 10:03:08 | VER: ?? LB ?? | TXT: | PC: RK-XP-D | FROM: D:\!\IQ1\PluginExample | TO: L:\H\IQ10\PlugLib2
// LOCAL | USER: RK | DT: 05.03.2009 14:00:44 | VER: | TXT: | PC: RK-VI-D | FROM: L:\H\IQ10\PlugLib2 | TO: D:\!\IQ1\PluginExample
// LIB | USER: RK | DT: 05.03.2009 14:05:46 | VER: ?? LB ?? | TXT: | PC: RK-VI-D | FROM: D:\!\IQ1\PluginExample | TO: L:\H\IQ10\PlugLib2
// LOCAL | USER: roman.krupicka | DT: 12.09.2011 16:52:33 | VER: | TXT: | PC: KRUPICKARO-PC | FROM: L:\H\IQ10\PlugLib2 | TO: D:\!\IQ2\P\PluginExample
// LIB | USER: roman.krupicka | DT: 13.09.2011 13:39:38 | VER: 20110913 | TXT: | PC: KRUPICKARO-PC | FROM: D:\!\IQ2\P\PluginExample | TO: L:\H\IQ10\PlugLib2
// LOCAL | USER: roman.krupicka | DT: 10.10.2011 16:19:41 | VER: | TXT: | PC: KRUPICKARO-PC | FROM: L:\H\IQ10\PlugLib2 | TO: D:\!\IQ2\P\PluginExample
// LIB | USER: roman.krupicka | DT: 10.10.2011 16:28:35 | VER: ?? LB ?? | TXT: | PC: KRUPICKARO-PC | FROM: D:\!\IQ2\P\PluginExample | TO: L:\H\IQ10\PlugLib2
View File
+3
View File
@@ -0,0 +1,3 @@
// Typy a konstanty tykajici se pouze daneho pluginu
View File
+14
View File
@@ -0,0 +1,14 @@
$030020260407
{MMnnRRRRMMDD}
{ MM = major verze }
{ nn = minor verze }
{ RRRR = rok }
{ MM = mesic }
{ DD = den }
{ - cislo (hexadecimalne) verze jako typ Int64 - je v include, protoze se }
{ externe nacita pri distribucni kompilaci pro pridani VERSION INFO do EXE }
{ - toto cislo MUSI byt na PRVNIM RADKU tohoto souboru a na temze }
{ radku nesmi byt dalsi znaky (komentare apod.) }
+15
View File
@@ -0,0 +1,15 @@
@echo off
copy /y D:\Data\Helios\_space\Core\hecore\plgAkce.pas C:\_zakaznici\Montekord\_plg\libSys
copy /y D:\Data\Helios\_space\Core\hecore\plgMain.pas C:\_zakaznici\Montekord\_plg\libSys
rem copy /y D:\Data\Helios\_space\Core\hecore\plgHlasky.pas C:\_zakaznici\Montekord\_plg\libSys
rem plgHlaskyEx.INC
rem plgHlaskyJadro.INC
rem plgTypeBrowse.INC
rem plgTypeSoudky.inc
rem plgTypeTabulka.inc
rem plgTypeTxtEx.inc
rem plgTypeTxtJadro.INC
rem plgTypeUTA.inc
rem plgTypeZbytek.inc
rem plgUtaDef.inc
+1368
View File
File diff suppressed because it is too large Load Diff
+25
View File
@@ -0,0 +1,25 @@
unit plgBrowse;
interface
uses
plgType;
var
Cplg_SeznamVychozichNastaveniBrowse : array[TplgBrowse] of TplgVychoziNastaveniBrowse =
(
(SelfIdent : bZadny;
)
//last
);
{ =========================================================================== }
implementation
{ ########################################################################### }
{ ########################################################################### }
end.
+29
View File
@@ -0,0 +1,29 @@
unit plgExtAkce;
interface
uses
plgType;
{ =========================================================================== }
const
GDefiniceExtAkci : array[0..0] of TplgExtAkceDef =
(
// aby bylo mozno nemit zadnou externi akci,
// musi zustat prvni akce nedefinovana !!
(BrowseID : 0)
//last
);
{ =========================================================================== }
implementation
{ ########################################################################### }
{ ########################################################################### }
end.
+29
View File
@@ -0,0 +1,29 @@
unit plgExtAttr;
interface
uses
plgType;
{ =========================================================================== }
const
GDefiniceExtAttr : array[0..0] of TplgExterniAtribut =
(
// aby bylo mozno nemit zadny externi atribut,
// musi zustat prvni akce nedefinovana !!
(JmenoTabulky : '')
//last
);
{ =========================================================================== }
implementation
{ ########################################################################### }
{ ########################################################################### }
end.
+27
View File
@@ -0,0 +1,27 @@
unit plgExtTrigger;
interface
uses
plgType;
{ =========================================================================== }
const
GDefiniceExtTrigger : array[0..0] of TplgExterniTrigger =
(
// aby bylo mozno nemit zadny externi trigger,
// musi zustat prvni trigger nedefinovan !!
(JmenoTabulky : '')
);
{ =========================================================================== }
implementation
{ ########################################################################### }
{ ########################################################################### }
end.
+33
View File
@@ -0,0 +1,33 @@
unit plgFunkce;
interface
uses
plgType;
// !!! POZOR !!! ##############################################################
// Funkce musi byt zadana tak, aby CREATE FUNCTION <Nazev> bylo na jednom radku:
// napr. 'CREATE FUNCTION dbo.pf_MujPrefix_MujNazev'#13+
// ############################################################################
{ =========================================================================== }
const
SeznamUzivatelskychFunkci : array[0..0] of TplgUzivatelskaFunkce =
(
// aby bylo mozno nemit zadnou uzivatelskou funkci :-)
// musi zustat prvni funkce definovana !!
(Text : '')
//last
);
{ =========================================================================== }
implementation
{ ########################################################################### }
{ ########################################################################### }
end.
+28
View File
@@ -0,0 +1,28 @@
unit plgHlasky;
interface
// [RK 10.10.2011] zapnuto vzdy vkuli prekladovemu portalu
{$DEFINE EdHlasky}
uses
plgType;
// rozsah hlasek je W=5000000-5999999
const
GplgHlasky : array[TplgTxt] of TplgHlaska =
(
{$I ..\lib\plgHlaskyJadro.INC} // definice hlasek jadra
{$I ..\lib\plgHlaskyEx.INC} // definice ostatnich hlasek
);
{ =========================================================================== }
implementation
{ ########################################################################### }
{ ########################################################################### }
end.
+2727
View File
File diff suppressed because it is too large Load Diff
+34
View File
@@ -0,0 +1,34 @@
{ *************************************************************************** }
{ }
{ Jadro pluginu 2 Asseco Solutions }
{ }
{ *************************************************************************** }
unit plgQuery;
interface
uses
dxmdaset, DB;
type
TplgQuery = class(TdxMemData)
public
// zmena viditelnosti - abych mohl shodit DataSet.Modified
procedure SetModified(Value: Boolean);
end;
{ =========================================================================== }
implementation
{ ########################################################################### }
procedure TplgQuery.SetModified(Value: Boolean);
begin
inherited;
end;
{ ########################################################################### }
end.
+24
View File
@@ -0,0 +1,24 @@
unit plgSoudky;
interface
uses
plgType;
const
Cplg_SeznamSoudku : array [TplgSoudek] of TplgSoudekDef =
((SelfIdent: sdNeniVidet;
Jmeno : '')
//last
);
{ =========================================================================== }
implementation
{ ########################################################################### }
{ ########################################################################### }
end.
+189
View File
@@ -0,0 +1,189 @@
{ *************************************************************************** }
{ }
{ Jadro pluginu 2 Asseco Solutions }
{ }
{ *************************************************************************** }
unit plgSpravce;
interface
uses
plgAkce, ddPlugin_TLB, Contnrs, Classes;
type
TJedenHelios = class
private
FHelios: IHelios;
FAkce: TplgAkcePrehledu;
public
property Helios: IHelios read FHelios;
property Akce: TplgAkcePrehledu read FAkce;
end;
TSpravceHeliosu = class
private
FSeznam: TObjectList;
function NajdiHelios(Helios: IHelios): Integer;
function NajdiIdent(Helios: IHelios): Integer;
public
constructor Create;
destructor Destroy; override;
// === pouze interni pouziti !!! =============================
procedure PridejHelios(Helios: IHelios);
procedure OdeberHelios(Helios: IHelios);
procedure NastavAkce(Helios: IHelios; Akce: TplgAkcePrehledu);
// ===========================================================
function VratVlastnika(Helios: IHelios): IHelios;
function VratAkcePrehledu(Helios: IHelios): TplgAkcePrehledu;
end;
var
SpravceHeliosu: TSpravceHeliosu = nil;
{ =========================================================================== }
implementation
{ ########################################################################### }
constructor TSpravceHeliosu.Create;
begin
inherited Create;
FSeznam := TObjectList.Create;
end;
{ --------------------------------------------------------------------------- }
destructor TSpravceHeliosu.Destroy;
begin
FSeznam.Free;
inherited;
end;
{ --------------------------------------------------------------------------- }
function TSpravceHeliosu.NajdiHelios(Helios: IHelios): Integer;
var
II: Integer;
begin
// jedeme odzadu - bude to rychlejsi
if Assigned(Helios) then
for II := FSeznam.Count-1 downto 0 do
begin
if TJedenHelios(FSeznam.Items[II]).FHelios = Helios then
begin
Result := II;
Exit;
end;
end;
Result := -1; // nenalezeno
end;
{ --------------------------------------------------------------------------- }
function TSpravceHeliosu.NajdiIdent(Helios: IHelios): Integer;
var
II: Integer;
begin
// jedeme odzadu - bude to rychlejsi
if Assigned(Helios) then
for II := FSeznam.Count-1 downto 0 do
begin
if TJedenHelios(FSeznam.Items[II]).FHelios.Ident = Helios.Ident then
begin
Result := II;
Exit;
end;
end;
Result := -1; // nenalezeno
end;
{ --------------------------------------------------------------------------- }
procedure TSpravceHeliosu.PridejHelios(Helios: IHelios);
var
JH: TJedenHelios;
begin
if not Assigned(Helios) then Exit;
JH := TJedenHelios.Create;
JH.FHelios := Helios;
FSeznam.Add(JH);
end;
{ --------------------------------------------------------------------------- }
procedure TSpravceHeliosu.OdeberHelios(Helios: IHelios);
var
II: Integer;
begin
II := NajdiHelios(Helios);
if II <> -1 then FSeznam.Delete(II);
end;
{ --------------------------------------------------------------------------- }
procedure TSpravceHeliosu.NastavAkce(Helios: IHelios; Akce: TplgAkcePrehledu);
var
II: Integer;
begin
II := NajdiHelios(Helios);
if II <> -1 then
TJedenHelios(FSeznam.Items[II]).FAkce := Akce;
end;
{ --------------------------------------------------------------------------- }
function TSpravceHeliosu.VratVlastnika(Helios: IHelios): IHelios;
var
II: Integer;
Vlastnik: IHelios;
begin
if not Assigned(Helios) then
Result := nil
else
begin
Vlastnik := Helios.HeliosVlastnik;
II := NajdiIdent(Vlastnik);
if II <> -1 then
Result := TJedenHelios(FSeznam.Items[II]).FHelios
else
Result := Vlastnik;
end;
end;
{ --------------------------------------------------------------------------- }
function TSpravceHeliosu.VratAkcePrehledu(Helios: IHelios): TplgAkcePrehledu;
var
II: Integer;
begin
II := NajdiIdent(Helios);
if II <> -1 then
Result := TJedenHelios(FSeznam.Items[II]).FAkce
else
Result := nil;
end;
{ ########################################################################### }
initialization
SpravceHeliosu := TSpravceHeliosu.Create;
{ ########################################################################### }
end.
// LIB | USER: rk | DT: 08.03.2005 13:29:04 | VER: ?? LB ?? | TXT: | PC: RK | FROM: D:\!\IQ1\Eurest | TO: P:\
// LOCAL | USER: rk | DT: 08.03.2005 13:54:41 | VER: | TXT: | PC: RK | FROM: P:\ | TO: D:\!\IQ1\Eurest
// LIB | USER: rk | DT: 08.03.2005 14:13:52 | VER: ?? LB ?? | TXT: | PC: RK | FROM: D:\!\IQ1\Eurest | TO: P:\
// LOCAL | USER: rk | DT: 15.03.2005 09:35:54 | VER: | TXT: | PC: RK | FROM: P:\PlugLib | TO: D:\!\IQ1\Eurest
// LIB | USER: rk | DT: 15.03.2005 10:05:23 | VER: ?? LB ?? | TXT: | PC: RK | FROM: D:\!\IQ1\Eurest | TO: P:\PlugLib
// LOCAL | USER: RK | DT: 17.02.2006 09:58:05 | VER: | TXT: | PC: RK-2K | FROM: L:\H\IQ10\PlugLib | TO: D:\!\IQ1\PluginEurest
// LIB | USER: RK | DT: 17.02.2006 09:58:09 | VER: ?? LB ?? | TXT: | PC: RK-2K | FROM: D:\!\IQ1\PluginEurest | TO: L:\H\IQ10\PlugLib
// LOCAL | USER: RK | DT: 01.08.2007 08:37:19 | VER: | TXT: | PC: RK-XP-D | FROM: L:\H\IQ10\PlugLib | TO: D:\!\IQ1\PluginTest
// LIB | USER: RK | DT: 01.08.2007 08:52:07 | VER: ?? LB ?? | TXT: | PC: RK-XP-D | FROM: D:\!\IQ1\PluginTest | TO: L:\H\IQ10\PlugLib
+23
View File
@@ -0,0 +1,23 @@
unit plgTable;
interface
uses
plgType;
var
Cplg_SeznamTabulek : array[TplgTabulka] of PplgTabulkaDef =
(nil // tZadna
//last
);
{ =========================================================================== }
implementation
{ ########################################################################### }
{ ########################################################################### }
end.
+29
View File
@@ -0,0 +1,29 @@
unit plgType;
interface
uses
System.Classes, Vcl.Forms;
const
CVerzePluginu = Int64({$I ..\lib\plgVerze.INC});
{$I ..\lib\plgTypeTabulka.INC} // definice typu TplgTabulka
{$I ..\lib\plgTypeSoudky.INC} // definice typu TplgSoudek
{$I ..\lib\plgTypeBrowse.INC} // definice typu TplgBrowse
{$I ..\lib\plgTypeTxtJadro.INC} // definice "typu" TplgTxt - hlasky jadra
{$I ..\lib\plgTypeTxtEx.INC} // definice "typu" TplgTxt - ostatni hlasky
{$I ..\lib\plgTypeJadro.INC} // zakladni typy a konstanty jadra 1
{$I ..\lib\plgTypeZbytek.INC} // vsechny ostatni typy a konstanty
{ =========================================================================== }
implementation
{ ########################################################################### }
{ ########################################################################### }
end.
// LIB | USER: rk | DT: 09.02.2005 09:09:48 | VER: ?? LB ?? | TXT: | PC: RK | FROM: D:\!\IQ1\Eurest | TO: P:\
+33
View File
@@ -0,0 +1,33 @@
unit plgUProc;
interface
uses
plgType;
// !!! POZOR !!! ##############################################################
// Ulozenka musi byt zadana tak, aby CREATE PROC <Nazev> bylo na jednom radku:
// napr. 'CREATE PROCEDURE dbo.pp_MujPrefix_MujNazev'#13+
// ############################################################################
{ =========================================================================== }
const
SeznamUlozenychProcedur : array[0..0] of TplgUlozenaProcedura =
(
// aby bylo mozno nemit zadnou ulozenou proceduru :-)
// musi zustat prvni procedura definovana !!
(Text : '')
//last
);
{ =========================================================================== }
implementation
{ ########################################################################### }
{ ########################################################################### }
end.
+181
View File
@@ -0,0 +1,181 @@
{ *************************************************************************** }
{ }
{ Jadro pluginu 2 Asseco Solutions }
{ }
{ *************************************************************************** }
unit plgUta;
interface
uses
plgType;
const
plg_uta_SystemoveCislo = plg_SystemoveCislo;
plg_uta_Autor = 'Autor';
plg_uta_DatPorizeni = 'DatPorizeni';
plg_uta_Zmenil = plg_Zmenil;
plg_uta_DatZmeny = plg_DatZmeny;
plg_uta_BlokovaniEditoru = plg_BlokovaniEditoru;
plg_uta_GUID = 'GUID';
plg_uta_Mena = 'Mena';
plg_uta_TextChyby = 'TextChyby';
plg_uta_ImpSoubor = 'ImpSoubor';
plg_uta_SkupZbo = 'SkupZbo';
plg_uta_RegCis = 'RegCis';
Cplg_DisplaySirkaDatum = 20; // [RK 02.07.2012] 12 -> 20
{ +++++++++++++++++++++++++++ }
Cplg_UzivatelskeAtributy : array [TplgUzivatelskyTypAtributu] of TplgUzivatelskeAtributyDef =
((SelfIdent: plg_utaZadny)
,(SelfIdent: plg_utaSystemoveCislo;
A:(JmenoSys : plg_uta_SystemoveCislo;
JmenoVerejneTxt : plxJadroSystemoveCislo;
JmenoVerejneZkrTxt : plxJadroSysCisZkr;
Typ : taIdentity;
PK_UQ : puPrimaryKey;
Vyzadovany : vTrue;
Verejny : vFalse)
)
,(SelfIdent: plg_utaSystemoveCislo64;
A:(JmenoSys : plg_uta_SystemoveCislo;
JmenoVerejneTxt : plxJadroSystemoveCislo;
JmenoVerejneZkrTxt : plxJadroSysCisZkr;
Typ : taIdentity64;
PK_UQ : puPrimaryKey;
Vyzadovany : vTrue;
Verejny : vFalse)
)
,(SelfIdent: plg_utaAutor;
A:(JmenoSys : plg_uta_Autor;
JmenoVerejneTxt : plxJadroAutor;
Typ : taNVarChar;
Delka : 128;
ServerDefault : Cplg_LoginName;
Verejny : vTrue;
SirkaSloupce : 15)
)
,(SelfIdent: plg_utaDatPorizeni;
A:(JmenoSys : plg_uta_DatPorizeni;
JmenoVerejneTxt : plxJadroDatumPorizeni;
Typ : taDateTime;
ServerDefault : Cplg_GetDate;
Verejny : vTrue;
SirkaSloupce : Cplg_DisplaySirkaDatum)
)
,(SelfIdent: plg_utaZmenil;
A:(JmenoSys : plg_uta_Zmenil;
JmenoVerejneTxt : plxJadroZmenil;
Typ : taNVarChar;
Delka : 128;
NULL : nNULL;
Verejny : vTrue;
SirkaSloupce : 20)
)
,(SelfIdent: plg_utaDatZmeny;
A:(JmenoSys : plg_uta_DatZmeny;
JmenoVerejneTxt : plxJadroDatumZmeny;
Typ : taDateTime;
NULL : nNULL;
Verejny : vTrue;
SirkaSloupce : Cplg_DisplaySirkaDatum)
)
,(SelfIdent: plg_utaBlokovaniEditoru;
A:(JmenoSys : plg_uta_BlokovaniEditoru;
JmenoVerejneTxt : plxJadroBlokovaniEditoru;
Typ : taSmallInt;
NULL : nNULL;
Vyzadovany : vTrue;
Verejny : vFalse)
)
,(SelfIdent: plg_utaGUID;
A:(JmenoSys : plg_uta_GUID;
JmenoVerejne : 'GUID';
Typ : taBinary;
Delka : 16;
Verejny : vFalse)
)
,(SelfIdent: plg_utaSazbaDPH;
A:(Typ : taNumeric_5_2;
NULL : nNULL;
ForeignKey : 'TabDPH(Sazba)';
Verejny : vTrue)
)
,(SelfIdent: plg_utaCena;
A:(Typ : taNumeric_19_6;
ServerDefault : '0.0';
Verejny : vTrue;
MaskaDisplay : DisplayMaskPenize;
Sumovat : True)
)
,(SelfIdent: plg_utaMena;
A:(JmenoSys : plg_uta_Mena;
JmenoVerejne : 'Mìna';
Typ : taNVarChar;
Delka : 3;
ForeignKey : 'TabKodMen(Kod)';
Verejny : vTrue)
)
,(SelfIdent: plg_utaTextChyby;
A:(JmenoSys : plg_uta_TextChyby;
JmenoVerejne : 'Text chyby';
Typ : taNVarChar;
Delka : 255;
ServerDefault : '''''';
Verejny : vTrue;
SirkaSloupce : 30)
)
,(SelfIdent: plg_utaImpSoubor;
A:(JmenoSys : plg_uta_ImpSoubor;
JmenoVerejne : 'Importní soubor';
Typ : taNVarChar;
Delka : 255;
ServerDefault : '''''';
Verejny : vTrue;
SirkaSloupce : 30)
)
,(SelfIdent: plg_utaSkupZbo;
A:(JmenoSys : plg_uta_SkupZbo;
Typ : taNVarChar;
Delka : 3;
Verejny : vTrue;
HeliosAttr : 'TabKmenZbozi.SkupZbo')
)
,(SelfIdent: plg_utaRegCis;
A:(JmenoSys : plg_uta_RegCis;
Typ : taNVarChar;
Delka : 30;
Verejny : vTrue;
HeliosAttr : 'TabKmenZbozi.RegCis')
)
{$I ..\lib\plgUtaDef.inc}
);
{ =========================================================================== }
implementation
{ ########################################################################### }
{ ########################################################################### }
end.
+28
View File
@@ -0,0 +1,28 @@
unit plgVazby;
interface
uses
plgType;
{ =========================================================================== }
const
GDefiniceVztahu : array[0..0] of TplgVztahDef =
(
// aby bylo mozno nemit zadnou vazbu,
// musi zustat prvni vazba nedefinovana !!
(GUIDVazby : '')
//last
);
{ =========================================================================== }
implementation
{ ########################################################################### }
{ ########################################################################### }
end.
+60
View File
@@ -0,0 +1,60 @@
{ *************************************************************************** }
{ }
{! SKRIPTY BY MĚLY BÝT PSÁNY TAK, ABY BYLY SPUSTITELNÉ VÍCEKRÁT - TZN. MĚLY !}
{! BY OBSAHOVAT RŮZNÉ TESTY EXISTENCE - NAPŘ.: !}
{ }
{ -existuje tabulka TabXXX ? }
{ IF OBJECT_ID('TabXXX','U')IS NOT NULL ... }
{ }
{ -existuje sloupec ABC v tabulce TabXXX ? }
{ IF COLUMNPROPERTY(OBJECT_ID('TabXXX','U'),'ABC','AllowsNull')IS NOT NULL ... }
{ }
{ -existuje default DF__TabXXX__ABC na sloupci ABC v tabulce TabXXX ? }
{ IF OBJECT_ID('DF__TabXXX__ABC','D')IS NOT NULL ... }
{ }
{ kde vezmu 2. parametr systémové funkce OBJECT_ID() - je to sysobjects.xtype }
{ - viz BOL }
{ }
{!!! POZOR - POUŽITÍ RETURN VE ZMĚNOVÝCH SKRIPTECH V plgZmeny.pas NENÍ BEZTRESTNÉ !!!}
{ -protože změnové skripty jsou obaleny knihovanmi BEGIN TRAN..COMMIT, tak }
{ by případný RETURN ponechal transakci neuzavřenou ! Proto bych měl }
{ použít tuto konstrukci: }
{ IF @@TRANCOUNT>0 ROLLBACK /* nebo COMMIT dle situace */ }
{ RETURN }
{ -pokud je kód spouštěn přes EXEC() nebo sp_executesql, tak tam naopak }
{ ROLLBACK (COMMIT) být NESMÍ, protože RETURN ukončuje jen daný EXEC() }
{ -úplně nejlepší je se RETURNu ve změnových skriptech úplně vyhnout }
{ }
{ *************************************************************************** }
unit plgZmeny;
interface
uses
plgType;
{ =========================================================================== }
const
GZmenoveSkripty : array[0..0] of TplgZmenovySkript =
(
// aby bylo mozno nemit zadny zmenovy skript,
// musi zustat prvni skript nedefinovan !!
(PlatiOd : $010020050210;
Skript : '';
)
//last
);
{ =========================================================================== }
implementation
{ ########################################################################### }
{ ########################################################################### }
end.
+31
View File
@@ -0,0 +1,31 @@
unit plgExtController;
interface
uses
plgType; //, pec_ObjednavkaDopravy, pec_DosleObjednavky;
{ =========================================================================== }
const
GDefiniceControlleru: array[0..0] of TplgEditorControllerDef =
(
// aby bylo mozno nemit zadnou definici controlleru,
// musi zustat prvni prvek nedefinovan !!
(FormIdent : '')
// ,(FormIdent: 'TedfrmUTEditorhvw_Bonum_ObjednavkyDopravy';
// ControllerClass: TplgBonumExtReseniGornicky3DObjednavkaDopravyController)
//last
);
{ =========================================================================== }
implementation
{ ########################################################################### }
{ ########################################################################### }
end.
+45
View File
@@ -0,0 +1,45 @@
library plgHDCMontekord;
{$WEAKLINKRTTI ON}
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
{$IFOPT D-}
{$SetPEFlags $AC0E}
{$SetPEOptFlags $AC0E}
{$ELSE}
{$SetPEFlags $AA02}
{$SetPEOptFlags $AA02}
{$ENDIF}
// IMAGE_FILE_RELOCS_STRIPPED = $0001
// IMAGE_FILE_EXECUTABLE_IMAGE = $0002 *
// IMAGE_FILE_LINE_NUMS_STRIPPED = $0004 *
// IMAGE_FILE_LOCAL_SYMS_STRIPPED = $0008 *
// IMAGE_FILE_AGGRESIVE_WS_TRIM = $0010
// IMAGE_FILE_LARGE_ADDRESS_AWARE = $0020
// IMAGE_FILE_BYTES_REVERSED_LO = $0080
// IMAGE_FILE_32BIT_MACHINE = $0100
// IMAGE_FILE_DEBUG_STRIPPED = $0200
// IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP = $0400 *
// IMAGE_FILE_NET_RUN_FROM_SWAP = $0800 *
// IMAGE_FILE_SYSTEM = $1000
// IMAGE_FILE_DLL = $2000 *
// IMAGE_FILE_UP_SYSTEM_ONLY = $4000
// IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = $8000 *
uses
System.Win.ComServ,
ddPlugin_TLB,
ComObjekt in 'ComObjekt.pas',
frmImportKusovnik in 'frmImportKusovnik.pas' {formImportKusovnik},
dataModul in 'dataModul.pas' {datModul: TDataModule};
exports
DllGetClassObject,
DllCanUnloadNow,
DllRegisterServer,
DllUnregisterServer;
{$R *.RES}
BEGIN
END.
File diff suppressed because it is too large Load Diff
Binary file not shown.
+109
View File
@@ -0,0 +1,109 @@
{ *************************************************************************** }
{ }
{ PluginExample Asseco Solutions }
{ }
{ *************************************************************************** }
unit plgKonfig;
interface
uses
plgKonfigBase, ddPlugin_TLB;
// ============================================================================
// !!! Konfigurace zavisla na danem pluginu, je treba ji nastavit !!!
// ============================================================================
type
TPluginKonfig = class(TPluginKonfigBase)
protected
procedure NastaveniKonfigu; override;
function GetPluginVerejneJmeno: String; override;
function GetPluginTechnickyPopis: String; override;
function GetPluginHistorieVerzi: String; override;
public
function PartnerIdentification: string; override;
function PluginJazykoveDLL (AJazyk: Integer): string; override;
procedure VlastniInicializacePluginu (Helios: IHelios); override;
end;
{ =========================================================================== }
implementation
uses
SysUtils, ComObj, plgType, plgMain;
{ ########################################################################### }
procedure TPluginKonfig.NastaveniKonfigu;
begin
// !! POZOR !! Tento GUID je pouze pro PlgBonum_ExtReseniGornicky3D !!
FPluginClass_ID := StringToGUID('{32EAE564-687F-475D-9CFC-49F18260D835}');
FPluginSystemoveJmeno := 'plgHDCMontekord';
FPluginClassName := 'runMe';
FPluginMinimalniPozadovanaVerzeHeliosu := Cplg_PrvniUnicodeVerzeHeliosu;
FPluginCopyrightVyrobce := Format('© 2012-%d NTS/HD Consulting s.r.o. Strakonice', [Cplg_AktualniRok]);
FPluginIdentifikator := 'Lovato';
FPluginMinimalniPozadovanaVerzeSQLServeru:= Cplg_SQLVersion_2022_CU22;
end;
{ --------------------------------------------------------------------------- }
function TPluginKonfig.PartnerIdentification: string;
begin
// zde zadejte partnerskou identifikaci
Result := '';
end;
{ --------------------------------------------------------------------------- }
function TPluginKonfig.GetPluginVerejneJmeno: String;
begin
Result := plgCtiOznam('Plugin Externí øešení pro LOVATO Písek');
end;
{ --------------------------------------------------------------------------- }
function TPluginKonfig.GetPluginTechnickyPopis: String;
begin
Result := 'Plugin pro externí øešení';
end;
{ --------------------------------------------------------------------------- }
function TPluginKonfig.GetPluginHistorieVerzi: String;
begin
Result := 'Historie verzí';
end;
{ --------------------------------------------------------------------------- }
function TPluginKonfig.PluginJazykoveDLL (AJazyk: Integer): string;
begin
case AJazyk of
Cplg_jAnglictina,
Cplg_jExtAnglictina: Result := 'plgLovatoLng1033.DLL';
else Result := '';
end;
end;
{ --------------------------------------------------------------------------- }
procedure TPluginKonfig.VlastniInicializacePluginu (Helios: IHelios);
begin
// - tato procedura se vola vzdy pri spusteni externi akce !!
// - pokud je treba udelat nejakou inicializaci pouze jednou, je treba
// pouzit promennou, ktera bude signalizovat prvni a dalsi volani
end;
{ ########################################################################### }
end.