--- dao/DelphiScanner/Main.pas 2015/08/23 10:44:23 2653
+++ dao/DelphiScanner/Main.pas 2016/04/08 14:01:34 2996
@@ -1,19 +1,37 @@
unit Main;
+// ToDo: flyt PrinterNavn til hhv Configuration lg lad TLabelPrint om al håndtering heraf
+// ToDo: flyt flere parametre til TConfiguration
+
+// ToDo: FormKeyPress() trænger til en seriøs oprydning / refactoring
+// ToDo: flyt mere funktionalitet fra interface layer til application layer klasser
+// ToDo: vil det give mening at bruge State Pattern ? Så der er en class per scanningstype ?
+// ToDo: alternativt kan man bruge en Enum til de forskellige typer
+// ToDo: en enklere måde at håndtere capabilities på de forskellige scannings steder
+
+
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls, Printers, IdBaseComponent, IdComponent, IdTCPConnection,
+ Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
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
+ IdExplicitTLSClientServerBase, IdFTP, IdException,
+ ShellApi, ClipBrd, Buttons, wininet,
+ UITypes,
+ PakkeshopLabels,
+ Utils,
+ ParentForm,
+ LabelPrint,
+ Configuration,
+ Vcl.Imaging.pngimage,
+ Generics.Collections
+
;
type
- TStrArray = array of string;
- TMainForm = class(TForm)
+ TMainForm = class(TForm, IParentForm)
StregkodeST: TStaticText;
RuteNummerST: TStaticText;
BoghandlerNavnST: TStaticText;
@@ -36,8 +54,8 @@
Lukprogrammet1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
- RadioButton1: TRadioButton;
- RadioButton2: TRadioButton;
+ radioStorPakke: TRadioButton;
+ radioLillePakke: TRadioButton;
N4: TMenuItem;
Storepakker1: TMenuItem;
Smpakker1: TMenuItem;
@@ -47,26 +65,26 @@
Testlyd1: TMenuItem;
ListBox1: TListBox;
Budlevering1: TMenuItem;
- DownloadButton01: TButton;
+ BtnDownloadKontrolfil: TButton;
IdFTP1: TIdFTP;
Image1: TImage;
ListBox2: TListBox;
- OpdaterListenButton01: TButton;
- UploadButton01: TButton;
- DownloadButton03: TButton;
+ BtnOpdaterListen: TButton;
+ BtnUploadLogfil: TButton;
+ BtnDownloadRuteskiftFil: TButton;
Pakkeshoplevering1: TMenuItem;
PakkeshopText1: TStaticText;
- PakkeshopNulstil: TButton;
+ btnNulstil: TButton;
Returpakkerfrapakkeshop1: TMenuItem;
Altidprintepakkelabel1: TMenuItem;
chkAltidPrintLabel: TCheckBox;
- EKLoverforsel: TButton;
+ BtnEKLoverforsel: TButton;
N5: TMenuItem;
Uploadlogfil1: TMenuItem;
Manual1: TMenuItem;
PrinterstatusStaticText1: TStaticText;
Timer1: TTimer;
- CheckBox3: TCheckBox;
+ chkScanTjekkode: TCheckBox;
Scanogstjekkoden1: TMenuItem;
Automatisktjekkodestyring1: TMenuItem;
Automatiskvalg1: TMenuItem;
@@ -77,6 +95,7 @@
PanelValg4: TPanel;
PanelValg5: TPanel;
PanelValg6: TPanel;
+ PanelValg7: TPanel;
Manualgenerel1: TMenuItem;
StaticTextManglendePakker: TStaticText;
PanelManglendePakker1: TPanel;
@@ -85,22 +104,14 @@
PanelManglendePakker4: TPanel;
PanelManglendePakker5: TPanel;
PanelManglendePakker6: TPanel;
- PanelValg7: TPanel;
+ menuIndlevering: TMenuItem;
+ chkForstorTilDirekte: TCheckBox;
+
+
- 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();
@@ -113,8 +124,8 @@
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
procedure ApplicationEvents1Idle(Sender: TObject; var Done: Boolean);
- procedure RadioButton1Click(Sender: TObject);
- procedure RadioButton2Click(Sender: TObject);
+ procedure radioStorPakkeClick(Sender: TObject);
+ procedure radioLillePakkeClick(Sender: TObject);
procedure chkSporgEfterKundeClick(Sender: TObject);
procedure Pakkernormal1Click(Sender: TObject);
procedure Testforbindelsen1Click(Sender: TObject);
@@ -131,8 +142,8 @@
procedure Button1Click(Sender: TObject);
procedure ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
procedure Budlevering1Click(Sender: TObject);
- procedure DownloadButton01Click(Sender: TObject);
- procedure OpdaterListenButton01Click(Sender: TObject);
+ procedure BtnDownloadKontrolfilClick(Sender: TObject);
+ procedure BtnOpdaterListenClick(Sender: TObject);
procedure DownloadBladhusRuteskiftfil();
procedure DownloadBladhusKontrolfil();
procedure SendFilTilDAO(fil_type, filnavn_input, filnavn_output: String);
@@ -140,10 +151,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();
@@ -155,13 +166,12 @@
procedure Altidprintepakkelabel1Click(Sender: TObject);
procedure chkAltidPrintLabelClick(Sender: TObject);
- procedure EKLoverforselClick(Sender: TObject);
+ procedure BtnEKLoverforselClick(Sender: TObject);
procedure Uploadlogfil1Click(Sender: TObject);
procedure Manual1Click(Sender: TObject);
- procedure CheckPrintQue(tjektype : string);
procedure Timer1Timer(Sender: TObject);
procedure Scanogstjekkoden1Click(Sender: TObject);
- procedure CheckBox3Click(Sender: TObject);
+ procedure chkScanTjekkodeClick(Sender: TObject);
procedure Automatisktjekkodestyring1Click(Sender: TObject);
procedure SendInfoTilServer(Sted, Scanningtype, Infotype, Info : String);
procedure Automatiskvalg1Click(Sender: TObject);
@@ -172,15 +182,23 @@
procedure PanelValg4Click(Sender: TObject);
procedure PanelValg5Click(Sender: TObject);
procedure PanelValg6Click(Sender: TObject);
+ procedure PanelValg7Click(Sender: TObject);
+
procedure NulstilAutomatiskValg();
procedure SletLogfiler(Path: string; FileList: TStrings);
procedure Manualgenerel1Click(Sender: TObject);
procedure TjekkerUrls();
-// 20150310: start
- procedure RoundCornerOf(Control: TWinControl);
+ procedure TjekkerEnkeltUrl(UrlNavn: String; Url: String; var urlFejl: integer);
+
+ procedure menuIndleveringClick(Sender: TObject);
+
+
+
+ //Nedarvet fra IParentForm
+ procedure LogMessage( msg : string);
+ procedure SetPrinterstatusText( txt: string; alert: boolean);
+ function GetFormObject() : TForm;
- procedure PanelValg7Click(Sender: TObject);
-// 20150310: slut
private
SpecialVersionSted, SpecialVersionScanningtype: String; // Bruges når programmet skal bruges udenfor DAO scanningssteder
@@ -188,48 +206,32 @@
SkrivLog : String;
Sted : String;
StedNavn : String;
- Url, UrlNormal, UrlReturDAO, UrlReturBoghandler, UrlBudlevering, UrlManglendeScanninger, UrlPakkeshoplevering, UrlReturPakkeshop, UrlPakkeshopManglendeScanninger, UrlPakkeshopManglendeReturScanninger,UrlEKLoverforsel : String;
-// 29150330: start
+ Url, UrlNormal, UrlReturDAO, UrlReturBoghandler, UrlBudlevering, UrlManglendeScanninger, UrlPakkeshoplevering,
+ UrlReturPakkeshop, UrlPakkeshopManglendeScanninger, UrlPakkeshopManglendeReturScanninger,UrlIndleveringsPakke,
+ UrlIndleveringsPakkeManglendeScanninger,UrlEKLoverforsel, URLOmdirigerTilPakkeshop : String;
+
UrlEKLoverforselPakkeshop : String;
-// 20150330: slut
+
UrlFindPakketype, UrlSendPrograminfo: String;
Scanningtype, TestFunktionen, Pakketype, SporgEfterBoghandler : String;
ScanTjekkode : String;
ScanTjekkodeAutomatik : string;
- Farve, FarveNormal, FarveReturDAO, FarveReturBoghandler, FarveBudlevering, FarvePakkeshoplevering, FarveReturPakkeshop : String;
- Titel, TitelNormal, TitelReturDAO, TitelReturBoghandler, TitelBudlevering, TitelPakkeshoplevering, TitelReturPakkeshop : String;
- LabelType : integer;
+
+ Farve, FarveNormal, FarveReturDAO, FarveReturBoghandler, FarveBudlevering, FarvePakkeshoplevering, FarveReturPakkeshop,
+ FarveIndlevering : String;
+
+ Titel, TitelNormal, TitelReturDAO, TitelReturBoghandler, TitelBudlevering, TitelPakkeshoplevering, TitelReturPakkeshop,
+ TitelIndlevering : String;
+
AlarmLyd : String;
ScannetOkLyd : String;
ScannetOkStorLyd : String;
-// 20150317: start
+
ScannetOkTilTjekkodeLyd : String;
-// 20150317: slut
+
PrinterNavn : String;
TjekPrinter : String;
- XPosRute : integer;
- YPosRute : integer;
- FontSizeRute : integer;
- FontSizeRuteLille : integer;
- XPosKommentar : integer;
- YPosKommentar : integer;
- FontSizeKommentar : integer;
- XPosBoghandler : integer;
- YPosBoghandler : integer;
- FontSizeBoghandler : integer;
- XPosKoreliste : integer;
- YPosKoreliste : integer;
- FontSizeKoreliste : integer;
- FontSizeKorelisteLille : integer;
- XPosSorteringsfelt1 : integer;
- YPosSorteringsfelt1 : integer;
- FontSizeSorteringsfelt1 : integer;
- XPosSorteringsfelt2 : integer;
- YPosSorteringsfelt2 : integer;
- FontSizeSorteringsfelt2 : integer;
- XPosSmskode : integer;
- YPosSmskode : integer;
- FontSizeSmskode : integer;
+
Org_RuteNummerST, Org_BoghandlerNavnST, Org_KommentarST : String;
BladhusSted : Integer;
BladhusStedKode : Array of string;
@@ -242,11 +244,13 @@
PakkeshopStregkode, PakkeshopTjekkode : String;
BoghandlerStregkode, BoghandlerTjekkode : String;
TjekUrls : String;
+ Config : TConfiguration;
- function CheckSumModulo10(const data:string):string; { used for EAN 8/13 }
+
+ LabelPrint: TLabelPrint;
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 = '');
+
procedure HentPakkeInfoFraServer(const Sted, PakkeNr : String; var RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted : String; var PrintNyLabel: Boolean; BoghandlerNummer : String = '');
procedure CheckCode();
procedure IndlesManglendeScanninger();
@@ -255,11 +259,14 @@
procedure IndlesScanningLogFil();
procedure SkrivScanningLogFil(var tekst : string);
function TjekKoreliste(var RuteNummer, Koreliste : string) : string;
+ procedure VisAlarmSkaerm(strMessage: string);
+ function InjectURL(Url : String) : String;
public
{ Public declarations }
end;
+
var
MainForm: TMainForm;
@@ -273,30 +280,14 @@
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;
+
+//FormCreate kaldes før InitForm
procedure TMainForm.InitForm(Farve,Titel,Url : String);
begin
-// 20150309: startr
StaticTextManglendePakker.Caption := '';
-// 20150309: slut
+
PanelValg1.Color := clBtnFace;
if PanelValg1.Enabled = true then
@@ -340,7 +331,7 @@
PanelValg7.Font.Color := clWindowText;
end;
- OpdaterListenButton01.Enabled := false;
+ BtnOpdaterListen.Enabled := false;
if (BladhusSted > 00) and (BladhusSted < Length(BladhusStedNavn)) then
begin
@@ -368,9 +359,11 @@
else if (Sted = 'BR') then
begin StedNavn := 'Brøndby: '; end
else if (Sted = 'BK') then
- begin StedNavn := 'Bladkompagniet: '; end
+ begin StedNavn := 'Bladkompagniet/ISV: '; end
+ else if (Sted = 'TK') then
+ begin StedNavn := 'BK/Trykkompagniet: '; end
else if (Sted = 'DBK') then
- begin StedNavn := 'DBK Køge: '; end
+ begin StedNavn := 'DBK/Køge: '; end
else if (Sted = '1') then
begin StedNavn := 'Ålborg: '; end
else if (Sted = '2') then
@@ -394,7 +387,7 @@
StartScreen();
MainForm.Caption := Titel;
- MainForm.Color := HexToTColor(Farve);
+ MainForm.Color := TUtils.HexToTColor(Farve);
MainForm.Farve := Farve;
MainForm.Titel := Titel;
MainForm.Url := Url;
@@ -409,29 +402,29 @@
else
PakkeshopText1.Visible := false;
- CheckBox3.Checked := false;
- CheckBox3.Enabled := false;
+ chkScanTjekkode.Checked := false;
+ chkScanTjekkode.Enabled := false;
Scanogstjekkoden1.Enabled := false;
if (Scanningtype = '1') or (Scanningtype = '5') then
begin
if (ScanTjekkode = '1') then
begin
- CheckBox3.Checked := true;
- CheckBox3.Enabled := true;
+ chkScanTjekkode.Checked := true;
+ chkScanTjekkode.Enabled := true;
Scanogstjekkoden1.Enabled := true;
end
else
begin
- CheckBox3.Checked := false;
- CheckBox3.Enabled := true; // False vil forhindre indtastning af tjekkode i nat x-press scanning
+ chkScanTjekkode.Checked := false;
+ chkScanTjekkode.Enabled := true; // False vil forhindre indtastning af tjekkode i nat x-press scanning
Scanogstjekkoden1.Enabled := true; // False vil forhindre indtastning af tjekkode i nat x-press scanning
end;
end;
if Automatisktjekkodestyring1.Checked then
begin
- CheckBox3.Enabled := false;
+ chkScanTjekkode.Enabled := false;
Scanogstjekkoden1.Enabled := false;
end;
@@ -454,17 +447,18 @@
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;
+
end;
procedure TMainForm.Altidprintepakkelabel1Click(Sender: TObject);
@@ -490,12 +484,12 @@
begin
if Automatisktjekkodestyring1.Checked then
begin
- CheckBox3.Enabled := false;
+ chkScanTjekkode.Enabled := false;
Scanogstjekkoden1.Enabled := false;
end
else
begin
- CheckBox3.Enabled := true;
+ chkScanTjekkode.Enabled := true;
Scanogstjekkoden1.Enabled := true;
end;
@@ -503,56 +497,48 @@
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;
+function TMainForm.InjectURL(Url : String) : String;
+begin
+
+ Url := Url + '&ver=' + TUtils.URLEncode( TUtils.Sto_GetFmtFileVersion(''));
+ Url := Url + '&host=' + TUtils.URLEncode( TUtils.GetComputerNameHelper());
+ Url := Url + '&user=' + TUtils.URLEncode( TUtils.GetCurrentUserName());
+
+ Result := Url;
+end;
+
+//InitForm kaldes før FormCreate
procedure TMainForm.FormCreate(Sender: TObject);
const
crlf = Chr(13) + Chr(10) ; // Carriage return & Linefeed
var
- printerInd : integer;
- i : Integer;
-// 20150310: start
gemScanningtype : String;
-// 20150310: slut
begin
+
+
// Initierer nogle variabler
BladhusSted := 00;
Application.ShowHint := True;
PrinterstatusStaticText1.Caption := '';
PrinterstatusStaticText1.Color := MainForm.Color;
-// 20150306: start
- PakkeshopNulstil.BringToFront;
-// 20150306: slut
-// 20150310: start
- RoundCornerOf(PanelManglendePakker1);
- RoundCornerOf(PanelManglendePakker2);
- RoundCornerOf(PanelManglendePakker3);
- RoundCornerOf(PanelManglendePakker4);
- RoundCornerOf(PanelManglendePakker5);
- RoundCornerOf(PanelManglendePakker6);
-// 20150310: slut
+
+ btnNulstil.BringToFront;
+
+ 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
if DirectoryExists('Docs') then
@@ -565,28 +551,69 @@
MainForm.ClientWidth := 1000;
MainForm.ClientHeight := 750;
+ Config := TConfiguration.Create();
+ Config.ReadFromInifile( TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) ); //ToDo: clean up duplicate ini ref
+ Config.Sted := Sted;
+
// Læser parametre fra ini filen
with TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) do
try
+
+
SkrivLog := ReadString('Settings','SkrivLog','0');
Sted := ReadString('Settings','Sted','');
StedNavn := ReadString('Settings','Stednavn','');
+
UrlFindPakketype := ReadString('Settings','UrlFindPakketype','http://omdeling.info/webservices/bogpakkekontrol/FindPakketype.php?stregkode=%s');
+ UrlFindPakketype := InjectURL(UrlFindPakketype);
+
UrlSendPrograminfo := ReadString('Settings','UrlSendPrograminfo','http://omdeling.info/webservices/bogpakkekontrol/SendPrograminfo.php?programnavn=%s&sted=%s&scanningtype=%s&infotype=%s&info=%s');
+ UrlSendPrograminfo := InjectURL(UrlSendPrograminfo);
+
UrlNormal := ReadString('Settings','UrlNormal','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&boghandlernummer=%s&tjekkode=%s');
+ UrlNormal := InjectURL(UrlNormal);
+
UrlReturDAO := ReadString('Settings','UrlReturDAO','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&boghandlernummer=%s&returpakketype=%s&pakkestorrelse=%s');
+ UrlReturDAO := InjectURL(UrlReturDAO);
+
UrlReturBoghandler := ReadString('Settings','UrlReturBoghandler','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&boghandlernummer=%s&returpakketype=%s&pakkestorrelse=%s');
+ UrlReturBoghandler := InjectURL(UrlReturBoghandler);
+
UrlBudlevering := ReadString('Settings','UrlBudlevering','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&leveringstype=%s&pakkestorrelse=%s');
+ UrlBudlevering := InjectURL(UrlBudlevering);
+
UrlManglendeScanninger := ReadString('Settings','UrlManglendeScanninger','http://omdeling.info/webservices/bogpakkekontrol/bogpakkemanglendescanninger.php?sted=%s&type=%s');
+ UrlManglendeScanninger := InjectURL(UrlManglendeScanninger);
+
UrlEKLoverforsel := ReadString('Settings','UrlEKLoverforsel','http://omdeling.info/webservices/bogpakkekontrol/bogpakkertilekl.php?sted=%s');
-// 20150330: start
+ UrlEKLoverforsel := InjectURL(UrlEKLoverforsel);
+
UrlEKLoverforselPakkeshop := ReadString('Settings','UrlEKLoverforselPakkeshop','http://omdeling.info/webservices/pakkeshop/pakkertilekl.php?sted=%s');
-// 20150330: slut
+ UrlEKLoverforselPakkeshop := InjectURL(UrlEKLoverforselPakkeshop);
+
UrlPakkeshoplevering := ReadString('Settings','UrlPakkeshoplevering','http://omdeling.info/webservices/pakkeshop/pakkekontrol.php?sted=%s&stregkode=%s&tjekkode=%s');
+ UrlPakkeshoplevering := InjectURL(UrlPakkeshoplevering);
+
UrlReturPakkeshop := ReadString('Settings','UrlReturPakkeshop','http://omdeling.info/webservices/pakkeshop/returpakkekontrol.php?sted=%s&stregkode=%s');
+ UrlReturPakkeshop := InjectURL(UrlReturPakkeshop);
+
UrlPakkeshopManglendeScanninger := ReadString('Settings','UrlPakkeshopManglendeScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendescanninger.php?sted=%s');
+ UrlPakkeshopManglendeScanninger := InjectURL(UrlPakkeshopManglendeScanninger);
+
UrlPakkeshopManglendeReturScanninger := ReadString('Settings','UrlPakkeshopManglendeReturScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendereturscanninger.php?sted=%s');
- LabelType := ReadInteger('Settings','LabelType',1);
+ UrlPakkeshopManglendeReturScanninger := InjectURL(UrlPakkeshopManglendeReturScanninger);
+
+ UrlIndleveringsPakke := ReadString('Settings','UrlIndleveringsPakke','http://omdeling.info/webservices/pakkeshop/PakkekontrolIndleveringskode.php?sted=%s&pakkekode=%s');
+ UrlIndleveringsPakke := InjectURL(UrlIndleveringsPakke);
+
+ UrlIndleveringsPakkeManglendeScanninger := ReadString('Settings', 'UrlIndleveringsPakkeManglendeScanninger','http://omdeling.info/webservices/pakkeshop/IndleveringsPakkeManglendeScanninger.php?sted=%s');
+ UrlIndleveringsPakkeManglendeScanninger := InjectURL(UrlIndleveringsPakkeManglendeScanninger);
+
+ URLOmdirigerTilPakkeshop := ReadString('Settings', 'URLOmdirigerTilPakkeshop','http://omdeling.info/webservices/pakkeshop/PakkeKontrolOmdirigerTilPakkeshop.php?sted=%s&stregkode=%s');
+ URLOmdirigerTilPakkeshop := InjectURL(URLOmdirigerTilPakkeshop);
+
+
+
FarveNormal := ReadString('Settings','FarveNormal','D8D8D8');
TitelNormal := ReadString('Settings','TitelNormal','Modtagelse af DAO NAT X-PRESS pakker');
FarveReturDAO := ReadString('Settings','FarveReturDAO','A9F5A9');
@@ -597,8 +624,14 @@
TitelBudlevering := ReadString('Settings','TitelBudlevering','Modtagelse af DAO DIREKTE pakker');
FarvePakkeshoplevering := ReadString('Settings','FarvePakkeshoplevering','99FFFF');
TitelPakkeshoplevering := ReadString('Settings','TitelPakkeshoplevering','Modtagelse af DAO PAKKESHOP pakker');
+
FarveReturPakkeshop := ReadString('Settings','FarveReturPakkeshop','99FFCC');
TitelReturPakkeshop := ReadString('Settings','TitelReturPakkeshop','Returforsendelse fra pakkeshop');
+
+ FarveIndlevering := ReadString('Settings', 'FarveIndlevering', 'E5B2CB');
+ TitelIndlevering := ReadString('Settings', 'TitelIndlevering', 'Indleveringskode');
+
+
SporgEfterBoghandler := ReadString('Settings','SporgEfterBoghandler','0');
ScanTjekkode := ReadString('Settings','ScanTjekkode','0');
ScanTjekkodeAutomatik := ReadString('Settings','ScanTjekkodeAutomatik','1');
@@ -608,20 +641,20 @@
AlarmLyd := ReadString('Settings','AlarmLyd','Sounds\Alarm.wav');
ScannetOkLyd := ReadString('Settings','ScannetOkLyd','Sounds\Ok.wav');
ScannetOkStorLyd := ReadString('Settings','ScannetOkStorLyd','Sounds\Ok_stor.wav');
-// 20150317: start
+
ScannetOkTilTjekkodeLyd := ReadString('Settings','ScannetOkTilTjekkodeLyd','Sounds\Ok_til_tjekkode.wav');
-// 20150317: slut
+
PrinterNavn := ReadString('Settings','PrinterNavn','');
TjekPrinter := ReadString('Settings','TjekPrinter','1');
TjekUrls := ReadString('Settings','TjekUrls','2');
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
@@ -639,75 +672,7 @@
PanelValgA.Font.Color := clWhite;
end;
- if LabelType = 0 then
- begin
- XPosRute := ReadInteger('RuteBred','XPos',1);
- YPosRute := ReadInteger('RuteBred','YPos',1);
- FontSizeRute := ReadInteger('RuteBred','FontSize',72);
- FontSizeRuteLille := ReadInteger('RuteBred','FontSizeLille',20);
- XPosKommentar := ReadInteger('KommentarBred','XPos',1);
- YPosKommentar := ReadInteger('KommentarBred','YPos',250);
- FontSizeKommentar := ReadInteger('KommentarBred','FontSize',16);
- XPosBoghandler := ReadInteger('BoghandlerBred','XPos',1);
- YPosBoghandler := ReadInteger('BoghandlerBred','YPos',400);
- FontSizeBoghandler := ReadInteger('BoghandlerBred','FontSize',16);
- XPosKoreliste := ReadInteger('KorelisteSmal','XPos',1);
- YPosKoreliste := ReadInteger('KorelisteSmal','YPos',100);
- FontSizeKoreliste := ReadInteger('KorelisteSmal','FontSize',72);
- FontSizeKorelisteLille := ReadInteger('KorelisteSmal','FontSizeLille',20);
- XPosSorteringsfelt1 := ReadInteger('Sorteringsfelt1Smal','XPos',700);
- YPosSorteringsfelt1 := ReadInteger('Sorteringsfelt1Smal','YPos',100);
- FontSizeSorteringsfelt1 := ReadInteger('Sorteringsfelt1Smal','FontSize',16);
- XPosSorteringsfelt2 := ReadInteger('Sorteringsfelt2Smal','XPos',700);
- YPosSorteringsfelt2 := ReadInteger('Sorteringsfelt2Smal','YPos',150);
- FontSizeSorteringsfelt2 := ReadInteger('Sorteringsfelt2Smal','FontSize',16);
- XPosSmskode := ReadInteger('SmskodeSmal','XPos',1);
- YPosSmskode := ReadInteger('SmskodeSmal','YPos',300);
- FontSizeSmskode := ReadInteger('SmskodeSmal','FontSize',32);
- end
- else
- begin
- XPosRute := ReadInteger('RuteSmal','XPos',1);
- YPosRute := ReadInteger('RuteSmal','YPos',1);
- FontSizeRute := ReadInteger('RuteSmal','FontSize',72);
- FontSizeRuteLille := ReadInteger('RuteSmal','FontSizeLille',20);
- XPosKommentar := ReadInteger('KommentarSmal','XPos',1);
- YPosKommentar := ReadInteger('KommentarSmal','YPos',250);
- FontSizeKommentar := ReadInteger('KommentarSmal','FontSize',16);
- XPosBoghandler := ReadInteger('BoghandlerSmal','XPos',1);
- YPosBoghandler := ReadInteger('BoghandlerSmal','YPos',400);
- FontSizeBoghandler := ReadInteger('BoghandlerSmal','FontSize',16);
- XPosKoreliste := ReadInteger('KorelisteSmal','XPos',1);
- YPosKoreliste := ReadInteger('KorelisteSmal','YPos',100);
- FontSizeKoreliste := ReadInteger('KorelisteSmal','FontSize',72);
- FontSizeKorelisteLille := ReadInteger('KorelisteSmal','FontSizeLille',20);
- XPosSorteringsfelt1 := ReadInteger('Sorteringsfelt1Smal','XPos',700);
- YPosSorteringsfelt1 := ReadInteger('Sorteringsfelt1Smal','YPos',100);
- FontSizeSorteringsfelt1 := ReadInteger('Sorteringsfelt1Smal','FontSize',16);
- XPosSorteringsfelt2 := ReadInteger('Sorteringsfelt2Smal','XPos',700);
- YPosSorteringsfelt2 := ReadInteger('Sorteringsfelt2Smal','YPos',150);
- FontSizeSorteringsfelt2 := ReadInteger('Sorteringsfelt2Smal','FontSize',16);
- XPosSmskode := ReadInteger('SmskodeSmal','XPos',1);
- YPosSmskode := ReadInteger('SmskodeSmal','YPos',300);
- FontSizeSmskode := ReadInteger('SmskodeSmal','FontSize',32);
- if LabelType = 2 then // test på alm. printer kræver at XY-positionerne ganges med 3
- begin
- XPosRute := XPosRute * 3;
- YPosRute := YPosRute * 3;
- XPosKommentar := XPosKommentar * 3;
- YPosKommentar := YPosKommentar * 3;
- XPosBoghandler := XPosBoghandler * 3;
- YPosBoghandler := YPosBoghandler * 3;
- XPosKoreliste := XPosKoreliste * 3;
- YPosKoreliste := YPosKoreliste * 3;
- XPosSorteringsfelt1 := XPosSorteringsfelt1 * 3;
- YPosSorteringsfelt1 := YPosSorteringsfelt1 * 3;
- XPosSorteringsfelt2 := XPosSorteringsfelt2 * 3;
- YPosSorteringsfelt2 := YPosSorteringsfelt2 * 3;
- XPosSmskode := XPosSmskode * 3;
- YPosSmskode := YPosSmskode * 3;
- end;
- end;
+
if SporgEfterBoghandler = '1' then
begin
@@ -722,19 +687,19 @@
if ScanTjekkode = '1' then
begin
- CheckBox3.Checked := true;
+ chkScanTjekkode.Checked := true;
Scanogstjekkoden1.Checked := true;
end
else
begin
- CheckBox3.Checked := false;
+ chkScanTjekkode.Checked := false;
Scanogstjekkoden1.Checked := false;
end;
if ScanTjekkodeAutomatik = '1' then
begin
Automatisktjekkodestyring1.Checked := true;
- CheckBox3.Enabled := false;
+ chkScanTjekkode.Enabled := false;
Scanogstjekkoden1.Enabled := false;
end;
@@ -760,6 +725,23 @@
//SpecialVersionSted := 'FD'; // FD - sætter automatisk nedenstående SpecialVersionScanningtype til DIREKTE)
// *************************** //
+{$IfDef STED_BK}
+ SpecialVersionSted := 'BK';
+{$EndIf}
+{$IfDef STED_TK}
+ SpecialVersionSted := 'TK';// BK-Trykkompagniet
+{$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)
@@ -775,20 +757,37 @@
// 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';
SpecialVersionScanningtype := '4';
end;
+
if SpecialVersionSted = 'FD' then
begin
- SpecialVersionSted := '03';
- SpecialVersionScanningtype := '4';
+ //SpecialVersionSted := '03'; //fra før at FD overtog scanning
+ //SpecialVersionScanningtype := '4';
+
+
+ //FarveNormal := 'A9F5A9'; // her kan vi evt. overrule ini fil
+ Sted := SpecialVersionSted;
+ // her skal vi også disable de knapper BK ikke kan bruge
+ PanelValg2.Enabled := false;
+ PanelValg2.Font.Color := clInactiveCaption;
+ PanelValg3.Enabled := false;
+ PanelValg3.Font.Color := clInactiveCaption;
+ //PanelValg6.Enabled := false;
+ //PanelValg6.Font.Color := clInactiveCaption;
+
+ // her skal vi også disable de menupunkter FD ikke kan bruge
+ ReturpakkerfraDAO1.Enabled := false;
+ Returpakkerfraboghandler1.Enabled := false;
+
+ //Returpakkerfrapakkeshop1.Enabled := false;
+
end;
-// 20150313: slut
- if SpecialVersionSted = 'BK' then
+ if (SpecialVersionSted = 'BK') OR (SpecialVersionSted = 'TK') then
begin
//FarveNormal := 'A9F5A9'; // her kan vi evt. overrule ini fil
Sted := SpecialVersionSted;
@@ -797,12 +796,15 @@
PanelValg2.Font.Color := clInactiveCaption;
PanelValg3.Enabled := false;
PanelValg3.Font.Color := clInactiveCaption;
- PanelValg6.Enabled := false;
- PanelValg6.Font.Color := clInactiveCaption;
+ //PanelValg6.Enabled := false;
+ //PanelValg6.Font.Color := clInactiveCaption;
+
// her skal vi også disable de menupunkter BK ikke kan bruge
ReturpakkerfraDAO1.Enabled := false;
Returpakkerfraboghandler1.Enabled := false;
- Returpakkerfrapakkeshop1.Enabled := false;
+
+ //Returpakkerfrapakkeshop1.Enabled := false;
+
if SpecialVersionScanningtype = 'A' then
begin
Scanningtype := '1';
@@ -826,13 +828,15 @@
PanelValg5.Font.Color := clInactiveCaption;
PanelValg6.Enabled := false;
PanelValg6.Font.Color := clInactiveCaption;
+
+
// her skal vi også disable de menupunkter DBK ikke kan bruge
ReturpakkerfraDAO1.Enabled := false;
Returpakkerfraboghandler1.Enabled := false;
-// 20150317: start
+
Pakkeshoplevering1.Enabled := false;
Returpakkerfrapakkeshop1.Enabled := false;
-// 20150317: slut
+
if SpecialVersionScanningtype = 'A' then
begin
Scanningtype := '1';
@@ -862,10 +866,12 @@
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
-// 20150317: start
+
Automatiskvalg1.Enabled := false;
-// 20150317: slut
+
Pakkernormal1.Enabled := false;
ReturpakkerfraDAO1.Enabled := false;
Returpakkerfraboghandler1.Enabled := false;
@@ -957,7 +963,7 @@
RutenummerST.Caption := '';
BoghandlerNavnST.Caption := 'Fejl i urls';
KommentarST.Caption := 'Se log vinduet';
- PakkeshopNulstil.Visible := true;
+ btnNulstil.Visible := true;
exit;
end;
end
@@ -1000,12 +1006,12 @@
if Pakketype = '1' then
begin
Storepakker1.Checked := true;
- RadioButton1.Checked := true;
+ radioStorPakke.Checked := true;
end
else
begin
Smpakker1.Checked := true;
- RadioButton2.Checked := true;
+ radioLillePakke.Checked := true;
end;
if TestFunktionen = '1' then
@@ -1045,21 +1051,17 @@
ScannetOkStorLyd := '';
end;
-// 20150317: start
+
if not FileExists(ScannetOkTilTjekkodeLyd) then
begin
ScannetOkTilTjekkodeLyd := '';
end;
-// 20150317: slut
- if (PrinterNavn <> '') then
- begin
- printerInd := Printer.Printers.IndexOf(printerNavn);
- if printerInd >= 0 then
- Printer.PrinterIndex := printerInd;
- end;
- CheckPrintQue('Opstart');
+
+
+ LabelPrint := TLabelPrint.Create( self, Config, PrinterNavn );
+ LabelPrint.CheckPrintQue('Opstart', PrinterNavn);
finally
Free;
@@ -1083,7 +1085,7 @@
InitBladhus();
end;
-// 20150310: start
+
// Opbygger PanelManglendePakker information
gemScanningtype := Scanningtype;
@@ -1124,10 +1126,9 @@
end;
Scanningtype := gemScanningtype;
-// 20150310: slut
SendInfoTilServer(Sted, Scanningtype, 'Begin', '');
- SendInfoTilServer(Sted, Scanningtype, 'ProgramVersion', Sto_GetFmtFileVersion('',''));
+ SendInfoTilServer(Sted, Scanningtype, 'ProgramVersion', TUtils.Sto_GetFmtFileVersion(''));
end;
@@ -1145,7 +1146,6 @@
BoghandlerNavn : String;
Koreliste : String;
PrintNyLabel : Boolean;
- List1msg : String;
pakkeErScannet : Integer;
pakkeForkertSted : Integer;
tjekkodeMangler : Integer;
@@ -1170,8 +1170,8 @@
ClipboardData := Clipboard.AsText;
numberString := ClipboardData;
Val(numberString, float, errorPos);
-// 20150311: start
-// if (ClipboardData <> '') and (errorPos = 0) then
+
+ // if (ClipboardData <> '') and (errorPos = 0) then
if (ClipboardData <> '') and (errorPos = 0)
or (NumberString = 'Nulstil')
or (NumberString = 'Indtast kundenummer')
@@ -1185,8 +1185,11 @@
or (NumberString = 'Retur fra kunde')
or (NumberString = 'DAO DIREKTE')
or (NumberString = 'DAO PAKKESHOP')
+ or (NumberString = 'DAO PAKKESHOP')
+ or (LowerCase(NumberString) = 'for stor hjemmelevering' )
+ or (LowerCase(NumberString) = 'for stor daodirekte' )
or (NumberString = 'Retur fra pakkeshop') then
-// 20150311: slut
+
begin
Stregkode := Stregkode + ClipboardData;
StregkodeST.Caption := StregKode;
@@ -1195,71 +1198,43 @@
begin
ShowMessage('Indsæt et gyldigt pakkenummer - uden linieskift');
end;
- end;
+ end; // Slut ctrl-v
if Key = #13 then // Enter
begin
-// 20150306: start
- if (Length(Trim(Stregkode)) = 0) then
+
+ // Sikre at den er trimmet inden vi går videre - DBK kan finde på at encode et space i enden af deres barcodes
+ Stregkode := Trim(Stregkode);
+
+ if (Length(Stregkode) = 0) then
begin
- PlaySound(PWideChar(AlarmLyd));
- List1msg := 'Der skal scannes en stregkode...';
- ListBox1.Items.Insert(0,List1Msg);
- MainForm.Color := clRed;
-// 20150316: start
- RuteNummerST.Caption := '';
- BoghandlerNavnST.Caption := '';
-// 20150316: slut
- KommentarST.Caption := List1msg;
- PakkeshopNulstil.Visible := true;
+ VisAlarmSkaerm( 'Der skal scannes en stregkode...' );
+
exit;
end;
-// 20150306: slut
-// 20150311: start
if StregKode = 'Nulstil' then
begin
- PakkeshopNulstil.Click();
+ btnNulstil.Click();
exit;
end;
- if PakkeshopNulstil.Visible then
+ if btnNulstil.Visible then
begin
- PlaySound(PWideChar(AlarmLyd));
-// 20150312: start
-// List1msg := 'HUSK at trykke Nulstil før ny scanning...';
- List1msg := 'HUSK at klikke Nulstil før ny scanning...';
-// 20150312: slut
- ListBox1.Items.Insert(0,List1Msg);
- MainForm.Color := clRed;
- KommentarST.Caption := List1msg;
-// 20150312: start
- Stregkode := '';
- StregkodeST.Caption := StregKode;
-// 20150312: slut
+ VisAlarmSkaerm( 'HUSK at klikke Nulstil før ny scanning...' );
+
exit;
end;
if StregKode = 'Lille pakke' then
begin
- if RadioButton2.Enabled = true then
+ if radioLillePakke.Enabled = true then
begin
InitLillePakke();
end
else
begin
- //ShowMessage('Ændring ikke tilladt');
- // Her skal komme en 'rød skærm' alarm
- PlaySound(PWideChar(AlarmLyd));
- List1msg := Stregkode + ' kan ikke vælges på dette scanningsted';
- ListBox1.Items.Insert(0,List1Msg);
- MainForm.Color := clRed;
-// 20150316: start
- RuteNummerST.Caption := '';
- BoghandlerNavnST.Caption := '';
-// 20150316: slut
- KommentarST.Caption := List1msg;
- PakkeshopNulstil.Visible := true;
+ VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );
end;
Stregkode := '';
StregkodeST.Caption := StregKode;
@@ -1268,30 +1243,35 @@
if StregKode = 'Stor pakke' then
begin
- if RadioButton1.Enabled = true then
+ if radioStorPakke.Enabled = true then
begin
InitStorPakke();
end
else
begin
- //ShowMessage('Ændring ikke tilladt');
- // Her skal komme en 'rød skærm' alarm
- PlaySound(PWideChar(AlarmLyd));
- List1msg := Stregkode + ' kan ikke vælges på dette scanningsted';
- ListBox1.Items.Insert(0,List1Msg);
- MainForm.Color := clRed;
-// 20150316: start
- RuteNummerST.Caption := '';
- BoghandlerNavnST.Caption := '';
-// 20150316: slut
- KommentarST.Caption := List1msg;
- PakkeshopNulstil.Visible := true;
+ VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );
end;
Stregkode := '';
StregkodeST.Caption := StregKode;
exit;
end;
+ if (LowerCase(StregKode) = 'for stor hjemmelevering') OR (LowerCase(StregKode) = 'for stor daodirekte') then
+ begin
+ if chkForstorTilDirekte.Enabled then
+ begin
+ chkForstorTilDirekte.Checked := true;
+ end
+ else
+ begin
+ VisAlarmSkaerm( Stregkode + ' kan ikke vælges på denne scannings tilstand' );
+ end;
+ Stregkode := '';
+ StregkodeST.Caption := StregKode;
+ exit;
+ end;
+
+
if StregKode = 'Indtast kundenummer' then
begin
if chkSporgEfterKunde.Enabled = true then
@@ -1307,18 +1287,7 @@
end
else
begin
- //ShowMessage('Ændring ikke tilladt');
- // Her skal komme en 'rød skærm' alarm
- PlaySound(PWideChar(AlarmLyd));
- List1msg := Stregkode + ' kan ikke vælges på dette scanningsted';
- ListBox1.Items.Insert(0,List1Msg);
- MainForm.Color := clRed;
-// 20150316: start
- RuteNummerST.Caption := '';
- BoghandlerNavnST.Caption := '';
-// 20150316: slut
- KommentarST.Caption := List1msg;
- PakkeshopNulstil.Visible := true;
+ VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );
end;
Stregkode := '';
StregkodeST.Caption := StregKode;
@@ -1327,31 +1296,20 @@
if (Stregkode = 'Scan tjekkode') or (PakkeshopStregkode = 'Scan tjekkode') or (BoghandlerStregkode = 'Scan tjekkode') then
begin
- if CheckBox3.Enabled = true then
+ if chkScanTjekkode.Enabled = true then
begin
- if (CheckBox3.State = cbChecked) then
+ if (chkScanTjekkode.State = cbChecked) then
begin
- CheckBox3.State := cbUnchecked;
+ chkScanTjekkode.State := cbUnchecked;
end
else
begin
- CheckBox3.State := cbChecked;
+ chkScanTjekkode.State := cbChecked;
end;
end
else
begin
- //ShowMessage('Ændring ikke tilladt');
- // Her skal komme en 'rød skærm' alarm
- PlaySound(PWideChar(AlarmLyd));
- List1msg := Stregkode + ' kan ikke vælges på dette scanningsted';
- ListBox1.Items.Insert(0,List1Msg);
- MainForm.Color := clRed;
-// 20150316: start
- RuteNummerST.Caption := '';
- BoghandlerNavnST.Caption := '';
-// 20150316: slut
- KommentarST.Caption := List1msg;
- PakkeshopNulstil.Visible := true;
+ VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );
end;
Stregkode := '';
StregkodeST.Caption := StregKode;
@@ -1366,28 +1324,15 @@
end
else
begin
- //ShowMessage('Ændring ikke tilladt');
- // Her skal komme en 'rød skærm' alarm
- PlaySound(PWideChar(AlarmLyd));
- List1msg := Stregkode + ' kan ikke vælges på dette scanningsted';
- ListBox1.Items.Insert(0,List1Msg);
- MainForm.Color := clRed;
-// 20150316: start
- RuteNummerST.Caption := '';
- BoghandlerNavnST.Caption := '';
-// 20150316: slut
- KommentarST.Caption := List1msg;
- PakkeshopNulstil.Visible := true;
+ VisAlarmSkaerm(Stregkode + ' kan ikke vælges på dette scanningsted');
end;
Stregkode := '';
StregkodeST.Caption := StregKode;
exit;
end;
-// 20150323: start
-// if StregKode = 'DAO NAT X-PRESS' then
+
if (StregKode = 'DAO NAT X-PRESS' ) or (StregKode = 'DAO NAT X+PRESS') then
-// 20150323: slut
begin
if (PanelValg1.Enabled = true) then
begin
@@ -1395,18 +1340,7 @@
end
else
begin
- //ShowMessage('Ændring ikke tilladt');
- // Her skal komme en 'rød skærm' alarm
- PlaySound(PWideChar(AlarmLyd));
- List1msg := Stregkode + ' kan ikke vælges på dette scanningsted';
- ListBox1.Items.Insert(0,List1Msg);
- MainForm.Color := clRed;
-// 20150316: start
- RuteNummerST.Caption := '';
- BoghandlerNavnST.Caption := '';
-// 20150316: slut
- KommentarST.Caption := List1msg;
- PakkeshopNulstil.Visible := true;
+ VisAlarmSkaerm(Stregkode + ' kan ikke vælges på dette scanningsted');
end;
Stregkode := '';
StregkodeST.Caption := StregKode;
@@ -1421,18 +1355,7 @@
end
else
begin
- //ShowMessage('Ændring ikke tilladt');
- // Her skal komme en 'rød skærm' alarm
- PlaySound(PWideChar(AlarmLyd));
- List1msg := Stregkode + ' kan ikke vælges på dette scanningsted';
- ListBox1.Items.Insert(0,List1Msg);
- MainForm.Color := clRed;
-// 20150316: start
- RuteNummerST.Caption := '';
- BoghandlerNavnST.Caption := '';
-// 20150316: slut
- KommentarST.Caption := List1msg;
- PakkeshopNulstil.Visible := true;
+ VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );
end;
Stregkode := '';
StregkodeST.Caption := StregKode;
@@ -1447,18 +1370,7 @@
end
else
begin
- //ShowMessage('Ændring ikke tilladt');
- // Her skal komme en 'rød skærm' alarm
- PlaySound(PWideChar(AlarmLyd));
- List1msg := Stregkode + ' kan ikke vælges på dette scanningsted';
- ListBox1.Items.Insert(0,List1Msg);
- MainForm.Color := clRed;
-// 20150316: start
- RuteNummerST.Caption := '';
- BoghandlerNavnST.Caption := '';
-// 20150316: slut
- KommentarST.Caption := List1msg;
- PakkeshopNulstil.Visible := true;
+ VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );
end;
Stregkode := '';
StregkodeST.Caption := StregKode;
@@ -1473,18 +1385,7 @@
end
else
begin
- //ShowMessage('Ændring ikke tilladt');
- // Her skal komme en 'rød skærm' alarm
- PlaySound(PWideChar(AlarmLyd));
- List1msg := Stregkode + ' kan ikke vælges på dette scanningsted';
- ListBox1.Items.Insert(0,List1Msg);
- MainForm.Color := clRed;
-// 20150316: start
- RuteNummerST.Caption := '';
- BoghandlerNavnST.Caption := '';
-// 20150316: slut
- KommentarST.Caption := List1msg;
- PakkeshopNulstil.Visible := true;
+ VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );
end;
Stregkode := '';
StregkodeST.Caption := StregKode;
@@ -1499,18 +1400,7 @@
end
else
begin
- //ShowMessage('Ændring ikke tilladt');
- // Her skal komme en 'rød skærm' alarm
- PlaySound(PWideChar(AlarmLyd));
- List1msg := Stregkode + ' kan ikke vælges på dette scanningsted';
- ListBox1.Items.Insert(0,List1Msg);
- MainForm.Color := clRed;
-// 20150316: start
- RuteNummerST.Caption := '';
- BoghandlerNavnST.Caption := '';
-// 20150316: slut
- KommentarST.Caption := List1msg;
- PakkeshopNulstil.Visible := true;
+ VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );
end;
Stregkode := '';
StregkodeST.Caption := StregKode;
@@ -1525,24 +1415,13 @@
end
else
begin
- //ShowMessage('Ændring ikke tilladt');
- // Her skal komme en 'rød skærm' alarm
- PlaySound(PWideChar(AlarmLyd));
- List1msg := Stregkode + ' kan ikke vælges på dette scanningsted';
- ListBox1.Items.Insert(0,List1Msg);
- MainForm.Color := clRed;
-// 20150316: start
- RuteNummerST.Caption := '';
- BoghandlerNavnST.Caption := '';
-// 20150316: slut
- KommentarST.Caption := List1msg;
- PakkeshopNulstil.Visible := true;
+ VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );
end;
Stregkode := '';
StregkodeST.Caption := StregKode;
exit;
end;
-// 20150311: slut
+
if (Length(Stregkode) > 8) then
begin
@@ -1590,31 +1469,19 @@
Pakkescanningtype := Scanningtype;
end;
- if ( (Pakkescanningtype = '1') and (PanelValg1.Enabled = false)
- or (Pakkescanningtype = '2') and (PanelValg2.Enabled = false)
- or (Pakkescanningtype = '3') and (PanelValg3.Enabled = false)
- or (Pakkescanningtype = '4') and (PanelValg4.Enabled = false)
- or (Pakkescanningtype = '5') and (PanelValg5.Enabled = false)
- or (Pakkescanningtype = '6') and (PanelValg6.Enabled = false) ) then
+ if ( ( (Pakkescanningtype = '1') and (PanelValg1.Enabled = false) )
+ or ( (Pakkescanningtype = '2') and (PanelValg2.Enabled = false) )
+ or ( (Pakkescanningtype = '3') and (PanelValg3.Enabled = false) )
+ or ( (Pakkescanningtype = '4') and (PanelValg4.Enabled = false) )
+ or ( (Pakkescanningtype = '5') and (PanelValg5.Enabled = false) )
+ or ( (Pakkescanningtype = '6') and (PanelValg6.Enabled = false) ) ) then
begin // Her skal komme en alarm og rød skærm
- PlaySound(PWideChar(AlarmLyd));
- List1msg := 'Pakketype ' + Pakketype + ' kan ikke scannes på dette scanningsted';
- ListBox1.Items.Insert(0,List1Msg);
- MainForm.Color := clRed;
-// 20150316: start
- RuteNummerST.Caption := '';
- BoghandlerNavnST.Caption := '';
-// 20150316: slut
- KommentarST.Caption := List1msg;
- PakkeshopNulstil.Visible := true;
-// 20150311: start
- StregKode := '';
- StregkodeST.Caption := StregKode;
-// 20150311: slut
+ VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );
+
exit;
end;
- if Automatiskvalg1.Checked and (Length(Stregkode) > 8) then
+ if (Automatiskvalg1.Checked and (Length(Stregkode) > 8) ) then
begin
GemStregkode := Stregkode;
if Pakketype = 'NatXpress' then
@@ -1626,24 +1493,7 @@
end;
end
// Retur kan ikke scannes med 'Automatisk valg'
-(*
- else if Pakketype = 'NatXpressReturDAO' then
- begin
- if Scanningtype <> '2' then
- begin
- Scanningtype := '2';
- InitReturFraDao();
- end;
- end
- else if Pakketype = 'NatXpressReturKunde' then
- begin
- if Scanningtype <> '3' then
- begin
- Scanningtype := '3';
- InitReturFraKunde();
- end;
- end
-*)
+
else if Pakketype = 'Direkte' then
begin
if Scanningtype <> '4' then
@@ -1661,52 +1511,21 @@
end;
end
// Retur kan ikke scannes med 'Automatisk valg'
-(*
- else if Pakketype = 'PakkeshopRetur' then
- begin
- if Scanningtype <> '6' then
- begin
- Scanningtype := '6';
- InitReturFraPakkeshop();
- end;
- end
-*)
+
else
- begin // Her skal komme en alarm og rød skærm
- PlaySound(PWideChar(AlarmLyd));
- List1msg := 'Pakken kan ikke scannes med automatisk valg';
- ListBox1.Items.Insert(0,List1Msg);
- MainForm.Color := clRed;
-// 20150316: start
- RuteNummerST.Caption := '';
- BoghandlerNavnST.Caption := '';
-// 20150316: slut
- KommentarST.Caption := List1msg;
- PakkeshopNulstil.Visible := true;
-// 20150311: start
- StregKode := '';
- StregkodeST.Caption := StregKode;
-// 20150311: slut
+ begin
+ // Her skal komme en alarm og rød skærm
+ //VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );
+ VisAlarmSkaerm( Stregkode + ' kan ikke bruges med automatisk valg' );
+
exit;
end;
Stregkode := GemStregkode;
end
else if Automatiskvalg1.Checked and (PakkeshopText1.Caption = 'Stregkode') then
begin
- PlaySound(PWideChar(AlarmLyd));
- List1msg := 'Pakkenummer ikke gyldigt (for kort)';
- ListBox1.Items.Insert(0,List1Msg);
- MainForm.Color := clRed;
-// 20150316: start
- RuteNummerST.Caption := '';
- BoghandlerNavnST.Caption := '';
-// 20150316: slut
- KommentarST.Caption := List1msg;
- PakkeshopNulstil.Visible := true;
-// 20150312: start
- StregKode := '';
- StregkodeST.Caption := StregKode;
-// 20150312: slut
+ VisAlarmSkaerm( 'Pakkenummer ikke gyldigt (for kort)' );
+
exit;
end;
@@ -1714,93 +1533,23 @@
begin
if ( (Pakkescanningtype <> Scanningtype) and (Scanningtype <> '2') and (Scanningtype <> '3') ) then
begin
- PlaySound(PWideChar(AlarmLyd));
- List1msg := 'Pakke findes som pakketype: ' + Pakketype;
- ListBox1.Items.Insert(0,List1Msg);
- MainForm.Color := clRed;
-// 20150316: start
- RuteNummerST.Caption := '';
- BoghandlerNavnST.Caption := '';
-// 20150316: slut
- KommentarST.Caption := List1msg;
- PakkeshopNulstil.Visible := true;
-// 20150312: start
- StregKode := '';
- StregkodeST.Caption := StregKode;
-// 20150312: slut
- exit;
- end;
- end;
-
-// 20150311: start
-(*
- if StregKode = 'Nulstil' then
- begin
- PakkeshopNulstil.Click();
- exit;
- end;
-
- if PakkeshopNulstil.Visible then
- begin
- PlaySound(PWideChar(AlarmLyd));
- List1msg := 'HUSK at trykke Nulstil før ny scanning...';
- ListBox1.Items.Insert(0,List1Msg);
- MainForm.Color := clRed;
- KommentarST.Caption := List1msg;
- exit;
- end;
-
- if StregKode = 'Lille pakke' then
- begin
- InitLillePakke();
- exit;
- end;
- if StregKode = 'Stor pakke' then
- begin
- InitStorPakke();
- exit;
- end;
+ VisAlarmSkaerm( 'Pakke findes som pakketype: ' + Pakketype );
- if StregKode = 'Indtast kundenummer' then
- begin
- if (CheckBox1.State = cbChecked) then
- begin
- CheckBox1.State := cbUnchecked;
- end
- else
- begin
- CheckBox1.State := cbChecked;
- end;
- Stregkode := '';
- exit;
+ exit;
+ end;
end;
- if (Stregkode = 'Scan tjekkode') or (PakkeshopStregkode = 'Scan tjekkode') or (BoghandlerStregkode = 'Scan tjekkode') then
- begin
- if (CheckBox3.State = cbChecked) then
- begin
- CheckBox3.State := cbUnchecked;
- end
- else
- begin
- CheckBox3.State := cbChecked;
- end;
- Stregkode := '';
- exit;
- end;
-*)
-// 20150311: slut
if (PakkeshopText1.Visible = true) and (PakkeshopText1.Caption = 'Stregkode') and Automatisktjekkodestyring1.Checked then
begin
- CheckBox3.Checked := false;
+ chkScanTjekkode.Checked := false;
for i := 0 to length(stregkoderMedTjekkodeArray)-1 do
begin
if (Stregkode=stregkoderMedTjekkodeArray[i]) then
begin
- CheckBox3.Checked := true;
+ chkScanTjekkode.Checked := true;
Scanogstjekkoden1.Checked := true;
end;
end;
@@ -1812,7 +1561,7 @@
BoghandlerStregkode := Stregkode;
BoghandlerTjekkode := '';
PakkeshopText1.Caption := 'Stregkode';
- PakkeshopNulstil.Visible := false;
+ btnNulstil.Visible := false;
Stregkode := '';
InitScreen();
end
@@ -1824,7 +1573,7 @@
BoghandlerStregkode := Stregkode;
BoghandlerTjekkode := '-1';
PakkeshopText1.Caption := 'Stregkode';
- PakkeshopNulstil.Visible := false;
+ btnNulstil.Visible := false;
Stregkode := '';
InitScreen();
end
@@ -1836,19 +1585,13 @@
PakkeshopStregkode := Stregkode;
BoghandlerStregkode := Stregkode;
PakkeshopText1.Caption := 'Tjekkode';
-// 20150317: start
+
PlaySound(PWideChar(ScannetOkTilTjekkodeLyd));
-// 20150317: slut
+
end
else
begin
- List1msg := 'Du skal scanne en stregkode';
- ListBox1.Items.Insert(0,List1Msg);
- //logTekst := RightStr(List1Msg, Length(List1Msg)-10);
- //SkrivScanningLogFil(logTekst);
- PlaySound(PWideChar(AlarmLyd));
- PakkeshopNulstil.Visible := true;
- MainForm.Color := clRed;
+ VisAlarmSkaerm( 'Du skal scanne en stregkode' );
end;
Stregkode := '';
InitScreen();
@@ -1861,28 +1604,21 @@
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
if (PakkeshopLevering1.Checked) then
- List1msg := 'Du skal scanne en tjekkode til stregkode ' + PakkeshopStregkode;
+ VisAlarmSkaerm('Du skal scanne en tjekkode til stregkode ' + PakkeshopStregkode);
if (Pakkernormal1.Checked) then
- List1msg := 'Du skal scanne en tjekkode til stregkode ' + BoghandlerStregkode;
- KommentarST.Caption := List1msg;
- ListBox1.Items.Insert(0,List1Msg);
- //logTekst := RightStr(List1Msg, Length(List1Msg)-10);
- //SkrivScanningLogFil(logTekst);
- PlaySound(PWideChar(AlarmLyd));
- PakkeshopNulstil.Visible := true;
- MainForm.Color := clRed;
-// 20150323: start
+ VisAlarmSkaerm('Du skal scanne en tjekkode til stregkode ' + BoghandlerStregkode);
+
StregKode := '';
StregkodeST.Caption := StregKode;
-// 20150323: slut
+
exit;
end;
Stregkode := '';
@@ -1891,6 +1627,7 @@
if not PakkeshopLevering1.Checked and not Pakkernormal1.Checked or (PakkeshopLevering1.Checked and (PakkeshopStregkode <> '') and (PakkeshopTjekkode <> '')) or (Pakkernormal1.Checked and (Scanogstjekkoden1.Checked and (BoghandlerStregkode <> '') and (BoghandlerTjekkode <> '') or not Scanogstjekkoden1.Checked)) then
begin
+
if PakkeshopLevering1.Checked and (PakkeshopStregkode <> '') and (PakkeshopTjekkode <> '') then
StregKode := PakkeshopStregkode;
if Pakkernormal1.Checked and ((BoghandlerStregkode <> '') and (BoghandlerTjekkode <> '') or not Scanogstjekkoden1.Checked) then
@@ -1903,12 +1640,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
@@ -1928,13 +1661,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));
@@ -1943,11 +1676,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));
@@ -1956,30 +1689,23 @@
begin
PlaySound(PWideChar(ScannetOkLyd));
end;
- PakkeshopNulstil.Visible := false;
+ btnNulstil.Visible := false;
end
else if Copy(Kommentar,1,8) = 'OPRETTET' then
begin
- List1msg := 'Pakke ' + PakkeshopStregkode + ' skal gemmes på lager indtil data modtages';
- ListBox1.Items.Insert(0,List1Msg);
- MainForm.Color := clRed;
- PlaySound(PWideChar(AlarmLyd));
- PakkeshopNulstil.Visible := true;
+ VisAlarmSkaerm( 'Pakke ' + PakkeshopStregkode + ' skal gemmes på lager indtil data modtages' );
end
else if Kommentar = StregKode then // budlevering til 'Ukendt tur'
begin
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
-// 20150310: start
-// SletStregkodelinieFraListboks2(StregKode);
-// 20150310: slut
+
If (Budlevering1.Checked) then
begin
if Storepakker1.Checked then
@@ -1993,9 +1719,9 @@
InitLillePakke();
end;
end;
-// 20150310: start
+
SletStregkodelinieFraListboks2(StregKode);
-// 20150310: slut
+
PakkeshopStregkode := '';
PakkeshopTjekkode := '';
BoghandlerStregkode := '';
@@ -2026,7 +1752,14 @@
Key := #0;
-end;
+
+
+
+
+
+end; //End of OnKeyPress
+
+
procedure TMainForm.SendInfoTilServer(Sted, Scanningtype, Infotype, Info : String);
const
@@ -2063,30 +1796,28 @@
procedure TMainForm.SletStregkodelinieFraListboks2(StregKode : String);
var
-// 20150309: start
-// i:integer;
i : Integer;
wrkAntal : String;
wrkAntalIdag, wrkAntalSenere : Integer;
-// 20150309: slut
+
begin
- if Budlevering1.Checked or Pakkeshoplevering1.Checked or Returpakkerfrapakkeshop1.Checked or Pakkernormal1.Checked then
+ if Budlevering1.Checked or Pakkeshoplevering1.Checked or Returpakkerfrapakkeshop1.Checked or Pakkernormal1.Checked or menuIndlevering.Checked then
begin
for i := ListBox2.items.count-1 downto 0 do
if pos(StregKode,ListBox2.items[i]) <> 0 then
begin
-// 20150309: start
+
// Ajourføring af tæller for manglende pakker (scanninger)
wrkAntal := StaticTextManglendePakker.Caption;
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
@@ -2112,9 +1843,7 @@
begin
StaticTextManglendePakker.Caption := IntToStr(wrkAntalIdag);
end;
-// 20150309: slut
-// 20150310: start
if (Scanningtype = '1') then
begin
PanelManglendePakker1.Caption := IntToStr(wrkAntalIdag + wrkAntalSenere);
@@ -2192,7 +1921,7 @@
PanelManglendePakker6.Visible := false;
end;
end;
-// 20150310: slut
+
ListBox2.items.delete(i);
end;
end;
@@ -2219,8 +1948,6 @@
end;
procedure TMainForm.InitBladhus();
-var
- LogFilnavn : string;
begin
Altidprintepakkelabel1.Enabled := false;
@@ -2230,47 +1957,7 @@
Sprgefterboghandlernummer1.Enabled := false;
ListBox1.Visible := true;
// TestFunktionen := '1';
-// 20150317: start
-(*
- if TestFunktionen = '1' then
- begin
- Testforbindelsen1.Visible := true;
- Testprinter1.Visible := true;
- Testlyd1.Visible := true;
- Testlyd2.Visible := true;
- end
- else if TestFunktionen = '2' then
- begin
- Testforbindelsen1.Enabled := false;
- Testprinter1.Enabled := false;
- Testlyd1.Enabled := false;
- Testlyd2.Enabled := false;
- end
- else
- begin
- Testforbindelsen1.Visible := false;
- Testprinter1.Visible := false;
- Testlyd1.Visible := false;
- Testlyd2.Visible := false;
- end;
- Testprinter1.Visible := false;
- AlarmLyd := 'Sounds\Alarm.wav';
- if not FileExists(AlarmLyd) then
- begin
- AlarmLyd := '';
- end;
- ScannetOkLyd := 'Sounds\Ok.wav';
- if not FileExists(ScannetOkLyd) then
- begin
- ScannetOkLyd := '';
- end;
- ScannetOkStorLyd := 'Sounds\Ok_stor.wav';
- if not FileExists(ScannetOkStorLyd) then
- begin
- ScannetOkStorLyd := '';
- end;
-*)
-// 20150317: slut
+
if Budlevering1.Checked then
begin
IndlesScanningLogFil();
@@ -2283,8 +1970,8 @@
01 :
begin; // NS
Testprinter1.Visible := true;
- DownloadButton01.Enabled := true;
- OpdaterListenButton01.Enabled := true;
+ BtnDownloadKontrolfil.Enabled := true;
+ BtnOpdaterListen.Enabled := true;
IdFTP1.Passive := true;
IdFTP1.PassiveUseControlHost := true;
BladhusKontrolfil_server := 'franordjyske/RuteKontrol.txt';
@@ -2297,10 +1984,10 @@
Testprinter1.Visible := true;
Smpakker1.Enabled := true;
Storepakker1.Enabled := true;
- RadioButton1.Enabled := true;
- RadioButton2.Enabled := true;
- DownloadButton01.Enabled := false; // kontrolfil bruges ikke her
- OpdaterListenButton01.Enabled := true;
+ radioStorPakke.Enabled := true;
+ radioLillePakke.Enabled := true;
+ BtnDownloadKontrolfil.Enabled := false; // kontrolfil bruges ikke her
+ BtnOpdaterListen.Enabled := true;
IdFTP1.Passive := true;
IdFTP1.PassiveUseControlHost := true;
IndlesManglendeScanninger();
@@ -2310,14 +1997,14 @@
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;
- OpdaterListenButton01.Enabled := true;
+ BtnDownloadKontrolfil.Enabled := true;
+ BtnOpdaterListen.Enabled := true;
IdFTP1.Passive := true;
IdFTP1.PassiveUseControlHost := true;
BladhusRuteskiftfil_server := 'frafd/RuteSkift.txt';
@@ -2335,10 +2022,10 @@
Testprinter1.Visible := true;
Smpakker1.Enabled := true;
Storepakker1.Enabled := true;
- RadioButton1.Enabled := true;
- RadioButton2.Enabled := true;
- DownloadButton01.Enabled := false; // kontrolfil bruges ikke her
- OpdaterListenButton01.Enabled := true;
+ radioStorPakke.Enabled := true;
+ radioLillePakke.Enabled := true;
+ BtnDownloadKontrolfil.Enabled := false; // kontrolfil bruges ikke her
+ BtnOpdaterListen.Enabled := true;
IdFTP1.Passive := true;
IdFTP1.PassiveUseControlHost := true;
end;
@@ -2354,15 +2041,19 @@
URLStr : String;
pakkestorrelse : String;
PrintNyLabelInteger : Integer;
+
+ PakkeshopLabel: TPakkeshopLabel;
begin
- if RadioButton1.Checked then
+ if radioStorPakke.Checked then
begin
pakkestorrelse := 'Stor';
end;
- if RadioButton2.Checked then
+ if radioLillePakke.Checked then
begin
pakkestorrelse := 'Lille';
end;
+
+
if Pakkernormal1.Checked then
begin
if (BoghandlerTjekkode = '') then
@@ -2391,10 +2082,20 @@
begin
URLStr := Format(UrlReturPakkeshop,[Sted, PakkeNr]);
end
+ else if menuIndlevering.Checked then
+ begin
+ URLStr := Format(UrlIndleveringsPakke,[Sted, PakkeNr]);
+ end
else
begin
exit;
end;
+
+ if chkForstorTilDirekte.Checked then // Denne skal være efter if/else kæden da den overrider de øvrige URL'er
+ begin
+ URLStr := Format(URLOmdirigerTilPakkeshop,[Sted, PakkeNr]);
+ end;
+
try
//raise EIdConnClosedGracefully.Create('test'); // KUN TIL TEST
WebSvar := IdHTTP1.Get(URLStr);
@@ -2416,6 +2117,7 @@
end;
end;
end;
+
XMLDocument1.LoadFromXML(WebSvar);
try
if Pakkeshoplevering1.Checked or Returpakkerfrapakkeshop1.Checked then
@@ -2425,10 +2127,9 @@
BoghandlerNavn := XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopNr').Text;
BoghandlerNavn := BoghandlerNavn + ' ' + XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopNavn').Text;
PrintNyLabel := False;
-// 20150310: start
+
if Pakkeshoplevering1.Checked then
begin
-// 20150310: slut
try
PrintNyLabelInteger := StrToInt(XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopPrintPakkeLabel').Text);
except on e:exception do
@@ -2438,10 +2139,29 @@
begin
PrintNyLabel := True;
end;
-// 20150310: start
end;
-// 20150310: slut
end
+ else if menuIndlevering.Checked or chkForstorTilDirekte.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 + ' -> ' + PakkeshopLabel.PakkeshopTurid;
+ Stregkode := PakkeshopLabel.Stregkode;
+
+ LabelPrint.PrintPakkeshopLabel( PakkeshopLabel );
+ chkForstorTilDirekte.Checked := false;
+
+ end;
+
+
+ end
else
begin
RuteNummer := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('TurId').Text;
@@ -2474,6 +2194,8 @@
PrintNyLabel := True;
end;
end;
+
+
if (BladhusSted > 00) and (BladhusSted < Length(BladhusStedNavn)) then
begin
if (Leveringssted <> BladhusStedKode[BladhusSted]) and (BladhusStedKode[BladhusSted] <> 'DBK') then
@@ -2514,11 +2236,11 @@
if Pakkeshoplevering1.Checked then
List1msg := List1msg + PakkeshopStregkode + ' ' + PakkeshopTjekkode + '; ' + KommentarST.Caption + '; ';
List1Pakkestorrelse := '';
- if RadioButton1.Checked then
+ if radioStorPakke.Checked then
begin
List1Pakkestorrelse := 'Stor pakke';
end;
- if RadioButton2.Checked then
+ if radioLillePakke.Checked then
begin
List1Pakkestorrelse := 'Lille pakke';
end;
@@ -2540,11 +2262,11 @@
if Budlevering1.Checked then
begin
List1msg := TimeToStr(now) + '; ' + Kommentar + '; ' + BoghandlerNavn;
- if (RadioButton1.Checked) then
+ if (radioStorPakke.Checked) then
begin
List1msg := List1msg + '; Stor pakke';
end;
- if (RadioButton2.Checked) then
+ if (radioLillePakke.Checked) then
begin
List1msg := List1msg + '; Lille pakke';
end;
@@ -2566,12 +2288,18 @@
List1msg := List1msg + '; ' + Stregkode + ' (' + BoghandlerTjekkode + ')' + '; ' + Kommentar;
end;
end;
+ if menuIndlevering.Checked then
+ begin
+ List1Msg := Stregkode;
+ end;
+
+
ListBox1.Items.Insert(0,List1Msg);
logTekst := RightStr(List1Msg, Length(List1Msg)-10);
SkrivScanningLogFil(logTekst);
end;
-procedure TMainForm.UploadButton01Click(Sender: TObject);
+procedure TMainForm.BtnUploadLogfilClick(Sender: TObject);
begin
UploadLogfilTilDAO();
UploadInifilTilDAO();
@@ -2588,7 +2316,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
@@ -2601,10 +2329,9 @@
end;
pakkeForkertSted := pos('burde være hos', Kommentar);
-// 20150306: start
-// if Sprgefterboghandlernummer1.Enabled and CheckBox1.Checked and (RuteNummer = 'Ukendt') or (RuteNummer = 'Ukendt tur') or (RuteNummer = 'Retur ukendt') or (pakkeErScannet > 0) or (pakkeForkertSted > 0) then
+
if Sprgefterboghandlernummer1.Enabled and chkSporgEfterKunde.Checked and ( (RuteNummer = 'Ukendt') or (RuteNummer = 'Ukendt tur') or (RuteNummer = 'Retur ukendt') or (pakkeErScannet > 0) or (pakkeForkertSted > 0) ) then
-// 20150306: slut
+
begin
if (RuteNummer = 'Ukendt') then
begin
@@ -2631,12 +2358,11 @@
if (BoghandlerNavn = 'Ukendt pakke') then
begin
PrintNyLabel := false;
-// 20150306: start
-// PlaySound(PWideChar(AlarmLyd));
+
PlaySound(PWideChar(AlarmLyd));
MainForm.Color := clRed;
- PakkeshopNulstil.Visible := true;
-// 20150306: slut
+ btnNulstil.Visible := true;
+
end
else
begin
@@ -2646,27 +2372,25 @@
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);
logTekst := RightStr(List1Msg, Length(List1Msg)-10);
SkrivScanningLogFil(logTekst);
-// 20150213: start
+
if (PrinterNavn = 'Ingen') then
begin
PrintNyLabel := false;
end;
-// 20150313: slut
-// 20150306: start
-// PlaySound(PWideChar(AlarmLyd));
+
if (PrintNyLabel = false) then // Hvis vi ikke printer label skal vi vise en 'rød skærm' alarm
begin
PlaySound(PWideChar(AlarmLyd));
MainForm.Color := clRed;
- PakkeshopNulstil.Visible := true;
+ btnNulstil.Visible := true;
end;
-// 20150306: slut
+
end;
kontrolKoreliste := TjekKoreliste(RuteNummer, Koreliste);
if (kontrolKoreliste <> RuteNummer) then
@@ -2685,19 +2409,14 @@
ListBox1.Items.Insert(0,List1Msg);
logTekst := RightStr(List1Msg, Length(List1Msg)-10);
SkrivScanningLogFil(logTekst);
-// 20150306: start
-// PlaySound(PWideChar(AlarmLyd));
+
if (PrintNyLabel = false) then // Hvis vi ikke printer label skal vi vise en 'rød skærm' alarm
begin
PlaySound(PWideChar(AlarmLyd));
MainForm.Color := clRed;
- PakkeshopNulstil.Visible := true;
+ btnNulstil.Visible := true;
end;
-// 20150306: slut
-// 20150306: start
-// end
-// else
-// begin
+
end;
end;
@@ -2715,35 +2434,35 @@
if PrintNyLabel or (RuteNummer = 'Rutenr') then
// 20150304: slut
begin
- SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
+ LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
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
- SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
+ LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
end;
end;
02 : begin;
if PrintNyLabel or (RuteNummer = 'Rutenr') then // Hvis RuteNummer = 'Rutenr' er vi igang med en printer test
begin
- SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
+ LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
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
- SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
+ LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
end;
end;
04 : begin;
if PrintNyLabel or (RuteNummer = 'Rutenr') then // Hvis RuteNummer = 'Rutenr' er vi igang med en printer test
begin
- SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
+ LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
end;
end;
else
@@ -2779,86 +2498,26 @@
end;
logTekst := logTekst + ' for '+BoghandlerNavn;
SkrivScanningLogFil(logTekst);
- with Printer do
- begin
- BeginDoc;
- Canvas.Font.Size := FontSizeRute;
- if (Length(RuteNummer) > 7) then
- begin
- Canvas.Font.Size := FontSizeRuteLille;
- end;
- Canvas.TextOut(XPosRute,YPosRute, RuteNummer);
- Canvas.Font.Size := FontSizeKommentar;
- Kommentar := StringReplace(Kommentar, #$A, ' - ', [rfReplaceAll, rfIgnoreCase]);
- if (Kommentar = 'Ok') or (Kommentar = 'ALLEREDE SCANNET') then
- begin
- Kommentar := '';
- end;
- if (BoghandlerNavn = 'PAKKE ER SCANNET') then
- begin
- BoghandlerNavn := '';
- end;
- Canvas.TextOut(XPosKommentar,YPosKommentar, Kommentar); // Kan ikke lave linieskift (se tidligere kommentar om samme)
- Canvas.Font.Size := FontSizeBoghandler;
- Canvas.TextOut(XPosBoghandler,YPosBoghandler, BoghandlerNavn);
- EndDoc;
- end;
+
+ LabelPrint.PrintDaodirekteLabel( RuteNummer, Kommentar, BoghandlerNavn) ;
+
end;
end;
end;
-procedure TMainForm.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted : String; var PrintNyLabel : Boolean; BoghandlerNummer : string = '');
-begin
- with Printer do
- begin
- BeginDoc;
- Canvas.Font.Size := FontSizeRuteLille;
- if (kontrolKoreliste <> '') then
- begin
- Canvas.TextOut(XPosRute,YPosRute, kontrolKoreliste);
- end
- else
- begin
- Canvas.TextOut(XPosRute,YPosRute, RuteNummer);
- end;
- Canvas.Font.Size := FontSizeKorelisteLille;
- Canvas.TextOut(XPosKoreliste,YPosKoreliste, Koreliste);
- if (Sted = 'DBK') or (Sted = '04') then
- begin
- Canvas.Font.Size := FontSizeSorteringsfelt1;
- Canvas.TextOut(XPosSorteringsfelt1,YPosSorteringsfelt1, DBKbane); // sorteringsoplysning 1
- Canvas.Font.Size := FontSizeSorteringsfelt1;
- Canvas.TextOut(XPosSorteringsfelt2,YPosSorteringsfelt2, Leveringssted); // sorteringsoplysning 2
- end;
- Canvas.Font.Size := FontSizeKommentar;
- Kommentar := StringReplace(Kommentar, #$A, ' - ', [rfReplaceAll, rfIgnoreCase]);
-// 20150304: start
- Kommentar := StringReplace(Kommentar, 'PAKKE ER SCANNET', '', [rfReplaceAll, rfIgnoreCase]);
-// 20150304: slut
- Canvas.TextOut(XPosKommentar,YPosKommentar, Kommentar); // Kan ikke lave linieskift (se tidligere kommentar om samme)
- if SmsKode <> '' then
- begin
- Canvas.Font.Size := FontSizeSmskode;
- Canvas.TextOut(XPosKommentar,YPosSmskode, concat('CODE: ', SmsKode));
- end;
- Canvas.Font.Size := FontSizeBoghandler;
- Canvas.TextOut(XPosBoghandler,YPosBoghandler, BoghandlerNavn);
- EndDoc;
- end;
-end;
-procedure TMainForm.RadioButton1Click(Sender: TObject);
+procedure TMainForm.radioStorPakkeClick(Sender: TObject);
begin
Storepakker1.Checked := true;
- RadioButton1.Checked := true;
+ radioStorPakke.Checked := true;
end;
-procedure TMainForm.RadioButton2Click(Sender: TObject);
+procedure TMainForm.radioLillePakkeClick(Sender: TObject);
begin
Smpakker1.Checked := true;
- RadioButton2.Checked := true;
+ radioLillePakke.Checked := true;
end;
@@ -2888,9 +2547,9 @@
end;
-procedure TMainForm.CheckBox3Click(Sender: TObject);
+procedure TMainForm.chkScanTjekkodeClick(Sender: TObject);
begin
- if CheckBox3.Checked then
+ if chkScanTjekkode.Checked then
begin
Scanogstjekkoden1.Checked := true;
end
@@ -2912,11 +2571,11 @@
Automatiskvalg1.Checked := false;
PanelValgA.Color := clBtnFace;
PanelValgA.Font.Color := clWindowText;
-// 20150317: start
+
if (SpecialVersionSted = '01')
- or (SpecialVersionSted = '02')
- or (SpecialVersionSted = '03')
- or (SpecialVersionSted = '04') then
+ or (SpecialVersionSted = '02')
+ or (SpecialVersionSted = '03')
+ or (SpecialVersionSted = '04') then
begin
// her skal vi også disable knappen for 01, 02, 03 og 04 (NS, BK, FD og DBK)
PanelValgA.Enabled := false;
@@ -2936,396 +2595,144 @@
//UpdateScreen('', '', 'Tjekker forbindelsen...', '', ''); // virker ikke
ShowMessage('Tjekker data forbindelse til serveren.' + crlf + 'Det kan godt tage nogle minutter.' + crlf + 'Resultatet af testen vises i skærmbilledet...');
- // Tjekker urls
- logTekst := 'Tjekker urls.';
- ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);
- SkrivScanningLogFil(logTekst);
+ try
+ // Tjekker urls
+ logTekst := 'Tjekker urls.';
+ ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);
+ SkrivScanningLogFil(logTekst);
- // Tjekker UrlNormal
- if PanelValg1.Enabled = true then
- begin
- if CheckUrl(UrlNormal) then
- begin
- logTekst := 'UrlNormal accepteret: ' + UrlNormal;
- SkrivScanningLogFil(logTekst);
- end
- else
- begin
- inc(urlFejl); // Optæller antal fejl
- logTekst := 'UrlNormal svarer ikke: ' + UrlNormal;
- ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);
- if TjekUrls = '1' then
- begin
- TjekUrls := '-'; // markerer at der var fejl
- 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 UrlReturDAO
- if PanelValg2.Enabled = true then
- begin
- if CheckUrl(UrlReturDAO) then
- begin
- logTekst := 'UrlReturDAO accepteret: ' + UrlReturDAO;
- SkrivScanningLogFil(logTekst);
- end
- else
- begin
- inc(urlFejl); // Optæller antal fejl
- logTekst := 'UrlReturDAO svarer ikke: ' + UrlReturDAO;
- 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 UrlReturBoghandler
- if PanelValg3.Enabled = true then
- begin
- if CheckUrl(UrlReturBoghandler) then
- begin
- logTekst := 'UrlReturBoghandler accepteret: ' + UrlReturBoghandler;
- SkrivScanningLogFil(logTekst);
- end
- else
- begin
- inc(urlFejl); // Optæller antal fejl
- logTekst := 'UrlReturDAO svarer ikke: ' + UrlReturDAO;
- 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 UrlNormal
+ if PanelValg1.Enabled = true then
+ begin
+ TjekkerEnkeltUrl('UrlNormal', UrlNormal, urlFejl);
+ end;
- // Tjekker UrlBudlevering
- if PanelValg4.Enabled = true then
- begin
- if CheckUrl(UrlBudlevering) then
- begin
- logTekst := 'UrlBudlevering accepteret: ' + UrlBudlevering;
- SkrivScanningLogFil(logTekst);
- end
- else
- begin
- inc(urlFejl); // Optæller antal fejl
- logTekst := 'UrlBudlevering svarer ikke: ' + UrlBudlevering;
- 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 UrlReturDAO
+ if PanelValg2.Enabled = true then
+ begin
+ TjekkerEnkeltUrl('UrlReturDAO', UrlReturDAO, urlFejl);
+ end;
- // Tjekker UrlPakkeshoplevering
- if PanelValg5.Enabled = true then
- begin
- if CheckUrl(UrlPakkeshoplevering) then
- begin
- logTekst := 'UrlPakkeshoplevering accepteret: ' + UrlPakkeshoplevering;
- SkrivScanningLogFil(logTekst);
- end
- else
- begin
- inc(urlFejl); // Optæller antal fejl
- logTekst := 'UrlPakkeshoplevering svarer ikke: ' + UrlPakkeshoplevering;
- 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 UrlReturBoghandler
+ if PanelValg3.Enabled = true then
+ begin
+ TjekkerEnkeltUrl('UrlReturBoghandler', UrlReturBoghandler, urlFejl);
+ end;
- // Tjekker UrlReturPakkeshop
- if PanelValg6.Enabled = true then
- begin
- if CheckUrl(UrlReturPakkeshop) then
- begin
- logTekst := 'UrlReturPakkeshop accepteret: ' + UrlReturPakkeshop;
- SkrivScanningLogFil(logTekst);
- end
- else
- begin
- inc(urlFejl); // Optæller antal fejl
- logTekst := 'UrlReturPakkeshop svarer ikke: ' + UrlReturPakkeshop;
- 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 UrlBudlevering
+ if PanelValg4.Enabled = true then
+ begin
+ TjekkerEnkeltUrl('UrlBudlevering', UrlBudlevering, urlFejl);
+ end;
- // Tjekker UrlManglendeScanninger
- if (PanelValg1.Enabled = true)
- or (PanelValg4.Enabled = true) then
- begin
- if CheckUrl(UrlManglendeScanninger) then
- begin
- logTekst := 'UrlManglendeScanninger accepteret: ' + UrlManglendeScanninger;
- SkrivScanningLogFil(logTekst);
- end
- else
- begin
- inc(urlFejl); // Optæller antal fejl
- logTekst := 'UrlManglendeScanninger svarer ikke: ' + UrlManglendeScanninger;
- 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 UrlPakkeshoplevering
+ if PanelValg5.Enabled = true then
+ begin
+ TjekkerEnkeltUrl('UrlPakkeshoplevering', UrlPakkeshoplevering, urlFejl);
+ end;
- // Tjekker UrlPakkeshopManglendeScanninger
- if PanelValg5.Enabled = true then
- begin
- if CheckUrl(UrlPakkeshopManglendeScanninger) then
- begin
- logTekst := 'UrlPakkeshopManglendeScanninger accepteret: ' + UrlPakkeshopManglendeScanninger;
- SkrivScanningLogFil(logTekst);
- end
- else
- begin
- inc(urlFejl); // Optæller antal fejl
- logTekst := 'UrlPakkeshopManglendeScanninger svarer ikke: ' + UrlPakkeshopManglendeScanninger;
- 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 UrlReturPakkeshop
+ if PanelValg6.Enabled = true then
+ begin
+ TjekkerEnkeltUrl('UrlReturPakkeshop', UrlReturPakkeshop, urlFejl);
+ end;
- // Tjekker UrlPakkeshopManglendeReturScanninger
- if PanelValg6.Enabled = true then
- begin
- if CheckUrl(UrlPakkeshopManglendeReturScanninger) then
- begin
- logTekst := 'UrlPakkeshopManglendeReturScanninger accepteret: ' + UrlPakkeshopManglendeReturScanninger;
- SkrivScanningLogFil(logTekst);
- end
- else
- begin
- inc(urlFejl); // Optæller antal fejl
- logTekst := 'UrlPakkeshopManglendeReturScanninger svarer ikke: ' + UrlPakkeshopManglendeReturScanninger;
- 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 UrlManglendeScanninger
+ if (PanelValg1.Enabled = true) or (PanelValg4.Enabled = true) then
+ begin
+ TjekkerEnkeltUrl('UrlManglendeScanninger', UrlManglendeScanninger, urlFejl);
+ end;
- // Tjekker UrlEKLoverforsel
- if PanelValg1.Enabled = true then
- begin
- if CheckUrl(UrlEKLoverforsel) then
- begin
- logTekst := 'UrlEKLoverforsel accepteret: ' + UrlEKLoverforsel;
- SkrivScanningLogFil(logTekst);
- end
- else
- begin
- inc(urlFejl); // Optæller antal fejl
- logTekst := 'UrlEKLoverforsel svarer ikke: ' + UrlEKLoverforsel;
- 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 UrlPakkeshopManglendeScanninger
+ if PanelValg5.Enabled = true then
+ begin
+ TjekkerEnkeltUrl('UrlPakkeshopManglendeScanninger', UrlPakkeshopManglendeScanninger, urlFejl);
+ end;
-// 20150330: start
- // Tjekker UrlEKLoverforselPakkeshop
- if PanelValg5.Enabled = true then
- begin
- if CheckUrl(UrlEKLoverforselPakkeshop) then
- begin
- logTekst := 'UrlEKLoverforselPakkeshop accepteret: ' + UrlEKLoverforselPakkeshop;
- SkrivScanningLogFil(logTekst);
- end
- else
- begin
- inc(urlFejl); // Optæller antal fejl
- logTekst := 'UrlEKLoverforselPakkeshop svarer ikke: ' + UrlEKLoverforselPakkeshop;
- 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;
-// 20150330: slut
+ // Tjekker UrlPakkeshopManglendeReturScanninger
+ if PanelValg6.Enabled = true then
+ begin
+ TjekkerEnkeltUrl('UrlPakkeshopManglendeReturScanninger', UrlPakkeshopManglendeReturScanninger, urlFejl);
+ end;
- // Tjekker UrlFindPakketype
- if CheckUrl(UrlFindPakketype) then
- begin
- logTekst := 'UrlFindPakketype accepteret: ' + UrlFindPakketype;
- SkrivScanningLogFil(logTekst);
- end
- else
- begin
- inc(urlFejl); // Optæller antal fejl
- logTekst := 'UrlFindPakketype svarer ikke: ' + UrlFindPakketype;
- 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;
+ // Tjekker UrlIndleveringsPakke og UrlIndleveringsPakkeManglendeScanninger
+ if PanelValg7.Enabled = true then
+ begin
+ TjekkerEnkeltUrl('UrlIndleveringsPakke', UrlIndleveringsPakke, urlFejl);
+ TjekkerEnkeltUrl('UrlIndleveringsPakkeManglendeScanninger', UrlIndleveringsPakkeManglendeScanninger, urlFejl);
+ end;
- // Tjekker UrlSendPrograminfo
- if CheckUrl(UrlSendPrograminfo) then
- begin
- logTekst := 'UrlSendPrograminfo accepteret: ' + UrlSendPrograminfo;
- SkrivScanningLogFil(logTekst);
- end
- else
- begin
- inc(urlFejl); // Optæller antal fejl
- logTekst := 'UrlSendPrograminfo svarer ikke: ' + UrlSendPrograminfo;
- 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;
+ // Tjekker UrlEKLoverforsel
+ if PanelValg1.Enabled = true then
+ begin
+ TjekkerEnkeltUrl('UrlEKLoverforsel', UrlEKLoverforsel, urlFejl);
+ end;
- if urlFejl > 0 then
- begin
- TjekUrls := '-'; // markerer at der var fejl
- end
- else
- begin
- logTekst := 'urls er ok';
- ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);
- SkrivScanningLogFil(logTekst);
- end;
+ // Tjekker UrlEKLoverforselPakkeshop
+ if PanelValg5.Enabled = true then
+ begin
+ TjekkerEnkeltUrl('UrlEKLoverforselPakkeshop', UrlEKLoverforselPakkeshop, urlFejl);
+ end;
+
+
+ // Tjekker UrlFindPakketype
+ TjekkerEnkeltUrl('UrlFindPakketype', UrlFindPakketype, urlFejl);
+
+ // Tjekker UrlSendPrograminfo
+ TjekkerEnkeltUrl('UrlSendPrograminfo', UrlSendPrograminfo, urlFejl);
+
+
+
+ logTekst := 'urls er ok';
+ ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);
+ SkrivScanningLogFil(logTekst);
+
+ Except
+ TjekUrls := '-'; // markerer at der var fejl
+
+ end;
end;
-function TMainForm.FileTime2DateTime(FileTime: TFileTime): TDateTime;
-var
- LocalFileTime: TFileTime;
- SystemTime: TSystemTime;
+procedure TMainForm.TjekkerEnkeltUrl(UrlNavn: String; Url: String; var urlFejl: integer);
+const
+ crlf = Chr(13) + Chr(10) ; // Carriage return & Linefeed
begin
- FileTimeToLocalFileTime(FileTime, LocalFileTime) ;
- FileTimeToSystemTime(LocalFileTime, SystemTime) ;
- Result := SystemTimeToDateTime(SystemTime) ;
+ if TUtils.CheckUrl(Url) then
+
+ begin
+ logTekst := UrlNavn + ' accepteret: ' + Url;
+ SkrivScanningLogFil(logTekst);
+ end
+ else
+ begin
+ inc(urlFejl); // Optæller antal fejl
+ logTekst := UrlNavn + ' svarer ikke: ' + Url;
+ 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;
+
+ raise Exception.Create('UrlFejl');
+
+ end;
+ end;
+
end;
+
+
procedure TMainForm.SletLogfiler(Path: string; FileList: TStrings);
var
SR: TSearchRec;
@@ -3342,9 +2749,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)
@@ -3381,11 +2789,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 := '';
@@ -3403,17 +2811,7 @@
// MainForm.Color := HexToTColor(Farve);
if Farve <> '' then
begin
- MainForm.Color := HexToTColor(Farve);
-// 20150312: start
-(*
- end
- else
- begin
- ShowMessage('Programmet afbrydes...');
- UrlSendPrograminfo := ''; // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut
- Application.Terminate;
-*)
-// 20150312: slut
+ MainForm.Color := TUtils.HexToTColor(Farve);
end;
if (Budlevering1.Checked) then
begin
@@ -3477,27 +2875,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);
@@ -3514,7 +2899,6 @@
BoghandlerNavn : String;
Koreliste : String;
Falsk : Boolean;
- Sand : Boolean;
SmsKode : String;
DBKbane : String;
Leveringssted : String;
@@ -3536,12 +2920,12 @@
// Her kommer en alarm og rød skærm
PlaySound(PWideChar(AlarmLyd));
MainForm.Color := clRed;
- PakkeshopNulstil.Visible := true;
+ btnNulstil.Visible := true;
end
else
begin
Falsk := False;
- Sand := True;
+
HentPakkeInfoFraServer(Sted,'111111111100000', RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk, '');
UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, '');
SmsKode := '999999';
@@ -3561,7 +2945,6 @@
BoghandlerNavn : String;
Koreliste : String;
Falsk : Boolean;
- Sand : Boolean;
SmsKode : String;
DBKbane : String;
Leveringssted : String;
@@ -3570,9 +2953,9 @@
Kommentar := '***** Kommentar *****';
BoghandlerNavn := 'Modtagernavn';
Falsk := False;
- Sand := True;
- if (Printer.Printers.Count = 0) then
+
+ if (LabelPrint.GetPrinterCount() = 0) then
begin
ShowMessage('Der er ikke installeret en printer på denne PC.');
end
@@ -3587,7 +2970,7 @@
DBKbane := '999';
Leveringssted := 'XXX';
PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);
- CheckPrintQue('Test');
+ LabelPrint.CheckPrintQue('Test', PrinterNavn);
end;
FocusControl(StregkodeST);
end;
@@ -3596,7 +2979,7 @@
begin
if (TjekPrinter = '1') then
begin
- CheckPrintQue('Timer');
+ LabelPrint.CheckPrintQue('Timer', PrinterNavn);
end
else
begin
@@ -3605,36 +2988,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
@@ -3643,7 +2997,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;
@@ -3665,12 +3019,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;
@@ -3738,7 +3092,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);
@@ -3762,14 +3116,14 @@
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);
end
else
begin
- ShowMessage('Acrobat Reader er ikke installeret!');
+ ShowMessage('Adobe Reader er ikke installeret!');
end;
end
else
@@ -3778,6 +3132,13 @@
end;
end;
+procedure TMainForm.menuIndleveringClick(Sender: TObject);
+begin
+ Scanningtype := '7';
+ NulstilAutomatiskValg();
+ InitIndleveringskode();
+end;
+
procedure TMainForm.Sprgefterboghandlernummer1Click(Sender: TObject);
begin
@@ -3810,7 +3171,7 @@
procedure TMainForm.InitNatxpresslevering();
begin
AutomatiskTjekkodeStyring1.Enabled := true;
- PakkeshopNulstil.Visible := false;
+ btnNulstil.Visible := false;
Pakkernormal1.Checked := true;
InitForm(FarveNormal,TitelNormal,UrlNormal);
PanelValg1.Color := clGreen;
@@ -3825,13 +3186,17 @@
Sprgefterboghandlernummer1.Enabled := true;
Smpakker1.Enabled := false;
Storepakker1.Enabled := false;
- RadioButton1.Enabled := false;
- RadioButton2.Enabled := false;
+ radioStorPakke.Enabled := false;
+ radioLillePakke.Enabled := false;
ListBox1.Visible := true;
- OpdaterListenButton01.Enabled := true;
- EKLoverforsel.Enabled := true;
+ BtnOpdaterListen.Enabled := true;
+ BtnEKLoverforsel.Enabled := true;
InitLillePakke();
ListBox1.Items.Clear;
+
+ chkForstorTilDirekte.Checked := false;
+ chkForstorTilDirekte.Enabled := false;
+
if BladhusSted = 0 then
begin
IndlesScanningLogFil();
@@ -3843,7 +3208,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;
@@ -3857,12 +3222,16 @@
Sprgefterboghandlernummer1.Enabled := false;
Smpakker1.Enabled := true;
Storepakker1.Enabled := true;
- RadioButton1.Enabled := true;
- RadioButton2.Enabled := true;
+ radioStorPakke.Enabled := true;
+ radioLillePakke.Enabled := true;
ListBox1.Visible := true;
ListBox1.Items.Clear;
ListBox2.Items.Clear;
- EKLoverforsel.Enabled := false;
+ BtnEKLoverforsel.Enabled := false;
+
+ chkForstorTilDirekte.Checked := false;
+ chkForstorTilDirekte.Enabled := false;
+
InitLillePakke();
end;
@@ -3870,7 +3239,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;
@@ -3883,12 +3252,16 @@
Sprgefterboghandlernummer1.Enabled := false;
Smpakker1.Enabled := true;
Storepakker1.Enabled := true;
- RadioButton1.Enabled := true;
- RadioButton2.Enabled := true;
+ radioStorPakke.Enabled := true;
+ radioLillePakke.Enabled := true;
ListBox1.Visible := true;
ListBox1.Items.Clear;
ListBox2.Items.Clear;
- EKLoverforsel.Enabled := false;
+ BtnEKLoverforsel.Enabled := false;
+
+ chkForstorTilDirekte.Checked := false;
+ chkForstorTilDirekte.Enabled := false;
+
InitLillePakke();
end;
@@ -3896,7 +3269,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;
@@ -3910,16 +3283,20 @@
Sprgefterboghandlernummer1.Enabled := false;
Smpakker1.Enabled := true;
Storepakker1.Enabled := true;
- RadioButton1.Enabled := true;
- RadioButton2.Enabled := true;
+ radioStorPakke.Enabled := true;
+ radioLillePakke.Enabled := true;
ListBox1.Visible := true;
ListBox1.Items.Clear;
- DownloadButton01.Enabled := false;
- OpdaterListenButton01.Enabled := true;
- DownloadButton03.Visible := false;
- EKLoverforsel.Enabled := false;
+ BtnDownloadKontrolfil.Enabled := false;
+ BtnOpdaterListen.Enabled := true;
+ BtnDownloadRuteskiftFil.Visible := false;
+ BtnEKLoverforsel.Enabled := false;
IdFTP1.Passive := true;
IdFTP1.PassiveUseControlHost := true;
+
+ chkForstorTilDirekte.Checked := false;
+ chkForstorTilDirekte.Enabled := true;
+
if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then
begin
IndlesScanningLogFil();
@@ -3932,7 +3309,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;
@@ -3946,16 +3323,18 @@
Sprgefterboghandlernummer1.Enabled := false;
Smpakker1.Enabled := false;
Storepakker1.Enabled := false;
- RadioButton1.Enabled := false;
- RadioButton2.Enabled := false;
+ radioStorPakke.Enabled := false;
+ radioLillePakke.Enabled := false;
ListBox1.Visible := true;
ListBox1.Items.Clear;
- DownloadButton01.Enabled := false;
- OpdaterListenButton01.Enabled := true;
-// 20150330: start
-// EKLoverforsel.Enabled := false;
- EKLoverforsel.Enabled := true;
-// 20150330: slut
+ BtnDownloadKontrolfil.Enabled := false;
+ BtnOpdaterListen.Enabled := true;
+
+ BtnEKLoverforsel.Enabled := true;
+
+ chkForstorTilDirekte.Checked := false;
+ chkForstorTilDirekte.Enabled := true;
+
InitLillePakke();
IndlesScanningLogFil();
if BladhusSted = 0 then
@@ -3970,7 +3349,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;
@@ -3984,13 +3363,18 @@
Sprgefterboghandlernummer1.Enabled := false;
Smpakker1.Enabled := false;
Storepakker1.Enabled := false;
- RadioButton1.Enabled := false;
- RadioButton2.Enabled := false;
+ radioStorPakke.Enabled := false;
+ radioLillePakke.Enabled := false;
ListBox1.Visible := true;
ListBox1.Items.Clear;
- DownloadButton01.Enabled := false;
- OpdaterListenButton01.Enabled := true;
- EKLoverforsel.Enabled := false;
+ BtnDownloadKontrolfil.Enabled := false;
+ BtnOpdaterListen.Enabled := true;
+ BtnEKLoverforsel.Enabled := false;
+
+ chkForstorTilDirekte.Checked := false;
+ chkForstorTilDirekte.Enabled := false;
+
+
InitLillePakke();
IndlesScanningLogFil();
if BladhusSted = 0 then
@@ -4010,10 +3394,11 @@
procedure TMainForm.InitIndleveringskode();
begin
+ menuIndlevering.Checked := true;
AutomatiskTjekkodeStyring1.Enabled := false;
- Returpakkerfrapakkeshop1.Checked := true;
- PakkeshopNulstil.Visible := false;
- InitForm(FarveReturPakkeshop,TitelReturPakkeshop,UrlReturPakkeshop);
+
+ btnNulstil.Visible := false;
+ InitForm(FarveIndlevering, TitelIndlevering, UrlReturPakkeshop);
PanelValg7.Color := clGreen;
PanelValg7.Font.Color := clWhite;
@@ -4022,17 +3407,26 @@
Altidprintepakkelabel1.Checked := false;
Sprgefterboghandlernummer1.Checked := false;
- chkSporgEfterKunde.Checked := false;
Sprgefterboghandlernummer1.Enabled := false;
+ chkSporgEfterKunde.Checked := false;
+
+
+
Smpakker1.Enabled := false;
Storepakker1.Enabled := false;
- RadioButton1.Enabled := false;
- RadioButton2.Enabled := false;
+ radioStorPakke.Enabled := false;
+ radioLillePakke.Enabled := false;
ListBox1.Visible := true;
- ListBox1.Items.Clear;
- DownloadButton01.Enabled := false;
- OpdaterListenButton01.Enabled := true;
- EKLoverforsel.Enabled := false;
+ ListBox1.Items.Clear();
+
+ BtnDownloadKontrolfil.Enabled := false;
+ BtnOpdaterListen.Enabled := true;
+ BtnEKLoverforsel.Enabled := false;
+
+ chkForstorTilDirekte.Checked := false;
+ chkForstorTilDirekte.Enabled := false;
+
+
InitLillePakke();
IndlesScanningLogFil();
if BladhusSted = 0 then
@@ -4056,88 +3450,21 @@
procedure TMainForm.InitLillePakke();
begin
- RadioButton2.Checked := true;
+ radioLillePakke.Checked := true;
Smpakker1.Checked := true;
-// 20150310: start
// Stregkode := '';
-// 20150310: slut
end;
procedure TMainForm.InitStorPakke();
begin
- RadioButton1.Checked := true;
+ radioStorPakke.Checked := true;
Storepakker1.Checked := true;
// 20150310: start
// Stregkode := '';
// 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
@@ -4162,7 +3489,6 @@
procedure TMainForm.Testlyd2Click(Sender: TObject);
begin
-// 20150317: start
if (PakkeshopText1.Caption = 'Tjekkode') then
begin
if ScannetOkTilTjekkodeLyd <> '' then
@@ -4175,7 +3501,6 @@
end;
exit;
end;
-// 20150317: slut
if Smpakker1.Checked then
if ScannetOkLyd <> '' then
@@ -4184,10 +3509,7 @@
end
else
begin
-// 20150317: start
-// MessageBox(Handle, PWideChar('Lyd fil ikke fundet (scannet)'), 'Information', MB_OK);
MessageBox(Handle, PWideChar('Lyd fil ikke fundet (ScannetOkLyd)'), 'Information', MB_OK);
-// 20150317: slut
end;
if Storepakker1.Checked then
if ScannetOkStorLyd <> '' then
@@ -4196,10 +3518,7 @@
end
else
begin
-// 20150317: start
-// MessageBox(Handle, PWideChar('Lyd fil ikke fundet (scannet stor)'), 'Information', MB_OK);
MessageBox(Handle, PWideChar('Lyd fil ikke fundet (ScannetOkStorLyd)'), 'Information', MB_OK);
-// 20150317: slut
end;
end;
@@ -4216,7 +3535,7 @@
CheckCode();
end;
-procedure TMainForm.EKLoverforselClick(Sender: TObject);
+procedure TMainForm.BtnEKLoverforselClick(Sender: TObject);
var
WebSvar : String;
URLStr : String;
@@ -4226,19 +3545,19 @@
status, kommentar : String;
begin
- EKLoverforsel.Enabled := false;
+ BtnEKLoverforsel.Enabled := false;
ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Overfører de scannede pakker til EKL');
logTekst := 'Overfører de scannede pakker til EKL';
SkrivScanningLogFil(logTekst);
StedKode := Sted;
URLStr := Format(UrlEKLoverforsel,[StedKode,Sted]);
-// 20150330: start
+
if PanelValg5.Color = clGreen then
begin
URLStr := Format(UrlEKLoverforselPakkeshop,[StedKode,Sted]);
end;
-// 20150330: slut
+
try
//raise EIdConnClosedGracefully.Create('test'); // KUN TIL TEST
@@ -4289,7 +3608,7 @@
end;
end;
- EKLoverforsel.Enabled := true;
+ BtnEKLoverforsel.Enabled := true;
ListBox1.SetFocus; // for at flytte fokus væk fra knappen så denne ikke aktiveres ved scanning / indtastning af stregkode
@@ -4306,7 +3625,7 @@
BoghandlerNavnST.Caption := 'Prøv venligst igen om lidt...';
end;
KommentarST.Caption := Kommentar;
- PakkeshopNulstil.Visible := true;
+ btnNulstil.Visible := true;
end;
end;
@@ -4330,7 +3649,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();
@@ -4338,45 +3657,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 ***
@@ -4854,13 +4134,13 @@
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
end;
-procedure TMainForm.OpdaterListenButton01Click(Sender: TObject);
+procedure TMainForm.BtnOpdaterListenClick(Sender: TObject);
const
crlf = Chr(13) + Chr(10) ; // Carriage return & Linefeed
@@ -4869,7 +4149,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
@@ -4878,19 +4158,7 @@
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;
-var
- S2: string;
-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 = '';
-end;
+
procedure TMainForm.IndlesManglendeScanninger();
var
@@ -4902,16 +4170,25 @@
stregkode, modtagernavn, modtageradresse, kommentar : string;
pakketype, tjekkodestatus : String;
pakketypeix, antalLiniefelter, antalFelterFundet, linienr : Integer;
- pakketyper : TStrings;
+ //pakketyper : TStrings;
+ pakketyper : TDictionary;
+ tmpAntal : Integer;
+
+
+
antlin : Integer;
-// 20150306: start
+
antlinIdag, antlinSenere : Integer;
-// 20150306: slut
- XmlFelter : TStrings;
+
+ //XmlFelter : TStrings;
+ XmlFelter : TDictionary;
begin
- XmlFelter := TStringList.Create;
- pakketyper := TStringList.Create;
+
+
+ XmlFelter := TDictionary.Create;
+ pakketyper := TDictionary.Create;
+
linienr := 0;
ListBox2.Clear;
ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Henter oversigt over pakker der endnu ikke er modtaget');
@@ -4926,32 +4203,21 @@
StedKode := Sted;
end;
-// 20150310: start
-(*
- if Returpakkerfrapakkeshop1.Checked then
- begin
- URLStr := Format(UrlPakkeshopManglendeReturScanninger,[StedKode]);
- end
- else if Pakkeshoplevering1.Checked then
+ Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
+
+
+
+ if (Scanningtype = '7') then
begin
- URLStr := Format(UrlPakkeshopManglendeScanninger,[StedKode]);
+ URLStr := Format(UrlIndleveringsPakkeManglendeScanninger, [StedKode]);
end
- else if Pakkernormal1.Checked then
+ else if (Scanningtype = '6') then
begin
- URLStr := Format(UrlManglendeScanninger,[StedKode,'B2']);
- end
- else
- begin
- URLStr := Format(UrlManglendeScanninger,[StedKode,'A2']); // Budleveringer
- end;
-*)
- 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
@@ -4988,53 +4254,61 @@
try
XMLDocument1.LoadFromXML(WebSvar);
-// 20150206: start
+
antlin := 0;
antlinIdag := 0;
antlinSenere := 0;
-// 20150306: slut
- antalFelterFundet := 0;
+
for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin
Node:= XMLDocument1.DocumentElement.ChildNodes[I];
if Node.NodeType = ntElement then begin
if Node.NodeName = 'Stregkode' then
begin
- antlin := antlin + 1;
+ Inc(antlin);
// 20150306: start
if not VarIsNull(Node.NodeValue) then
begin
if (pos('(', Node.NodeValue) = 0) then
begin
- antlinIdag := antlinIdag + 1;
+ Inc(antlinIdag);
end
else
begin
- antlinSenere := antlinSenere + 1;
+ Inc(antlinSenere);
end;
end;
// 20150306: slut
end;
end;
- if (XmlFelter.values[Node.NodeName] <> '') then
- XmlFelter.values[Node.NodeName] := IntToStr(StrToInt(XmlFelter.values[Node.NodeName]) + 1)
+ if ( XmlFelter.ContainsKey(Node.NodeName) ) then
+ begin
+ XmlFelter.TryGetValue(Node.NodeName, tmpAntal);
+ XmlFelter.AddOrSetValue(Node.NodeName, tmpAntal + 1);
+ end
else
- XmlFelter.values[Node.NodeName] := '1';
+ begin
+ XmlFelter.Add(Node.NodeName, 1);
+ end;
end;
antalLiniefelter := XmlFelter.Count;
antalFelterFundet := 0;
SetLength(stregkoderMedTjekkodeArray, 0); // reset fra tidligere brug
SetLength(stregkoderMedTjekkodeArray, antlin); // sæt antal elementer i array
-// 20150206: start
-// logTekst := 'Der er '+IntToStr(antlin)+' pakker, der endnu ikke er modtaget.';
+
+
+ Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
+
logTekst := 'Der er ' + IntToStr(antlin) + ' pakker, der endnu ikke er modtaget';
if (antlinSenere > 0) then
begin
logTekst := logTekst + ' (' + IntToStr(antlinIdag) + ' til i dag og ' + IntToStr(antlinSenere) + ' til senere)';
end;
logTekst := logTekst + '.';
-// 20150306: slut
+
SkrivScanningLogFil(logTekst);
+
+
for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin
Node:= XMLDocument1.DocumentElement.ChildNodes[I];
if Node.NodeType = ntElement then begin
@@ -5042,51 +4316,54 @@
if not VarIsNull(Node.NodeValue) then
stregkode := Node.NodeValue;
antalFelterFundet := antalFelterFundet + 1;
- end;
- if Node.NodeName = 'ModtagerNavn' then begin
+ end
+ else if Node.NodeName = 'ModtagerNavn' then begin
if not VarIsNull(Node.NodeValue) then
modtagernavn := Node.NodeValue;
antalFelterFundet := antalFelterFundet + 1;
- end;
- if Node.NodeName = 'ModtagerAdresse' then begin
+ end
+ else if Node.NodeName = 'ModtagerAdresse' then begin
if not VarIsNull(Node.NodeValue) then
modtageradresse := Node.NodeValue;
antalFelterFundet := antalFelterFundet + 1;
- end;
- if Node.NodeName = 'Kommentar' then begin
+ end
+ else if Node.NodeName = 'Kommentar' then begin
if not VarIsNull(Node.NodeValue) then
kommentar := Node.NodeValue;
antalFelterFundet := antalFelterFundet + 1;
- end;
- if Node.NodeName = 'PakkeType' then begin
+ end
+ else if Node.NodeName = 'PakkeType' then begin
if not VarIsNull(Node.NodeValue) then
pakketype := Node.NodeValue;
antalFelterFundet := antalFelterFundet + 1;
- if (pakketyper.values[pakketype] <> '') then
- pakketyper.values[pakketype] := IntToStr(StrToInt(pakketyper.values[pakketype]) + 1)
+ if ( pakketyper.ContainsKey(pakketype) ) then
+ begin
+ pakketyper.TryGetValue(pakketype, tmpAntal);
+ pakketyper.AddOrSetValue(pakketype, tmpAntal + 1);
+ end
else
- pakketyper.values[pakketype] := '1';
- end;
- if Node.NodeName = 'TjekkodeStatus' then begin
+ pakketyper.Add(pakketype, 1);
+ end
+ else if Node.NodeName = 'TjekkodeStatus' then begin
if not VarIsNull(Node.NodeValue) then
tjekkodestatus := Node.NodeValue;
antalFelterFundet := antalFelterFundet + 1;
if (tjekkodestatus = '-1') then
begin
-// 20150306: start
-// 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
stregkoderMedTjekkodeArray[linienr] := stregkode;
end;
-// 20150306: slut
- linienr := linienr + 1;
+ linienr := linienr + 1;
end;
end;
+
+
if antalFelterFundet = antalLiniefelter then
begin
if (ScanningType = '1') then
@@ -5102,14 +4379,22 @@
end;
end;
end;
- for pakketypeix := 0 to pakketyper.Count-1 do
- begin
- ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + ' '+pakketyper[pakketypeix]+' pakke(r) ikke modtaget');
- end;
- // Free up the list object
+
+ Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
+
+
+ for pakketype in pakketyper.Keys do
+ begin
+ pakketyper.TryGetValue(pakketype, tmpAntal);
+ ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + pakketype + ' ' + IntToStr(tmpAntal) + ' pakke(r) ikke modtaget');
+ end;
+
+ // Free up the dictionary object
pakketyper.Free;
-// 20150306: start
+
+
+
// ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Der er '+IntToStr(antlin)+' pakker, der endnu ikke er modtaget.');
logTekst := 'Der er ' + IntToStr(antlin) + ' pakker, der endnu ikke er modtaget';
if (antlinSenere > 0) then
@@ -5118,8 +4403,6 @@
end;
logTekst := logTekst + '.';
ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);
-// 20150306: slut
-// 20150309: start
if (antlinSenere > 0) then
begin
StaticTextManglendePakker.Caption := IntToStr(antlinIdag) + '/' + IntToStr(antlinSenere);
@@ -5128,9 +4411,7 @@
begin
StaticTextManglendePakker.Caption := IntToStr(antlinIdag);
end;
-// 20150309: slut
-// 20150310: start
if (Scanningtype = '1') then
begin
//antlinIdag := 9876; // til test af boksens udseende ved stort tal
@@ -5209,7 +4490,6 @@
PanelManglendePakker6.Visible := false;
end;
end;
-// 20150310: slut
except on e:exception do
begin
@@ -5271,12 +4551,10 @@
procedure TMainForm.SkrivScanningLogFil(var tekst : string);
var
SomeTxtFile : TextFile;
- buffer : string;
- S: string;
idag, imorgen : TDateTime;
imorgenYmd : string;
logFilnavn : string;
- error : Integer;
+ //error : Integer;
begin
if (SkrivLog = '1') then
@@ -5368,10 +4646,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
@@ -5445,10 +4723,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
@@ -5540,6 +4818,26 @@
result := svar;
end;
+procedure TMainForm.VisAlarmSkaerm(strMessage: string);
+begin
+ //ShowMessage('Ændring ikke tilladt');
+ // Her skal komme en 'rød skærm' alarm
+ PlaySound(PWideChar(AlarmLyd));
+ MainForm.Color := clRed;
+
+
+ RuteNummerST.Caption := '';
+ BoghandlerNavnST.Caption := '';
+ btnNulstil.Visible := true;
+
+ if (strMessage <> '') then
+ begin
+ ListBox1.Items.Insert(0, strMessage);
+ KommentarST.Caption := strMessage;
+ end;
+
+end;
+
function TMainForm.getProddato() : TDate;
var
idag, imorgen : TDateTime;
@@ -5597,212 +4895,53 @@
result := svar;
end;
-function TMainForm.GetCurrentPrinterHandle: THandle;
-var
- Device, Driver, Port: array[0..255] of Char;
- hDeviceMode: THandle;
-begin
- Printer.GetPrinter(Device, Driver, Port, hDeviceMode);
- if not OpenPrinter(@Device, Result, nil) then
- RaiseLastWin32Error;
-end;
-
-function TMainForm.SavePChar(p: PChar): PChar;
-const
- error: PChar = 'Nil';
-begin
- if not Assigned(p) then
- Result := error
- else
- Result := p;
-end;
procedure TMainForm.Scanogstjekkoden1Click(Sender: TObject);
begin
if Scanogstjekkoden1.Checked then
begin
- CheckBox3.Checked := true;
+ chkScanTjekkode.Checked := true;
end
else
begin
- CheckBox3.Checked := false;
+ chkScanTjekkode.Checked := false;
end;
end;
-function TMainForm.AdobeReaderExists: Boolean;
-var
- AReg: TRegistry;
+
+
+//Nedarvet fra IParentForm
+procedure TMainForm.LogMessage( msg : string);
begin
- result:= false;
- AReg := TRegistry.Create;
- AReg.RootKey := HKEY_LOCAL_MACHINE;
- if AReg.KeyExists('\SOFTWARE\Adobe\Acrobat Reader') then
- result:= True;
- AReg.Free;
+ ListBox1.Items.Insert(0, msg);
+ SkrivScanningLogFil(msg);
end;
-procedure TMainForm.CheckPrintQue(tjektype : string);
-type
- TJobs = array [0..1000] of JOB_INFO_1;
- PJobs = ^TJobs;
-var
- hPrinter: THandle;
- bytesNeeded, numJobs, i: Cardinal;
- pJ: PJobs;
- printerTxt, statusTxt, dokumentTxt: String;
-begin
-// tjektype = 'Opstart' skal vise alarmlinie, samt opdatere listbox1
-// 'Test' skal vise alarmlinie, samt opdatere listbox1
-// 'Timer' skal kun vise alarmlinie
+//Nedarvet fra IParentForm
+procedure TMainForm.SetPrinterstatusText( txt: string; alert: boolean);
+begin
- if (PrinterNavn = 'Ingen') and ( (tjektype = 'Opstart') or (tjektype = 'Test') ) then
- begin
- printerTxt := 'Der er fravalgt printer i dette program';
- ListBox1.Items.Insert(0,printerTxt);
- SkrivScanningLogFil(printerTxt);
- end
- else if (Printer.Printers.Count = 0) and ( (tjektype = 'Opstart') or (tjektype = 'Test') ) then
+ PrinterstatusStaticText1.Caption := txt;
+ if (alert) then
begin
- printerTxt := 'Der er ikke installeret en printer på denne PC';
- ListBox1.Items.Insert(0,printerTxt);
- SkrivScanningLogFil(printerTxt);
+ PrinterstatusStaticText1.Font.Color := clBlack;
+ PrinterstatusStaticText1.Color := MainForm.Color;
+ PrinterstatusStaticText1.Transparent := True;
end
else
begin
- hPrinter := GetCurrentPrinterHandle;
- try
- EnumJobs(hPrinter, 0, 1000, 1, nil, 0, bytesNeeded, numJobs);
- pJ := AllocMem(bytesNeeded);
- if not EnumJobs(hPrinter, 0, 1000, 1, pJ, bytesNeeded, bytesNeeded, numJobs) then
- RaiseLastWin32Error;
-
- if numJobs = 0 then
- begin
- if (tjektype = 'Test') then
- begin
- logTekst := printerTxt + ': Ingen dokumenter i kø';
- ListBox1.Items.Insert(0,logTekst);
- SkrivScanningLogFil(logTekst);
- end;
- PrinterstatusStaticText1.Caption := '';
- PrinterstatusStaticText1.Color := MainForm.Color;
- end
- else // så er der kø til printeren
- begin
- printerTxt := SavePChar(pJ^[0].pPrinterName);
- if (tjektype = 'Opstart') or (tjektype = 'Test') then
- begin
- logTekst := IntToStr(numJobs) + ' dokument(er) i kø til printer: ' + printerTxt;
- ListBox1.Items.Insert(0,logTekst);
- SkrivScanningLogFil(logTekst);
- end;
- for i := 0 to Pred(numJobs) do
- begin
- printerTxt := SavePChar(pJ^[i].pPrinterName);
- statusTxt := 'Ukendt';
- if (IntToStr(pJ^[i].Status) = '0') then
- statusTxt := 'Venter...';
- if (IntToStr(pJ^[i].Status) = '4096') then
- statusTxt := 'Printer...';
- if (IntToStr(pJ^[i].Status) = '8210') then
- statusTxt := 'Printerfejl';
- if (IntToStr(pJ^[i].Status) = '8214') then
- statusTxt := 'Sletter print...';
-
- dokumentTxt := SavePChar(pJ^[i].pDocument);
- if (dokumentTxt = '') then
- dokumentTxt := 'Uden navn';
-
- if (tjektype = 'Opstart') or (tjektype = 'Test') then
- begin
- logTekst := Format('Printer %s, Dokument %d: %s, Status (%d): %s',
- [printerTxt, i+1, dokumentTxt, pJ^[i].Status, statusTxt]);
- ListBox1.Items.Insert(0,logTekst);
- SkrivScanningLogFil(logTekst);
- end;
-
- if (i = 0) then
- begin
- PrinterstatusStaticText1.Caption := printerTxt + ': ' + IntToStr(numJobs) + ' dokument(er) in kø. Dokument status: ' + statusTxt;
- PrinterstatusStaticText1.Font.Color := clBlack;
- PrinterstatusStaticText1.Color := MainForm.Color;
- PrinterstatusStaticText1.Transparent := True;
- if (numJobs > 3) then
- begin
- PrinterstatusStaticText1.Font.Color := clRed;
- PrinterstatusStaticText1.Color := clWhite;
- PrinterstatusStaticText1.Transparent := true;
- end;
- end;
-
- end;
- end
- finally
- ClosePrinter(hPrinter);
- end;
+ PrinterstatusStaticText1.Font.Color := clRed;
+ PrinterstatusStaticText1.Color := clWhite;
+ PrinterstatusStaticText1.Transparent := true;
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;
+//Nedarvet fra IParentForm
+function TMainForm.GetFormObject() : TForm;
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;
+ Result := self;
end;
-// 20150310: slut
end.