--- dao/DelphiScanner/Main.pas 2015/08/23 14:45:16 2660
+++ dao/DelphiScanner/Main.pas 2015/09/03 14:48:45 2697
@@ -8,13 +8,16 @@
IdTCPClient, IdHTTP, xmldom, XMLIntf, msxmldom, XMLDoc, IniFiles, AppEvnts,
Menus, ExtCtrls, ComCtrls, StrUtils, MMSystem, DateUtils,
IdExplicitTLSClientServerBase, IdFTP, pngimage, GIFImg, IdException,
- Winspool, Registry, ShellApi, ClipBrd, Buttons, wininet,
- UITypes
+ Winspool, ShellApi, ClipBrd, Buttons, wininet,
+ UITypes,
+ PakkeshopLabels,
+ StBarC,
+ Math, // DegToRad() bruges i PrintPakkeshopLabel
+ Utils
;
type
- TStrArray = array of string;
TMainForm = class(TForm)
StregkodeST: TStaticText;
RuteNummerST: TStaticText;
@@ -49,16 +52,16 @@
Testlyd1: TMenuItem;
ListBox1: TListBox;
Budlevering1: TMenuItem;
- DownloadButton01: TButton;
+ BtnDownloadKontrolfil: TButton;
IdFTP1: TIdFTP;
Image1: TImage;
ListBox2: TListBox;
OpdaterListenButton01: TButton;
- UploadButton01: TButton;
- DownloadButton03: TButton;
+ BtnUploadLogfil: TButton;
+ BtnDownloadRuteskiftFil: TButton;
Pakkeshoplevering1: TMenuItem;
PakkeshopText1: TStaticText;
- PakkeshopNulstil: TButton;
+ btnNulstil: TButton;
Returpakkerfrapakkeshop1: TMenuItem;
Altidprintepakkelabel1: TMenuItem;
chkAltidPrintLabel: TCheckBox;
@@ -88,22 +91,13 @@
PanelManglendePakker4: TPanel;
PanelManglendePakker5: TPanel;
PanelManglendePakker6: TPanel;
+ menuIndlevering: TMenuItem;
-
- function Explode(var a: TStrArray; Border, S: string): Integer;
- function BarCodeValid (ACode: string): boolean;
- function Sto_GetFmtFileVersion(const FileName: String = ''; const Fmt: String = '%d.%d.%d.%d'): String;
- function TColorToHex(Color : TColor) : string;
- function HexToTColor(sColor : string) : TColor;
function getProddato() : TDate;
function getProddag() : String;
function retRutenummer(rutenummer : String) : String;
function GetCurrentPrinterHandle() : THandle;
function SavePChar(p: PChar): PChar;
- function AdobeReaderExists(): Boolean;
- function FileTime2DateTime(FileTime: TFileTime): TDateTime;
- function split(input: string; schar: Char; s: Integer): string;
- function CheckUrl(url:string):boolean;
procedure PlaySound(filename : PWideChar);
procedure StartScreen();
@@ -134,7 +128,7 @@
procedure Button1Click(Sender: TObject);
procedure ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
procedure Budlevering1Click(Sender: TObject);
- procedure DownloadButton01Click(Sender: TObject);
+ procedure BtnDownloadKontrolfilClick(Sender: TObject);
procedure OpdaterListenButton01Click(Sender: TObject);
procedure DownloadBladhusRuteskiftfil();
procedure DownloadBladhusKontrolfil();
@@ -143,10 +137,10 @@
procedure UploadInifilTilDAO();
procedure SletStregkodelinieFraListboks2(StregKode : String);
procedure FormDestroy(Sender: TObject);
- procedure UploadButton01Click(Sender: TObject);
- procedure DownloadButton03Click(Sender: TObject);
+ procedure BtnUploadLogfilClick(Sender: TObject);
+ procedure BtnDownloadRuteskiftFilClick(Sender: TObject);
procedure Pakkeshoplevering1Click(Sender: TObject);
- procedure PakkeshopNulstilClick(Sender: TObject);
+ procedure btnNulstilClick(Sender: TObject);
procedure Returpakkerfrapakkeshop1Click(Sender: TObject);
procedure InitNatxpresslevering();
procedure InitReturFraDao();
@@ -161,7 +155,6 @@
procedure EKLoverforselClick(Sender: TObject);
procedure Uploadlogfil1Click(Sender: TObject);
procedure Manual1Click(Sender: TObject);
- procedure CheckPrintQue(tjektype : string);
procedure Timer1Timer(Sender: TObject);
procedure Scanogstjekkoden1Click(Sender: TObject);
procedure chkScanTjekkodeClick(Sender: TObject);
@@ -181,11 +174,12 @@
procedure SletLogfiler(Path: string; FileList: TStrings);
procedure Manualgenerel1Click(Sender: TObject);
procedure TjekkerUrls();
-// 20150310: start
- procedure RoundCornerOf(Control: TWinControl);
+ procedure menuIndleveringClick(Sender: TObject);
+
+ procedure PrintPakkeshopLabel( PakkeshopLabel : TPakkeshopLabel);
+ procedure CheckPrintQue(tjektype : string);
-// 20150310: slut
private
SpecialVersionSted, SpecialVersionScanningtype: String; // Bruges når programmet skal bruges udenfor DAO scanningssteder
@@ -193,7 +187,7 @@
SkrivLog : String;
Sted : String;
StedNavn : String;
- Url, UrlNormal, UrlReturDAO, UrlReturBoghandler, UrlBudlevering, UrlManglendeScanninger, UrlPakkeshoplevering, UrlReturPakkeshop, UrlPakkeshopManglendeScanninger, UrlPakkeshopManglendeReturScanninger,UrlEKLoverforsel : String;
+ Url, UrlNormal, UrlReturDAO, UrlReturBoghandler, UrlBudlevering, UrlManglendeScanninger, UrlPakkeshoplevering, UrlReturPakkeshop, UrlPakkeshopManglendeScanninger, UrlPakkeshopManglendeReturScanninger,UrlIndleveringsPakke,UrlIndleveringsPakkeManglendeScanninger,UrlEKLoverforsel : String;
// 29150330: start
UrlEKLoverforselPakkeshop : String;
// 20150330: slut
@@ -207,9 +201,9 @@
AlarmLyd : String;
ScannetOkLyd : String;
ScannetOkStorLyd : String;
-// 20150317: start
+
ScannetOkTilTjekkodeLyd : String;
-// 20150317: slut
+
PrinterNavn : String;
TjekPrinter : String;
XPosRute : integer;
@@ -248,7 +242,8 @@
BoghandlerStregkode, BoghandlerTjekkode : String;
TjekUrls : String;
- function CheckSumModulo10(const data:string):string; { used for EAN 8/13 }
+ Barcode : TStBarcode;
+
procedure PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted : String; var PrintNyLabel : Boolean; BoghandlerNummer : String = '');
procedure SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted : String; var PrintNyLabel : Boolean; BoghandlerNummer : string = '');
@@ -266,6 +261,9 @@
{ Public declarations }
end;
+ function GetPixelsPerInchX(): Integer;
+ function GetPixelsPerInchY(): Integer;
+
var
MainForm: TMainForm;
@@ -279,23 +277,6 @@
implementation
{$R *.dfm}
-function TMainForm.TColorToHex(Color : TColor) : string;
-begin
- Result :=
- IntToHex(GetRValue(Color), 2) +
- IntToHex(GetGValue(Color), 2) +
- IntToHex(GetBValue(Color), 2) ;
-end;
-
-function TMainForm.HexToTColor(sColor : string) : TColor;
-begin
- Result :=
- RGB(
- StrToInt('$'+Copy(sColor, 1, 2)),
- StrToInt('$'+Copy(sColor, 3, 2)),
- StrToInt('$'+Copy(sColor, 5, 2))
- ) ;
-end;
procedure TMainForm.InitForm(Farve,Titel,Url : String);
begin
@@ -304,6 +285,8 @@
StaticTextManglendePakker.Caption := '';
// 20150309: slut
+ Barcode := TStBarcode.Create(MainForm);//Dynamisk oprettelse af Barcode component
+
PanelValg1.Color := clBtnFace;
if PanelValg1.Enabled = true then
begin
@@ -400,7 +383,7 @@
StartScreen();
MainForm.Caption := Titel;
- MainForm.Color := HexToTColor(Farve);
+ MainForm.Color := TUtils.HexToTColor(Farve);
MainForm.Farve := Farve;
MainForm.Titel := Titel;
MainForm.Url := Url;
@@ -460,13 +443,13 @@
end
else
begin
- logTekst := 'Speciel version til: '+split(Titel, ':', 2)+' ('+Sted+')';
+ logTekst := 'Speciel version til: ' + TUtils.split(Titel, ':', 2) + ' ('+Sted+')';
end;
SkrivScanningLogFil(logTekst);
end
else
begin
- logTekst := 'Speciel version til: '+split(Titel, ':', 2)+' ('+SpecialVersionSted+')';
+ logTekst := 'Speciel version til: ' + TUtils.split(Titel, ':', 2) + ' ('+SpecialVersionSted+')';
SkrivScanningLogFil(logTekst);
end;
end;
@@ -509,27 +492,11 @@
procedure TMainForm.Automatiskvalg1Click(Sender: TObject);
begin
-// 20150317: start
-(*
- if Automatiskvalg1.Checked then
- begin
- AutomatiskValg1.Checked := true;
- PanelValgA.Color := clGreen;
- PanelValgA.Font.Color := clWhite;
- end
- else
- begin
- AutomatiskValg1.Checked := false;
- PanelValgA.Color := clBtnFace;
- PanelValgA.Font.Color := clWindowText;
- end;
-*)
// Skal ikke toggle men bare sætte funktionen on
// Fravælges ved at vælge en scanningstype
AutomatiskValg1.Checked := true;
PanelValgA.Color := clGreen;
PanelValgA.Font.Color := clWhite;
-// 20150317: slut
end;
procedure TMainForm.FormCreate(Sender: TObject);
@@ -546,14 +513,14 @@
PrinterstatusStaticText1.Caption := '';
PrinterstatusStaticText1.Color := MainForm.Color;
- PakkeshopNulstil.BringToFront;
+ btnNulstil.BringToFront;
- RoundCornerOf(PanelManglendePakker1);
- RoundCornerOf(PanelManglendePakker2);
- RoundCornerOf(PanelManglendePakker3);
- RoundCornerOf(PanelManglendePakker4);
- RoundCornerOf(PanelManglendePakker5);
- RoundCornerOf(PanelManglendePakker6);
+ TUtils.RoundCornerOf(PanelManglendePakker1);
+ TUtils.RoundCornerOf(PanelManglendePakker2);
+ TUtils.RoundCornerOf(PanelManglendePakker3);
+ TUtils.RoundCornerOf(PanelManglendePakker4);
+ TUtils.RoundCornerOf(PanelManglendePakker5);
+ TUtils.RoundCornerOf(PanelManglendePakker6);
// Hvis mappen Docs eksisterer kan vi vælge Manual i menuen Hjælp
@@ -588,6 +555,13 @@
UrlReturPakkeshop := ReadString('Settings','UrlReturPakkeshop','http://omdeling.info/webservices/pakkeshop/returpakkekontrol.php?sted=%s&stregkode=%s');
UrlPakkeshopManglendeScanninger := ReadString('Settings','UrlPakkeshopManglendeScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendescanninger.php?sted=%s');
UrlPakkeshopManglendeReturScanninger := ReadString('Settings','UrlPakkeshopManglendeReturScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendereturscanninger.php?sted=%s');
+
+
+ UrlIndleveringsPakke := ReadString('Settings','UrlIndleveringsPakke','http://omdeling.info/webservices/pakkeshop/PakkekontrolIndleveringskode.php?sted=%s&pakkekode=%s');
+ UrlIndleveringsPakkeManglendeScanninger := ReadString('Settings', 'UrlIndleveringsPakkeManglendeScanninger','http://omdeling.info/webservices/pakkeshop/IndleveringsPakkeManglendeScanninger.php?sted=%s');
+
+
+
LabelType := ReadInteger('Settings','LabelType',1);
FarveNormal := ReadString('Settings','FarveNormal','D8D8D8');
TitelNormal := ReadString('Settings','TitelNormal','Modtagelse af DAO NAT X-PRESS pakker');
@@ -625,11 +599,11 @@
if (SkrivLog = '1') then
begin
- logTekst := 'Program start (Version: ' + Sto_GetFmtFileVersion('','') + ') Dato: ' + FormatDateTime('yyyy-mm-dd hh:nn:ss',now);
+ logTekst := 'Program start (Version: ' + TUtils.Sto_GetFmtFileVersion('') + ') Dato: ' + FormatDateTime('yyyy-mm-dd hh:nn:ss',now);
try
SkrivScanningLogFil(logTekst);
Uploadlogfil1.Enabled := true;
- UploadButton01.Enabled := true;
+ BtnUploadLogfil.Enabled := true;
logTekst := 'Programmet er installeret som: '+ParamStr(0);
SkrivScanningLogFil(logTekst);
// Oprydning i gamle logfiler
@@ -768,6 +742,20 @@
//SpecialVersionSted := 'FD'; // FD - sætter automatisk nedenstående SpecialVersionScanningtype til DIREKTE)
// *************************** //
+{$IfDef STED_BK}
+ SpecialVersionSted := 'BK';
+{$EndIf}
+{$IfDef STED_DBK}
+ SpecialVersionSted := 'DBK';
+{$EndIf}
+{$IfDef STED_FD}
+ SpecialVersionSted := 'FD';
+{$EndIf}
+{$IfDef STED_NS}
+ SpecialVersionSted := 'NS';
+{$EndIf}
+
+
//SpecialVersionSted := '01'; // NS - bruges sammen med nedenstående SpecialVersionScanningtype DIREKTE)
//SpecialVersionSted := '02'; // BK - BRUGES IKKE (brug i stedet ovenstående SpecialVersionSted BK)
//SpecialVersionSted := '03'; // FD - (bruges sammen med nedenstående SpecialVersionScanningtype DIREKTE)
@@ -783,7 +771,6 @@
// Hvis specialversion er valgt (SpecialVersionSted er sat til en værdi ovenfor)
// ændrer vi Sted og Scanningtype her:
-// 20150313: start
if SpecialVersionSted = 'NS' then
begin
SpecialVersionSted := '01';
@@ -794,7 +781,6 @@
SpecialVersionSted := '03';
SpecialVersionScanningtype := '4';
end;
-// 20150313: slut
if SpecialVersionSted = 'BK' then
begin
@@ -834,6 +820,9 @@
PanelValg5.Font.Color := clInactiveCaption;
PanelValg6.Enabled := false;
PanelValg6.Font.Color := clInactiveCaption;
+ PanelValg7.Enabled := false;
+ PanelValg7.Font.Color := clInactiveCaption;
+
// her skal vi også disable de menupunkter DBK ikke kan bruge
ReturpakkerfraDAO1.Enabled := false;
Returpakkerfraboghandler1.Enabled := false;
@@ -870,6 +859,8 @@
PanelValg5.Font.Color := clInactiveCaption;
PanelValg6.Enabled := false;
PanelValg6.Font.Color := clInactiveCaption;
+ PanelValg7.Enabled := false;
+ PanelValg7.Font.Color := clInactiveCaption;
// her skal vi også disable de menupunkter Bladhusene (01, 02, 03 og 04) ikke kan bruge
Automatiskvalg1.Enabled := false;
@@ -965,7 +956,7 @@
RutenummerST.Caption := '';
BoghandlerNavnST.Caption := 'Fejl i urls';
KommentarST.Caption := 'Se log vinduet';
- PakkeshopNulstil.Visible := true;
+ btnNulstil.Visible := true;
exit;
end;
end
@@ -1134,7 +1125,7 @@
Scanningtype := gemScanningtype;
SendInfoTilServer(Sted, Scanningtype, 'Begin', '');
- SendInfoTilServer(Sted, Scanningtype, 'ProgramVersion', Sto_GetFmtFileVersion('',''));
+ SendInfoTilServer(Sted, Scanningtype, 'ProgramVersion', TUtils.Sto_GetFmtFileVersion(''));
end;
@@ -1214,11 +1205,11 @@
if StregKode = 'Nulstil' then
begin
- PakkeshopNulstil.Click();
+ btnNulstil.Click();
exit;
end;
- if PakkeshopNulstil.Visible then
+ if btnNulstil.Visible then
begin
VisAlarmSkaerm( 'HUSK at klikke Nulstil før ny scanning...' );
@@ -1543,7 +1534,7 @@
BoghandlerStregkode := Stregkode;
BoghandlerTjekkode := '';
PakkeshopText1.Caption := 'Stregkode';
- PakkeshopNulstil.Visible := false;
+ btnNulstil.Visible := false;
Stregkode := '';
InitScreen();
end
@@ -1555,7 +1546,7 @@
BoghandlerStregkode := Stregkode;
BoghandlerTjekkode := '-1';
PakkeshopText1.Caption := 'Stregkode';
- PakkeshopNulstil.Visible := false;
+ btnNulstil.Visible := false;
Stregkode := '';
InitScreen();
end
@@ -1586,10 +1577,10 @@
BoghandlerTjekkode := Stregkode;
PakkeshopText1.Caption := 'Stregkode';
if (PakkeshopLevering1.Checked) then
- MainForm.Color := HexToTColor(FarvePakkeshoplevering);
+ MainForm.Color := TUtils.HexToTColor(FarvePakkeshoplevering);
if (Pakkernormal1.Checked) then
- MainForm.Color := HexToTColor(FarveNormal);
- PakkeshopNulstil.Visible := false;
+ MainForm.Color := TUtils.HexToTColor(FarveNormal);
+ btnNulstil.Visible := false;
end
else
begin
@@ -1621,12 +1612,8 @@
// Hvis der var sql fejl i opdateringen skal dette fejlmeldes her
if Rutenummer = 'sql fejl' then
begin // Her skal komme en alarm og rød skærm
- PlaySound(PWideChar(AlarmLyd));
- //List1msg := 'SQL fejl: ' + Kommentar;
- //ListBox1.Items.Insert(0,List1Msg);
- MainForm.Color := clRed;
- //KommentarST.Caption := List1msg;
- PakkeshopNulstil.Visible := true;
+ VisAlarmSkaerm( 'SQL fejl: ' + Kommentar );
+
exit;
end;
if (Pakkernormal1.Checked or Budlevering1.Checked or PakkeshopLevering1.Checked) then
@@ -1646,13 +1633,13 @@
if (pakkeErScannet > 0) or (pakkeForkertSted > 0) or (tjekkodemangler > 0) then
begin
PlaySound(PWideChar(AlarmLyd));
- PakkeshopNulstil.Visible := true;
+ btnNulstil.Visible := true;
MainForm.Color := clRed;
end;
end;
if ( Pakkernormal1.Checked and (pakkeErScannet = 0) and (pakkeForkertSted = 0) and (tjekkodemangler = 0) and (RuteNummerST.Caption <> 'Ukendt') ) or (Copy(Kommentar,1,2) = 'Ok') then
begin
- MainForm.Color := HexToTColor(Farve);
+ MainForm.Color := TUtils.HexToTColor(Farve);
if Storepakker1.Checked then
begin
PlaySound(PWideChar(ScannetOkStorLyd));
@@ -1661,11 +1648,11 @@
begin
PlaySound(PWideChar(ScannetOkLyd));
end;
- PakkeshopNulstil.Visible := false;
+ btnNulstil.Visible := false;
end
else if (Returpakkerfradao1.Checked or Returpakkerfraboghandler1.Checked) then
begin
- MainForm.Color := HexToTColor(Farve);
+ MainForm.Color := TUtils.HexToTColor(Farve);
if Storepakker1.Checked then
begin
PlaySound(PWideChar(ScannetOkStorLyd));
@@ -1674,7 +1661,7 @@
begin
PlaySound(PWideChar(ScannetOkLyd));
end;
- PakkeshopNulstil.Visible := false;
+ btnNulstil.Visible := false;
end
else if Copy(Kommentar,1,8) = 'OPRETTET' then
begin
@@ -1685,11 +1672,9 @@
end
else
begin
- MainForm.Color := clRed;
- PlaySound(PWideChar(AlarmLyd));
- PakkeshopNulstil.Visible := true;
+ VisAlarmSkaerm('');
end;
- if not PakkeshopNulstil.Visible then
+ if not btnNulstil.Visible then
begin
If (Budlevering1.Checked) then
@@ -1792,11 +1777,11 @@
if (pos('/', wrkAntal) > 0) then // både pakker idag og senere
begin
wrkAntal := wrkAntal + '/'; // tilføjer '/' sidst i feltet af hensyn til split funktionen
- wrkAntalIdag := StrToInt(split(wrkAntal, '/', 2));
+ wrkAntalIdag := StrToInt( TUtils.split(wrkAntal, '/', 2));
// ShowMessage(SPLIT('data/another/yet/again/more/','/',3));
// ShowMessage(SPLIT('data/another/','/',3));
// ShowMessage(SPLIT('data/another','/',3));
- wrkAntalSenere := StrToInt(split(wrkAntal, '/', 3));
+ wrkAntalSenere := StrToInt( TUtils.split(wrkAntal, '/', 3));
end
else // kun idag
begin
@@ -1989,7 +1974,7 @@
01 :
begin; // NS
Testprinter1.Visible := true;
- DownloadButton01.Enabled := true;
+ BtnDownloadKontrolfil.Enabled := true;
OpdaterListenButton01.Enabled := true;
IdFTP1.Passive := true;
IdFTP1.PassiveUseControlHost := true;
@@ -2005,7 +1990,7 @@
Storepakker1.Enabled := true;
radioStorPakke.Enabled := true;
radioLillePakke.Enabled := true;
- DownloadButton01.Enabled := false; // kontrolfil bruges ikke her
+ BtnDownloadKontrolfil.Enabled := false; // kontrolfil bruges ikke her
OpdaterListenButton01.Enabled := true;
IdFTP1.Passive := true;
IdFTP1.PassiveUseControlHost := true;
@@ -2016,13 +2001,13 @@
Testprinter1.Visible := true;
if (getProddag() = 'lørdag') then
begin
- DownloadButton03.Visible := false;
+ BtnDownloadRuteskiftFil.Visible := false;
end
else
begin
- DownloadButton03.Visible := false;
+ BtnDownloadRuteskiftFil.Visible := false;
end;
- DownloadButton01.Enabled := true;
+ BtnDownloadKontrolfil.Enabled := true;
OpdaterListenButton01.Enabled := true;
IdFTP1.Passive := true;
IdFTP1.PassiveUseControlHost := true;
@@ -2043,7 +2028,7 @@
Storepakker1.Enabled := true;
radioStorPakke.Enabled := true;
radioLillePakke.Enabled := true;
- DownloadButton01.Enabled := false; // kontrolfil bruges ikke her
+ BtnDownloadKontrolfil.Enabled := false; // kontrolfil bruges ikke her
OpdaterListenButton01.Enabled := true;
IdFTP1.Passive := true;
IdFTP1.PassiveUseControlHost := true;
@@ -2060,6 +2045,8 @@
URLStr : String;
pakkestorrelse : String;
PrintNyLabelInteger : Integer;
+
+ PakkeshopLabel: TPakkeshopLabel;
begin
if radioStorPakke.Checked then
begin
@@ -2069,6 +2056,8 @@
begin
pakkestorrelse := 'Lille';
end;
+
+
if Pakkernormal1.Checked then
begin
if (BoghandlerTjekkode = '') then
@@ -2097,6 +2086,10 @@
begin
URLStr := Format(UrlReturPakkeshop,[Sted, PakkeNr]);
end
+ else if menuIndlevering.Checked then
+ begin
+ URLStr := Format(UrlIndleveringsPakke,[Sted, PakkeNr]);
+ end
else
begin
exit;
@@ -2143,10 +2136,27 @@
begin
PrintNyLabel := True;
end;
-// 20150310: start
end;
-// 20150310: slut
end
+ else if menuIndlevering.Checked then
+ begin
+
+
+
+
+ Kommentar := XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('Stregkodematch').Text;
+ if (Kommentar = 'Ok') then
+ begin
+ PrintNyLabel := True; //Indleveringskode vil ALTID udskrive label
+ PakkeshopLabel := TPakkeshopLabel.Create( XMLDocument1 ); //Opret struct og parse xml doc
+ RuteNummer := PakkeshopLabel.Koreliste;
+
+ PrintPakkeshopLabel( PakkeshopLabel );
+
+ end;
+
+
+ end
else
begin
RuteNummer := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('TurId').Text;
@@ -2179,6 +2189,8 @@
PrintNyLabel := True;
end;
end;
+
+
if (BladhusSted > 00) and (BladhusSted < Length(BladhusStedNavn)) then
begin
if (Leveringssted <> BladhusStedKode[BladhusSted]) and (BladhusStedKode[BladhusSted] <> 'DBK') then
@@ -2276,7 +2288,7 @@
SkrivScanningLogFil(logTekst);
end;
-procedure TMainForm.UploadButton01Click(Sender: TObject);
+procedure TMainForm.BtnUploadLogfilClick(Sender: TObject);
begin
UploadLogfilTilDAO();
UploadInifilTilDAO();
@@ -2293,7 +2305,7 @@
nytRuteNummer, nyFarve : String;
begin
if Budlevering1.Checked then
- RuteNummerST.Color := HexToTColor(Farve);
+ RuteNummerST.Color := TUtils.HexToTColor(Farve);
pakkeErScannet := pos('PAKKEN ER SCANNET', BoghandlerNavn);
if pakkeErScannet = 0 then
@@ -2338,7 +2350,7 @@
PlaySound(PWideChar(AlarmLyd));
MainForm.Color := clRed;
- PakkeshopNulstil.Visible := true;
+ btnNulstil.Visible := true;
end
else
@@ -2349,7 +2361,7 @@
PrintNyLabel := true;
RuteNummerST.Caption := RuteNummer+' -> ny rute: '+nytRuteNummer;
nyFarve := Farve;
- RuteNummerST.Color := HexToTColor(nyFarve);
+ RuteNummerST.Color := TUtils.HexToTColor(nyFarve);
List1msg := TimeToStr(now) + '; ' + RuteNummer+' -> ny rute: '+nytRuteNummer;
RuteNummer := nytRuteNummer;
ListBox1.Items.Insert(0,List1Msg);
@@ -2365,7 +2377,7 @@
begin
PlaySound(PWideChar(AlarmLyd));
MainForm.Color := clRed;
- PakkeshopNulstil.Visible := true;
+ btnNulstil.Visible := true;
end;
end;
@@ -2391,7 +2403,7 @@
begin
PlaySound(PWideChar(AlarmLyd));
MainForm.Color := clRed;
- PakkeshopNulstil.Visible := true;
+ btnNulstil.Visible := true;
end;
end;
@@ -2415,7 +2427,7 @@
end;
end;
01 : begin;
- if PrintNyLabel and ( (kontrolKoreliste <> '') and (kontrolKoreliste <> RuteNummer) ) or (RuteNummer = 'Rutenr') then
+ if PrintNyLabel or ( (kontrolKoreliste <> '') and (kontrolKoreliste <> RuteNummer) ) or (RuteNummer = 'Rutenr') then
// Ovenstående test er lidt speciel fordi der i programmet nogle steder er byttet rundt på rute og køreliste
// Meningen er at der kun skal printes hvis der er forskel i kørelisterne eller ruterne - eller vi kommer fra test funktionen (Rutenr = 'Rutenr')
begin
@@ -2429,7 +2441,7 @@
end;
end;
03 : begin;
- if PrintNyLabel and ( (kontrolKoreliste <> '') and (kontrolKoreliste <> RuteNummer) ) or (RuteNummer = 'Rutenr') then
+ if PrintNyLabel or ( (kontrolKoreliste <> '') and (kontrolKoreliste <> RuteNummer) ) or (RuteNummer = 'Rutenr') then
// Ovenstående test er lidt speciel fordi der i programmet nogle steder er byttet rundt på rute og køreliste
// Meningen er at der kun skal printes hvis der er forskel i kørelisterne eller ruterne - eller vi kommer fra test funktionen (Rutenr = 'Rutenr')
begin
@@ -2640,7 +2652,7 @@
// Tjekker UrlNormal
if PanelValg1.Enabled = true then
begin
- if CheckUrl(UrlNormal) then
+ if TUtils.CheckUrl(UrlNormal) then
begin
logTekst := 'UrlNormal accepteret: ' + UrlNormal;
SkrivScanningLogFil(logTekst);
@@ -2669,7 +2681,7 @@
// Tjekker UrlReturDAO
if PanelValg2.Enabled = true then
begin
- if CheckUrl(UrlReturDAO) then
+ if TUtils.CheckUrl(UrlReturDAO) then
begin
logTekst := 'UrlReturDAO accepteret: ' + UrlReturDAO;
SkrivScanningLogFil(logTekst);
@@ -2697,7 +2709,7 @@
// Tjekker UrlReturBoghandler
if PanelValg3.Enabled = true then
begin
- if CheckUrl(UrlReturBoghandler) then
+ if TUtils.CheckUrl(UrlReturBoghandler) then
begin
logTekst := 'UrlReturBoghandler accepteret: ' + UrlReturBoghandler;
SkrivScanningLogFil(logTekst);
@@ -2725,7 +2737,7 @@
// Tjekker UrlBudlevering
if PanelValg4.Enabled = true then
begin
- if CheckUrl(UrlBudlevering) then
+ if TUtils.CheckUrl(UrlBudlevering) then
begin
logTekst := 'UrlBudlevering accepteret: ' + UrlBudlevering;
SkrivScanningLogFil(logTekst);
@@ -2753,7 +2765,7 @@
// Tjekker UrlPakkeshoplevering
if PanelValg5.Enabled = true then
begin
- if CheckUrl(UrlPakkeshoplevering) then
+ if TUtils.CheckUrl(UrlPakkeshoplevering) then
begin
logTekst := 'UrlPakkeshoplevering accepteret: ' + UrlPakkeshoplevering;
SkrivScanningLogFil(logTekst);
@@ -2781,7 +2793,7 @@
// Tjekker UrlReturPakkeshop
if PanelValg6.Enabled = true then
begin
- if CheckUrl(UrlReturPakkeshop) then
+ if TUtils.CheckUrl(UrlReturPakkeshop) then
begin
logTekst := 'UrlReturPakkeshop accepteret: ' + UrlReturPakkeshop;
SkrivScanningLogFil(logTekst);
@@ -2810,7 +2822,7 @@
if (PanelValg1.Enabled = true)
or (PanelValg4.Enabled = true) then
begin
- if CheckUrl(UrlManglendeScanninger) then
+ if TUtils.CheckUrl(UrlManglendeScanninger) then
begin
logTekst := 'UrlManglendeScanninger accepteret: ' + UrlManglendeScanninger;
SkrivScanningLogFil(logTekst);
@@ -2838,7 +2850,7 @@
// Tjekker UrlPakkeshopManglendeScanninger
if PanelValg5.Enabled = true then
begin
- if CheckUrl(UrlPakkeshopManglendeScanninger) then
+ if TUtils.CheckUrl(UrlPakkeshopManglendeScanninger) then
begin
logTekst := 'UrlPakkeshopManglendeScanninger accepteret: ' + UrlPakkeshopManglendeScanninger;
SkrivScanningLogFil(logTekst);
@@ -2866,7 +2878,7 @@
// Tjekker UrlPakkeshopManglendeReturScanninger
if PanelValg6.Enabled = true then
begin
- if CheckUrl(UrlPakkeshopManglendeReturScanninger) then
+ if TUtils.CheckUrl(UrlPakkeshopManglendeReturScanninger) then
begin
logTekst := 'UrlPakkeshopManglendeReturScanninger accepteret: ' + UrlPakkeshopManglendeReturScanninger;
SkrivScanningLogFil(logTekst);
@@ -2891,10 +2903,62 @@
end;
end;
+ // Tjekker UrlIndleveringsPakke og UrlIndleveringsPakkeManglendeScanninger
+ if PanelValg7.Enabled = true then
+ begin
+ if TUtils.CheckUrl(UrlIndleveringsPakke) then
+ begin
+ logTekst := 'UrlIndleveringsPakke accepteret: ' + UrlIndleveringsPakke;
+ SkrivScanningLogFil(logTekst);
+ end
+ else
+ begin
+ inc(urlFejl); // Optæller antal fejl
+ logTekst := 'UrlIndleveringsPakke svarer ikke: ' + UrlIndleveringsPakke;
+ ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);
+ if TjekUrls = '1' then
+ begin
+ logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... ';
+ end;
+ SkrivScanningLogFil(logTekst);
+ if TjekUrls = '1' then
+ begin
+ ShowMessage(logTekst);
+ UrlSendPrograminfo := ''; // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut
+ Application.Terminate;
+ exit;
+ end;
+ end;
+
+ if TUtils.CheckUrl(UrlIndleveringsPakkeManglendeScanninger) then
+ begin
+ logTekst := 'UrlIndleveringsPakkeManglendeScanninger accepteret: ' + UrlIndleveringsPakkeManglendeScanninger;
+ SkrivScanningLogFil(logTekst);
+ end
+ else
+ begin
+ inc(urlFejl); // Optæller antal fejl
+ logTekst := 'UrlIndleveringsPakkeManglendeScanninger svarer ikke: ' + UrlIndleveringsPakkeManglendeScanninger;
+ ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);
+ if TjekUrls = '1' then
+ begin
+ logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... ';
+ end;
+ SkrivScanningLogFil(logTekst);
+ if TjekUrls = '1' then
+ begin
+ ShowMessage(logTekst);
+ UrlSendPrograminfo := ''; // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut
+ Application.Terminate;
+ exit;
+ end;
+ end;
+ end;
+
// Tjekker UrlEKLoverforsel
if PanelValg1.Enabled = true then
begin
- if CheckUrl(UrlEKLoverforsel) then
+ if TUtils.CheckUrl(UrlEKLoverforsel) then
begin
logTekst := 'UrlEKLoverforsel accepteret: ' + UrlEKLoverforsel;
SkrivScanningLogFil(logTekst);
@@ -2923,7 +2987,7 @@
// Tjekker UrlEKLoverforselPakkeshop
if PanelValg5.Enabled = true then
begin
- if CheckUrl(UrlEKLoverforselPakkeshop) then
+ if TUtils.CheckUrl(UrlEKLoverforselPakkeshop) then
begin
logTekst := 'UrlEKLoverforselPakkeshop accepteret: ' + UrlEKLoverforselPakkeshop;
SkrivScanningLogFil(logTekst);
@@ -2950,7 +3014,7 @@
// Tjekker UrlFindPakketype
- if CheckUrl(UrlFindPakketype) then
+ if TUtils.CheckUrl(UrlFindPakketype) then
begin
logTekst := 'UrlFindPakketype accepteret: ' + UrlFindPakketype;
SkrivScanningLogFil(logTekst);
@@ -2975,7 +3039,7 @@
end;
// Tjekker UrlSendPrograminfo
- if CheckUrl(UrlSendPrograminfo) then
+ if TUtils.CheckUrl(UrlSendPrograminfo) then
begin
logTekst := 'UrlSendPrograminfo accepteret: ' + UrlSendPrograminfo;
SkrivScanningLogFil(logTekst);
@@ -3012,16 +3076,6 @@
end;
-function TMainForm.FileTime2DateTime(FileTime: TFileTime): TDateTime;
-var
- LocalFileTime: TFileTime;
- SystemTime: TSystemTime;
-begin
- FileTimeToLocalFileTime(FileTime, LocalFileTime) ;
- FileTimeToSystemTime(LocalFileTime, SystemTime) ;
- Result := SystemTimeToDateTime(SystemTime) ;
-end;
-
procedure TMainForm.SletLogfiler(Path: string; FileList: TStrings);
var
SR: TSearchRec;
@@ -3038,9 +3092,10 @@
repeat
if (SR.Attr <> faDirectory) then
begin
+
dt := fileDateToDateTime(SR.Time); // finder filens timestamp for seneste ændring
CreationTime := SR.FindData.ftCreationTime; // finder filens timestamp for oprettelse
- dtCreation := FileTime2DateTime(CreationTime); // finder filens timestamp for oprettelse
+ dtCreation := TUtils.FileTime2DateTime(CreationTime); // finder filens timestamp for oprettelse
// Selvom creation date godt kan være forskellig fra modified date,
// skal vi alligevel altid tjekke filens alder ud fra modified date
// (ændring den kan ligge både før og efter oprettelse, hvis filerne er flyttet eller ændret manuelt)
@@ -3077,11 +3132,11 @@
end;
end;
-procedure TMainForm.PakkeshopNulstilClick(Sender: TObject);
+procedure TMainForm.btnNulstilClick(Sender: TObject);
begin
PakkeshopStregkode := '';
PakkeshopTjekkode := '';
- PakkeshopNulstil.Visible := false;
+ btnNulstil.Visible := false;
PakkeshopText1.Caption := 'Stregkode';
BoghandlerStregkode := '';
BoghandlerTjekkode := '';
@@ -3099,7 +3154,7 @@
// MainForm.Color := HexToTColor(Farve);
if Farve <> '' then
begin
- MainForm.Color := HexToTColor(Farve);
+ MainForm.Color := TUtils.HexToTColor(Farve);
// 20150312: start
(*
end
@@ -3173,27 +3228,14 @@
procedure TMainForm.PanelValgAClick(Sender: TObject);
begin
-// 20150311: start
-(*
- if PanelValgA.Color = clBtnFace then
- begin
- AutomatiskValg1.Checked := true;
- PanelValgA.Color := clGreen;
- PanelValgA.Font.Color := clWhite;
- end
- else
- begin
- AutomatiskValg1.Checked := false;
- PanelValgA.Color := clBtnFace;
- PanelValgA.Font.Color := clWindowText;
- end;
-*)
// Skal ikke toggle men bare sætte funktionen on
// Fravælges ved at vælge en scanningstype
- AutomatiskValg1.Checked := true;
- PanelValgA.Color := clGreen;
- PanelValgA.Font.Color := clWhite;
-// 20150311: slut
+ AutomatiskValg1.Checked := true;
+ PanelValgA.Color := clGreen;
+ PanelValgA.Font.Color := clWhite;
+
+
+
end;
procedure TMainForm.Pakkernormal1Click(Sender: TObject);
@@ -3231,7 +3273,7 @@
// Her kommer en alarm og rød skærm
PlaySound(PWideChar(AlarmLyd));
MainForm.Color := clRed;
- PakkeshopNulstil.Visible := true;
+ btnNulstil.Visible := true;
end
else
begin
@@ -3299,36 +3341,7 @@
end;
end;
-{
- VERY fast split function
- this function returns part of a string based on
- constant defineable delimiters, such as ";". So
- SPLIT('this is a test ',' ',3) = 'is' or
- SPLIT('data;another;yet;again;more;',';',4) = 'yet'
-
- Split function shifts index integer by two to
- be compatible with commonly used PD split function
- gpl 2004 / Juhani Suhonen
-}
-function TMainForm.split(input: string; schar: Char; s: Integer): string;
-var
- c: array of Integer;
- b, t: Integer;
-begin
- Dec(s, 2); // for compatibility with very old & slow split function
- t := 0; // variable T needs to be initialized...
- setlength(c, Length(input));
- for b := 0 to pred(High(c)) do
- begin
- c[b + 1] := posex(schar, input, succ(c[b]));
- // BREAK LOOP if posex looped (position before previous)
- // or wanted position reached..
- if (c[b + 1] < c[b]) or (s < t) then break
- else
- Inc(t);
- end;
- Result := Copy(input, succ(c[s]), pred(c[s + 1] - c[s]));
-end;
+
procedure TMainForm.Om1Click(Sender: TObject);
const
@@ -3337,7 +3350,7 @@
tekst, filversion : String;
begin
- filversion := Sto_GetFmtFileVersion('','');
+ filversion := TUtils.Sto_GetFmtFileVersion('');
tekst := 'Program til indscanning af pakker'+crlf+'Version '+filversion+crlf+crlf+'Udviklet af it afdelingen, DAO';
tekst := tekst+crlf+crlf;
@@ -3359,12 +3372,12 @@
end
else
begin
- tekst := tekst+crlf+crlf+'Speciel version til: '+split(Titel, ':', 2)+' ('+Sted+')';
+ tekst := tekst+crlf+crlf+'Speciel version til: ' + TUtils.split(Titel, ':', 2) + ' ('+Sted+')';
end;
end
else
begin
- tekst := tekst+crlf+crlf+'Speciel version til: '+split(Titel, ':', 2)+' ('+SpecialVersionSted+')';
+ tekst := tekst+crlf+crlf+'Speciel version til: ' + TUtils.split(Titel, ':', 2) + ' ('+SpecialVersionSted+')';
end;
end;
@@ -3432,7 +3445,7 @@
if FileExists(fileName) then
begin
- if AdobeReaderExists then
+ if TUtils.AdobeReaderExists then
begin
//ShellExecute(Handle, 'open', 'c:\Windows\notepad.exe', nil, nil, SW_SHOWNORMAL);
ShellExecute(Handle,'open',PChar(fileName), nil, nil, SW_SHOWNORMAL);
@@ -3456,7 +3469,7 @@
if FileExists(fileName) then
begin
- if AdobeReaderExists then
+ if TUtils.AdobeReaderExists then
begin
//ShellExecute(Handle, 'open', 'c:\Windows\notepad.exe', nil, nil, SW_SHOWNORMAL);
ShellExecute(Handle,'open',PChar(fileName), nil, nil, SW_SHOWNORMAL);
@@ -3472,6 +3485,13 @@
end;
end;
+procedure TMainForm.menuIndleveringClick(Sender: TObject);
+begin
+ Scanningtype := '7';
+ NulstilAutomatiskValg();
+ InitIndleveringskode();
+end;
+
procedure TMainForm.Sprgefterboghandlernummer1Click(Sender: TObject);
begin
@@ -3504,7 +3524,7 @@
procedure TMainForm.InitNatxpresslevering();
begin
AutomatiskTjekkodeStyring1.Enabled := true;
- PakkeshopNulstil.Visible := false;
+ btnNulstil.Visible := false;
Pakkernormal1.Checked := true;
InitForm(FarveNormal,TitelNormal,UrlNormal);
PanelValg1.Color := clGreen;
@@ -3537,7 +3557,7 @@
begin
AutomatiskTjekkodeStyring1.Enabled := false;
ReturpakkerfraDAO1.Checked := true;
- PakkeshopNulstil.Visible := false;
+ btnNulstil.Visible := false;
InitForm(FarveReturDAO,TitelReturDAO,UrlReturDAO);
PanelValg2.Color := clGreen;
PanelValg2.Font.Color := clWhite;
@@ -3564,7 +3584,7 @@
begin
AutomatiskTjekkodeStyring1.Enabled := false;
Returpakkerfraboghandler1.Checked := true;
- PakkeshopNulstil.Visible := false;
+ btnNulstil.Visible := false;
InitForm(FarveReturBoghandler,TitelReturBoghandler,UrlReturBoghandler);
PanelValg3.Color := clGreen;
PanelValg3.Font.Color := clWhite;
@@ -3590,7 +3610,7 @@
begin
AutomatiskTjekkodeStyring1.Enabled := false;
Budlevering1.Checked := true;
- PakkeshopNulstil.Visible := false;
+ btnNulstil.Visible := false;
InitForm(FarveBudlevering,TitelBudlevering,UrlBudlevering);
PanelValg4.Color := clGreen;
PanelValg4.Font.Color := clWhite;
@@ -3608,9 +3628,9 @@
radioLillePakke.Enabled := true;
ListBox1.Visible := true;
ListBox1.Items.Clear;
- DownloadButton01.Enabled := false;
+ BtnDownloadKontrolfil.Enabled := false;
OpdaterListenButton01.Enabled := true;
- DownloadButton03.Visible := false;
+ BtnDownloadRuteskiftFil.Visible := false;
EKLoverforsel.Enabled := false;
IdFTP1.Passive := true;
IdFTP1.PassiveUseControlHost := true;
@@ -3626,7 +3646,7 @@
begin
AutomatiskTjekkodeStyring1.Enabled := true;
Pakkeshoplevering1.Checked := true;
- PakkeshopNulstil.Visible := false;
+ btnNulstil.Visible := false;
InitForm(FarvePakkeshoplevering,TitelPakkeshoplevering,UrlPakkeshoplevering);
PanelValg5.Color := clGreen;
PanelValg5.Font.Color := clWhite;
@@ -3644,7 +3664,7 @@
radioLillePakke.Enabled := false;
ListBox1.Visible := true;
ListBox1.Items.Clear;
- DownloadButton01.Enabled := false;
+ BtnDownloadKontrolfil.Enabled := false;
OpdaterListenButton01.Enabled := true;
EKLoverforsel.Enabled := true;
@@ -3663,7 +3683,7 @@
begin
AutomatiskTjekkodeStyring1.Enabled := false;
Returpakkerfrapakkeshop1.Checked := true;
- PakkeshopNulstil.Visible := false;
+ btnNulstil.Visible := false;
InitForm(FarveReturPakkeshop,TitelReturPakkeshop,UrlReturPakkeshop);
PanelValg6.Color := clGreen;
PanelValg6.Font.Color := clWhite;
@@ -3681,7 +3701,7 @@
radioLillePakke.Enabled := false;
ListBox1.Visible := true;
ListBox1.Items.Clear;
- DownloadButton01.Enabled := false;
+ BtnDownloadKontrolfil.Enabled := false;
OpdaterListenButton01.Enabled := true;
EKLoverforsel.Enabled := false;
InitLillePakke();
@@ -3703,9 +3723,10 @@
procedure TMainForm.InitIndleveringskode();
begin
+ menuIndlevering.Checked := true;
AutomatiskTjekkodeStyring1.Enabled := false;
- Returpakkerfrapakkeshop1.Checked := true;
- PakkeshopNulstil.Visible := false;
+
+ btnNulstil.Visible := false;
InitForm(FarveIndlevering, TitelIndlevering, UrlReturPakkeshop);
PanelValg7.Color := clGreen;
PanelValg7.Font.Color := clWhite;
@@ -3727,7 +3748,7 @@
ListBox1.Visible := true;
ListBox1.Items.Clear();
- DownloadButton01.Enabled := false;
+ BtnDownloadKontrolfil.Enabled := false;
OpdaterListenButton01.Enabled := true;
EKLoverforsel.Enabled := false;
InitLillePakke();
@@ -3767,72 +3788,7 @@
// 20150310: slut
end;
-///
-/// This function reads the file resource of "FileName" and returns
-/// the version number as formatted text.
-///
-/// Sto_GetFmtFileVersion() = '4.13.128.0'
-/// Sto_GetFmtFileVersion('', '%.2d-%.2d-%.2d') = '04-13-128'
-///
-/// If "Fmt" is invalid, the function may raise an
-/// EConvertError exception.
-/// Full path to exe or dll. If an empty
-/// string is passed, the function uses the filename of the
-/// running exe or dll.
-/// Format string, you can use at most four integer
-/// values.
-/// Formatted version number of file, '' if no version
-/// resource found.
-function TMainForm.Sto_GetFmtFileVersion(const FileName: String = '';
- const Fmt: String = '%d.%d.%d.%d'): String;
-var
- sFileName: String;
- iBufferSize: DWORD;
- iDummy: DWORD;
- pBuffer: Pointer;
- pFileInfo: Pointer;
- iVer: array[1..4] of Word;
- S : String;
-begin
- // set default value
- Result := '';
- // get filename of exe/dll if no filename is specified
- sFileName := Trim(FileName);
- if (sFileName = '') then
- sFileName := GetModuleName(HInstance);
- // get size of version info (0 if no version info exists)
- iBufferSize := GetFileVersionInfoSize(PChar(sFileName), iDummy);
- if (iBufferSize > 0) then
- begin
- GetMem(pBuffer, iBufferSize);
- try
- // get fixed file info (language independent)
- GetFileVersionInfo(PChar(sFileName), 0, iBufferSize, pBuffer);
- VerQueryValue(pBuffer, '\', pFileInfo, iDummy);
- // read version blocks
- iVer[1] := HiWord(PVSFixedFileInfo(pFileInfo)^.dwFileVersionMS);
- iVer[2] := LoWord(PVSFixedFileInfo(pFileInfo)^.dwFileVersionMS);
- iVer[3] := HiWord(PVSFixedFileInfo(pFileInfo)^.dwFileVersionLS);
- iVer[4] := LoWord(PVSFixedFileInfo(pFileInfo)^.dwFileVersionLS);
- finally
- FreeMem(pBuffer);
- end;
- // format result string
- Result := Format(Fmt, [iVer[1], iVer[2], iVer[3], iVer[4]]);
- // Hvorfor virker ovenstående ikke ???
- S := '';
- Str(iVer[1], Result);
- S := S+Result+'.';
- Str(iVer[2], Result);
- S := S+Result+'.';
- Str(iVer[3], Result);
- S := S+Result+'.';
- Str(iVer[4], Result);
- S := S+Result+'';
- Result := S;
- end;
-end;
procedure TMainForm.PlaySound(filename : PWideChar);
begin
@@ -3993,7 +3949,7 @@
BoghandlerNavnST.Caption := 'Prøv venligst igen om lidt...';
end;
KommentarST.Caption := Kommentar;
- PakkeshopNulstil.Visible := true;
+ btnNulstil.Visible := true;
end;
end;
@@ -4017,7 +3973,7 @@
else
MessageBox(Handle, 'fejl', 'Stregkode', MB_OK);
}
- Svar := 'Beregnet: '+CheckSumModulo10(LeftStr(Barcode,Length(Barcode)-1))+', Indtastet: '+Barcode;
+ Svar := 'Beregnet: ' + TUtils.CheckSumModulo10(LeftStr(Barcode,Length(Barcode)-1))+', Indtastet: '+Barcode;
MessageBox(Handle, PWideChar(Svar), 'Stregkode', MB_OK);
CheckCode();
@@ -4025,45 +3981,6 @@
end;
-function TMainForm.BarCodeValid (ACode: string): boolean;
-var
- I: integer;
- SumOdd, SumEven: integer;
- ADigit, AChecksumDigit: integer;
-begin
- SumOdd := 0;
- SumEven := 0;
- for I := 1 to (Length (ACode) - 1) do begin
- ADigit := StrToIntDef (ACode [I], 0);
- if (I MOD 2 = 0) then begin
- SumEven := SumEven + ADigit;
- end else begin
- SumOdd := SumOdd + ADigit;
- end; {if}
- end; {for}
- AChecksumDigit := StrToIntDef (ACode [Length (ACode)], 0);
- Result := ((SumOdd*3 + SumEven + AChecksumDigit) MOD 10 = 0);
-end; {--BarCodeValid--}
-
-{ used for EAN 8/13 }
-function TMainForm.CheckSumModulo10(const data:string):string;
- var i,fak,sum : Integer;
-begin
- sum := 0;
- fak := Length(data);
- for i:=1 to Length(data) do
- begin
- if (fak mod 2) = 0 then
- sum := sum + (StrToInt(data[i])*1)
- else
- sum := sum + (StrToInt(data[i])*3);
- dec(fak);
- end;
- if (sum mod 10) = 0 then
- result := data+'0'
- else
- result := data+IntToStr(10-(sum mod 10));
-end;
//
// Bladhus ***
@@ -4541,7 +4458,7 @@
ListBox1.SetFocus; // for at flytte fokus væk fra upload knappen så denne ikke aktiveres ved scanning / indtastning af stregkode
end;
-procedure TMainForm.DownloadButton01Click(Sender: TObject);
+procedure TMainForm.BtnDownloadKontrolfilClick(Sender: TObject);
begin
DownloadBladhusKontrolfil();
ListBox1.SetFocus; // for at flytte fokus væk fra download knappen så denne ikke aktiveres ved scanning / indtastning af stregkode
@@ -4556,7 +4473,7 @@
ListBox1.SetFocus; // for at flytte fokus væk fra download knappen så denne ikke aktiveres ved scanning / indtastning af stregkode
end;
-procedure TMainForm.DownloadButton03Click(Sender: TObject);
+procedure TMainForm.BtnDownloadRuteskiftFilClick(Sender: TObject);
begin
if (getProddag() = 'lørdag') then
begin
@@ -4565,20 +4482,130 @@
ListBox1.SetFocus; // for at flytte fokus væk fra download knappen så denne ikke aktiveres ved scanning / indtastning af stregkode
end;
-function TMainForm.Explode(var a: TStrArray; Border, S: string): Integer;
+
+// ToDo: PrintPakkeshopLabel()
+procedure TMainForm.PrintPakkeshopLabel( PakkeshopLabel : TPakkeshopLabel);
var
- S2: string;
+ XForm, XFormOld: TXForm; //Bruges til rotate X-formation
+ Angle: integer;
+ gMode: integer;
+ Dirigering: string;
+
+begin
+ with Printer do
+ begin
+ BeginDoc();
+
+
+ Canvas.Font.Size := 16;
+ Canvas.TextOut(15,10, 'Code: ' + PakkeshopLabel.Tjekkode + ' ' + PakkeshopLabel.Overskrift);
+
+
+
+ Canvas.TextOut(25, 90, PakkeshopLabel.Navn );
+ Canvas.TextOut(25, 135, PakkeshopLabel.Vejnavn );
+ Canvas.TextOut(25, 180, PakkeshopLabel.Postnr );
+
+
+ Canvas.Font.Size := 9;
+ Canvas.TextOut(110, 240, 'Pakkeshop:');
+ Canvas.TextOut(110, 270, PakkeshopLabel.PakkeshopNavn);
+ Canvas.TextOut(110, 300, PakkeshopLabel.PakkeshopAddr);
+ Canvas.TextOut(110, 330, PakkeshopLabel.PakkeshopPostnr);
+
+ Canvas.TextOut(350, 240, 'Afsender:');
+ Canvas.TextOut(350, 270, PakkeshopLabel.AfsenderNavn);
+ Canvas.TextOut(350, 300, PakkeshopLabel.AfsenderAdresse);
+ Canvas.TextOut(350, 330, PakkeshopLabel.AfsenderPostnr);
+
+ Dirigering := PakkeshopLabel.PakkeshopSted + ' | ' + PakkeshopLabel.PakkeshopTurid + ' | ' + PakkeshopLabel.PakkeshopNr;
+ if ( PakkeshopLabel.Koreliste <> '') then
+ begin
+ Dirigering := Dirigering + ' > ' + PakkeshopLabel.Koreliste;
+ end;
+
+
+ Canvas.Font.Size := 12;
+ Canvas.TextOut(15, 370, Dirigering);
+
+
+
+
+
+ //Tegn adskillelses linier
+ Canvas.Pen.Width := 2;
+ //Øverste linie
+ Canvas.MoveTo(20,80);
+ Canvas.LineTo(600,80);
+
+ // Midterste linie
+ Canvas.MoveTo( 20, 240);
+ Canvas.LineTo(600, 240);
+
+ //Nederste linie
+ Canvas.MoveTo( 20, 370);
+ Canvas.LineTo(600, 370);
+
+
+ //Tegn skrå streger over afsender
+ Canvas.Pen.Width := 1;
+ Canvas.MoveTo(600, 250);
+ Canvas.LineTo(350, 360);
+ Canvas.MoveTo(600, 360);
+ Canvas.LineTo(350, 250);
+
+
+
+
+ // Resten af rutinen vedr genering og placering af Barcode
+
+ BarCode.BarCodeType := bcCode128;
+ BarCode.Code128Subset := csCodeC;
+ BarCode.Code := PakkeshopLabel.Stregkode;
+ BarCode.Validate(True);
+
+ //Start X-formation
+ //ShowMessage( Format('%d %d', [PageWidth, PageHeight]) );
+ GetWorldTransform(Canvas.Handle, XFormOld);
+
+ Angle := 270;
+ XForm.eM11 := Cos(DegToRad(Angle));
+ XForm.eM12 := Sin(DegToRad(Angle));
+ XForm.eM21 := -Sin(DegToRad(Angle));
+ XForm.eM22 := Cos(DegToRad(Angle));
+ XForm.eDx := 0;
+ XForm.eDy := 0;
+
+ gMode := SetGraphicsMode(Canvas.Handle, GM_ADVANCED);
+ SetWorldTransform(Canvas.Handle, XForm);
+
+ // PaintToCanvasSize arbejder i Inches
+ // Første pos argument bliver nu Y og skal være negativ for at rykke den ned
+ //Anden pos er X og skal være positiv for at justere ind fra venstre mod højre
+
+ BarCode.PaintToCanvasSize(Printer.Canvas, -1.8, 3.3, 0.4);
+
+
+ SetWorldTransform(Canvas.Handle, XFormOld);
+ SetGraphicsMode(Canvas.Handle, gMode);
+
+ EndDoc();
+ end;
+
+
+end;
+
+function GetPixelsPerInchX(): Integer;
+begin
+ Result := GetDeviceCaps(Printer.Handle, LOGPIXELSX)
+end;
+
+function GetPixelsPerInchY(): Integer;
begin
- Result := 0;
- S2 := S + Border;
- repeat
- SetLength(A, Length(A) + 1);
- a[Result] := Copy(S2, 0,Pos(Border, S2) - 1);
- Delete(S2, 1,Length(a[Result] + Border));
- Inc(Result);
- until S2 = '';
+ Result := GetDeviceCaps(Printer.Handle, LOGPIXELSY)
end;
+
procedure TMainForm.IndlesManglendeScanninger();
var
WebSvar : String;
@@ -4614,13 +4641,18 @@
end;
- if (Scanningtype = '6') then
+
+ if (Scanningtype = '7') then
+ begin
+ URLStr := Format(UrlIndleveringsPakkeManglendeScanninger, [StedKode]);
+ end
+ else if (Scanningtype = '6') then
begin
- URLStr := Format(UrlPakkeshopManglendeReturScanninger,[StedKode]);
+ URLStr := Format(UrlPakkeshopManglendeReturScanninger, [StedKode]);
end
else if (Scanningtype = '5') then
begin
- URLStr := Format(UrlPakkeshopManglendeScanninger,[StedKode]);
+ URLStr := Format(UrlPakkeshopManglendeScanninger, [StedKode]);
end
else if (Scanningtype = '1') then
begin
@@ -4744,7 +4776,7 @@
// stregkoderMedTjekkodeArray[linienr] := stregkode;
if (pos(' ', stregkode) > 0) then
begin
- stregkoderMedTjekkodeArray[linienr] := split(stregkode, ' ', 2); // Fjerner lige en evt. fremtidig dato fra feltet
+ stregkoderMedTjekkodeArray[linienr] := TUtils.split(stregkode, ' ', 2); // Fjerner lige en evt. fremtidig dato fra feltet
end
else
begin
@@ -4934,7 +4966,7 @@
idag, imorgen : TDateTime;
imorgenYmd : string;
logFilnavn : string;
- error : Integer;
+ //error : Integer;
begin
if (SkrivLog = '1') then
@@ -5026,10 +5058,10 @@
ReadLn(SomeTxtFile, buffer) ;
S := buffer;
SetLength(A,0);
- Explode(A, ';', S);
+ TUtils.Explode(A, ';', S);
if (length(A) < 2) then
begin
- Explode(A, ',', S);
+ TUtils.Explode(A, ',', S);
end;
if (length(A) > 1) then
begin
@@ -5103,10 +5135,10 @@
ReadLn(SomeTxtFile, buffer) ;
S := buffer;
SetLength(A,0);
- Explode(A, ';', S);
+ TUtils.Explode(A, ';', S);
if (length(A) < 3) then
begin
- Explode(A, ',', S);
+ TUtils.Explode(A, ',', S);
end;
if (A[0]=imorgenYmd) then
begin
@@ -5203,13 +5235,19 @@
//ShowMessage('Ændring ikke tilladt');
// Her skal komme en 'rød skærm' alarm
PlaySound(PWideChar(AlarmLyd));
-
- ListBox1.Items.Insert(0, strMessage);
MainForm.Color := clRed;
+
+
RuteNummerST.Caption := '';
BoghandlerNavnST.Caption := '';
- KommentarST.Caption := strMessage;
- PakkeshopNulstil.Visible := true;
+ btnNulstil.Visible := true;
+
+ if (strMessage <> '') then
+ begin
+ ListBox1.Items.Insert(0, strMessage);
+ KommentarST.Caption := strMessage;
+ end;
+
end;
function TMainForm.getProddato() : TDate;
@@ -5301,17 +5339,11 @@
end;
end;
-function TMainForm.AdobeReaderExists: Boolean;
-var
- AReg: TRegistry;
-begin
- result:= false;
- AReg := TRegistry.Create;
- AReg.RootKey := HKEY_LOCAL_MACHINE;
- if AReg.KeyExists('\SOFTWARE\Adobe\Acrobat Reader') then
- result:= True;
- AReg.Free;
-end;
+
+
+
+
+
procedure TMainForm.CheckPrintQue(tjektype : string);
type
@@ -5416,65 +5448,6 @@
end;
end;
-function TMainForm.CheckUrl(url:string):boolean;
-var
- hSession, hfile, hRequest: hInternet;
- dwindex,dwcodelen :dword;
- dwcode:array[1..20] of char;
- res : pchar;
-begin
- if pos('http://',lowercase(url))=0 then
- url := 'http://'+url;
- Result := false;
- hSession := InternetOpen('InetURL:/1.0',
- INTERNET_OPEN_TYPE_PRECONFIG,
- nil,
- nil,
- 0);
- if assigned(hsession) then
- begin
- hfile := InternetOpenUrl(hsession,
- pchar(url),
- nil,
- 0,
- INTERNET_FLAG_RELOAD,
- 0);
- dwIndex := 0;
- dwCodeLen := 10;
- HttpQueryInfo(hfile,
- HTTP_QUERY_STATUS_CODE,
- @dwcode,
- dwcodeLen,
- dwIndex);
- res := pchar(@dwcode);
- result:= (res ='200') or (res ='302');
- if assigned(hfile) then
- InternetCloseHandle(hfile);
- InternetCloseHandle(hsession);
- end;
-
-end;
-
-// 20150310: start
-procedure TMainForm.RoundCornerOf(Control: TWinControl);
-var
- R: TRect;
- Rgn: HRGN;
-begin
- with Control do
- begin
- R := ClientRect;
-// rgn := CreateRoundRectRgn(R.Left, R.Top, R.Right, R.Bottom, 20, 20) ;
- rgn := CreateRoundRectRgn(R.Left, R.Top, R.Right, R.Bottom, 25, 25) ;
-// rgn := CreateRoundRectRgn(R.Left, R.Top, R.Right, R.Bottom, 30, 30) ;
- Perform(EM_GETRECT, 0, lParam(@r)) ;
- InflateRect(r, - 4, - 4) ;
- Perform(EM_SETRECTNP, 0, lParam(@r)) ;
- SetWindowRgn(Handle, rgn, True) ;
- Invalidate;
- end;
-end;
-// 20150310: slut
end.