You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
127 lines
2.6 KiB
127 lines
2.6 KiB
unit scanner; |
|
|
|
{$mode objfpc}{$H+} |
|
|
|
interface |
|
|
|
uses |
|
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtDlgs, |
|
StdCtrls; |
|
|
|
type |
|
|
|
{ TForm1 } |
|
|
|
TForm1 = class(TForm) |
|
ScnaButton: TButton; |
|
Product: TComboBox; |
|
Destination: TComboBox; |
|
FolderName: TLabel; |
|
Origin: TComboBox; |
|
TypeSelector: TComboBox; |
|
dateButton: TButton; |
|
DateSelector: TCalendarDialog; |
|
DateView: TLabel; |
|
procedure ProductChange(Sender: TObject); |
|
procedure DestinationChange(Sender: TObject); |
|
procedure dateButtonClick(Sender: TObject); |
|
procedure OriginChange(Sender: TObject); |
|
procedure ScnaButtonClick(Sender: TObject); |
|
procedure TypeSelectorChange(Sender: TObject); |
|
procedure UpdateTypes(); |
|
procedure UpdateFolder(); |
|
private |
|
date: TDateTime; |
|
public |
|
|
|
end; |
|
|
|
var |
|
Form1: TForm1; |
|
|
|
implementation |
|
|
|
{$R *.lfm} |
|
|
|
{ TForm1 } |
|
|
|
procedure TForm1.TypeSelectorChange(Sender: TObject); |
|
var |
|
state: boolean; |
|
begin |
|
TypeSelector.Tag:=1; |
|
state := TypeSelector.Text = 'Ticket'; |
|
Origin.Enabled:=state; |
|
Origin.Visible:=state; |
|
Destination.Enabled:=state; |
|
Product.Enabled:=not state; |
|
Product.Visible:=not state; |
|
UpdateFolder(); |
|
end; |
|
|
|
procedure TForm1.dateButtonClick(Sender: TObject); |
|
begin |
|
DateSelector.Execute; |
|
date := DateSelector.Date; |
|
DateView.Caption:=FormatDateTime('YYYY-MM-DD',date); |
|
UpdateTypes(); |
|
TypeSelector.enabled := true; |
|
UpdateFolder(); |
|
end; |
|
|
|
procedure TForm1.OriginChange(Sender: TObject); |
|
begin |
|
Origin.Tag := 1; |
|
UpdateFolder(); |
|
end; |
|
|
|
procedure TForm1.ScnaButtonClick(Sender: TObject); |
|
var |
|
config: TFileStream; |
|
filename: String; |
|
begin |
|
filename := GetEnvironmentVariable('HOME') + '/.config/belegscanner.conf'; |
|
FolderName.Caption:=filename; |
|
try |
|
config :=TFilestream.Create(filename, fmCreate); |
|
config.Write(filename[1],filename.Length); |
|
finally |
|
config.Free; |
|
end; |
|
|
|
|
|
end; |
|
|
|
procedure TForm1.DestinationChange(Sender: TObject); |
|
begin |
|
Destination.Tag := 1; |
|
UpdateFolder(); |
|
end; |
|
|
|
procedure TForm1.ProductChange(Sender: TObject); |
|
begin |
|
Product.Tag := 1; |
|
UpdateFolder(); |
|
end; |
|
|
|
procedure TForm1.UpdateFolder(); |
|
var |
|
tx: String; |
|
begin |
|
tx := FormatDateTime('YYYY-MM-DD',date); |
|
if (TypeSelector.Tag > 0) then tx := tx + ' - ' + TypeSelector.Text; |
|
if (Origin.Enabled AND (Origin.Tag > 0)) then tx := tx + ': ' + Origin.Text; |
|
if (Destination.Enabled AND (Destination.Tag > 0)) then tx := tx + ' - ' + Destination.Text; |
|
if (Product.Enabled AND (Product.Tag > 0)) then tx := tx + ' von ' + Product.Text; |
|
FolderName.Caption:=tx; |
|
end; |
|
|
|
procedure TForm1.UpdateTypes(); |
|
begin |
|
WriteLn('Test'); |
|
TypeSelector.Items.Clear; |
|
TypeSelector.Items.Add('Ticket'); |
|
end; |
|
|
|
end. |
|
|
|
|