initial commit
This commit is contained in:
BIN
Belegscanner.ico
Normal file
BIN
Belegscanner.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 134 KiB |
75
Belegscanner.lpi
Normal file
75
Belegscanner.lpi
Normal file
@@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<CONFIG>
|
||||
<ProjectOptions>
|
||||
<Version Value="10"/>
|
||||
<General>
|
||||
<SessionStorage Value="InProjectDir"/>
|
||||
<MainUnit Value="0"/>
|
||||
<Title Value="Belegscanner"/>
|
||||
<ResourceType Value="res"/>
|
||||
<UseXPManifest Value="True"/>
|
||||
<Icon Value="0"/>
|
||||
</General>
|
||||
<VersionInfo>
|
||||
<StringTable ProductVersion=""/>
|
||||
</VersionInfo>
|
||||
<BuildModes Count="1">
|
||||
<Item1 Name="Default" Default="True"/>
|
||||
</BuildModes>
|
||||
<PublishOptions>
|
||||
<Version Value="2"/>
|
||||
</PublishOptions>
|
||||
<RunParams>
|
||||
<local>
|
||||
<FormatVersion Value="1"/>
|
||||
</local>
|
||||
</RunParams>
|
||||
<RequiredPackages Count="1">
|
||||
<Item1>
|
||||
<PackageName Value="LCL"/>
|
||||
</Item1>
|
||||
</RequiredPackages>
|
||||
<Units Count="2">
|
||||
<Unit0>
|
||||
<Filename Value="Belegscanner.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="Form1"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
</Unit1>
|
||||
</Units>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="11"/>
|
||||
<Target>
|
||||
<Filename Value="Belegscanner"/>
|
||||
</Target>
|
||||
<SearchPaths>
|
||||
<IncludeFiles Value="$(ProjOutDir)"/>
|
||||
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
|
||||
</SearchPaths>
|
||||
<Linking>
|
||||
<Options>
|
||||
<Win32>
|
||||
<GraphicApplication Value="True"/>
|
||||
</Win32>
|
||||
</Options>
|
||||
</Linking>
|
||||
</CompilerOptions>
|
||||
<Debugging>
|
||||
<Exceptions Count="3">
|
||||
<Item1>
|
||||
<Name Value="EAbort"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<Name Value="ECodetoolError"/>
|
||||
</Item2>
|
||||
<Item3>
|
||||
<Name Value="EFOpenError"/>
|
||||
</Item3>
|
||||
</Exceptions>
|
||||
</Debugging>
|
||||
</CONFIG>
|
||||
21
Belegscanner.lpr
Normal file
21
Belegscanner.lpr
Normal file
@@ -0,0 +1,21 @@
|
||||
program Belegscanner;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
uses
|
||||
{$IFDEF UNIX}{$IFDEF UseCThreads}
|
||||
cthreads,
|
||||
{$ENDIF}{$ENDIF}
|
||||
Interfaces, // this includes the LCL widgetset
|
||||
Forms, scanner
|
||||
{ you can add units after this };
|
||||
|
||||
{$R *.res}
|
||||
|
||||
begin
|
||||
RequireDerivedFormResource:=True;
|
||||
Application.Initialize;
|
||||
Application.CreateForm(TForm1, Form1);
|
||||
Application.Run;
|
||||
end.
|
||||
|
||||
178
Belegscanner.lps
Normal file
178
Belegscanner.lps
Normal file
@@ -0,0 +1,178 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<CONFIG>
|
||||
<ProjectSession>
|
||||
<Version Value="10"/>
|
||||
<BuildModes Active="Default"/>
|
||||
<Units Count="4">
|
||||
<Unit0>
|
||||
<Filename Value="Belegscanner.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<EditorIndex Value="-1"/>
|
||||
<WindowIndex Value="-1"/>
|
||||
<TopLine Value="-1"/>
|
||||
<CursorPos X="-1" Y="-1"/>
|
||||
<UsageCount Value="20"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="Form1"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<IsVisibleTab Value="True"/>
|
||||
<TopLine Value="51"/>
|
||||
<CursorPos X="51" Y="86"/>
|
||||
<UsageCount Value="20"/>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
<Filename Value="/usr/share/fpcsrc/3.0.4/rtl/objpas/sysutils/syshelph.inc"/>
|
||||
<EditorIndex Value="-1"/>
|
||||
<TopLine Value="252"/>
|
||||
<CursorPos X="14" Y="292"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit2>
|
||||
<Unit3>
|
||||
<Filename Value="/usr/lib/lazarus/1.8.2/lcl/extdlgs.pas"/>
|
||||
<UnitName Value="ExtDlgs"/>
|
||||
<EditorIndex Value="-1"/>
|
||||
<TopLine Value="175"/>
|
||||
<CursorPos X="29" Y="215"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit3>
|
||||
</Units>
|
||||
<JumpHistory Count="30" HistoryIndex="29">
|
||||
<Position1>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="64" Column="35"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="59" Column="26" TopLine="3"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="71" Column="42" TopLine="10"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="49" Column="3" TopLine="8"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="56" Column="3" TopLine="8"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="46" TopLine="6"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="25" Column="15"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="68" Column="27" TopLine="11"/>
|
||||
</Position8>
|
||||
<Position9>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="65" Column="3" TopLine="14"/>
|
||||
</Position9>
|
||||
<Position10>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="70" Column="6" TopLine="14"/>
|
||||
</Position10>
|
||||
<Position11>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="49" Column="33" TopLine="17"/>
|
||||
</Position11>
|
||||
<Position12>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="47" Column="26" TopLine="13"/>
|
||||
</Position12>
|
||||
<Position13>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="81" Column="61" TopLine="28"/>
|
||||
</Position13>
|
||||
<Position14>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="68" Column="3" TopLine="28"/>
|
||||
</Position14>
|
||||
<Position15>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="67" Column="19" TopLine="28"/>
|
||||
</Position15>
|
||||
<Position16>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="49" Column="29" TopLine="27"/>
|
||||
</Position16>
|
||||
<Position17>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="47" Column="3" TopLine="14"/>
|
||||
</Position17>
|
||||
<Position18>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="48" TopLine="13"/>
|
||||
</Position18>
|
||||
<Position19>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="49" Column="10" TopLine="16"/>
|
||||
</Position19>
|
||||
<Position20>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="81" Column="26" TopLine="28"/>
|
||||
</Position20>
|
||||
<Position21>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="64" Column="85" TopLine="4"/>
|
||||
</Position21>
|
||||
<Position22>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="66" Column="85" TopLine="4"/>
|
||||
</Position22>
|
||||
<Position23>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="84" Column="21" TopLine="38"/>
|
||||
</Position23>
|
||||
<Position24>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="95" Column="81" TopLine="38"/>
|
||||
</Position24>
|
||||
<Position25>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="96" Column="25" TopLine="42"/>
|
||||
</Position25>
|
||||
<Position26>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="95" Column="67" TopLine="42"/>
|
||||
</Position26>
|
||||
<Position27>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="79" Column="16" TopLine="42"/>
|
||||
</Position27>
|
||||
<Position28>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="101" Column="62" TopLine="44"/>
|
||||
</Position28>
|
||||
<Position29>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="84" Column="17" TopLine="51"/>
|
||||
</Position29>
|
||||
<Position30>
|
||||
<Filename Value="scanner.pas"/>
|
||||
<Caret Line="83" Column="76" TopLine="51"/>
|
||||
</Position30>
|
||||
</JumpHistory>
|
||||
</ProjectSession>
|
||||
<Debugging>
|
||||
<BreakPoints Count="1">
|
||||
<Item1>
|
||||
<Kind Value="bpkSource"/>
|
||||
<WatchScope Value="wpsLocal"/>
|
||||
<WatchKind Value="wpkWrite"/>
|
||||
<Source Value="scanner.pas"/>
|
||||
<Line Value="127"/>
|
||||
</Item1>
|
||||
</BreakPoints>
|
||||
</Debugging>
|
||||
</CONFIG>
|
||||
BIN
Belegscanner.res
Normal file
BIN
Belegscanner.res
Normal file
Binary file not shown.
102
scanner.lfm
Normal file
102
scanner.lfm
Normal file
@@ -0,0 +1,102 @@
|
||||
object Form1: TForm1
|
||||
Left = 2207
|
||||
Height = 95
|
||||
Top = 221
|
||||
Width = 664
|
||||
Caption = 'Form1'
|
||||
ClientHeight = 95
|
||||
ClientWidth = 664
|
||||
LCLVersion = '1.8.2.0'
|
||||
object DateView: TLabel
|
||||
Left = 8
|
||||
Height = 19
|
||||
Top = 8
|
||||
Width = 150
|
||||
Caption = 'Datum auswählen!'
|
||||
Font.Height = -16
|
||||
Font.Name = 'Sans'
|
||||
ParentColor = False
|
||||
ParentFont = False
|
||||
end
|
||||
object dateButton: TButton
|
||||
Left = 232
|
||||
Height = 25
|
||||
Top = 8
|
||||
Width = 75
|
||||
Caption = 'ändern'
|
||||
OnClick = dateButtonClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object TypeSelector: TComboBox
|
||||
Left = 8
|
||||
Height = 29
|
||||
Top = 32
|
||||
Width = 216
|
||||
Enabled = False
|
||||
ItemHeight = 0
|
||||
OnChange = TypeSelectorChange
|
||||
TabOrder = 1
|
||||
Text = 'Select Type'
|
||||
end
|
||||
object Origin: TComboBox
|
||||
Left = 232
|
||||
Height = 29
|
||||
Top = 32
|
||||
Width = 184
|
||||
Enabled = False
|
||||
ItemHeight = 0
|
||||
OnChange = OriginChange
|
||||
TabOrder = 2
|
||||
Text = 'Start'
|
||||
end
|
||||
object Destination: TComboBox
|
||||
Left = 424
|
||||
Height = 29
|
||||
Top = 32
|
||||
Width = 196
|
||||
Enabled = False
|
||||
ItemHeight = 0
|
||||
OnChange = DestinationChange
|
||||
TabOrder = 3
|
||||
Text = 'Ziel'
|
||||
end
|
||||
object FolderName: TLabel
|
||||
Left = 8
|
||||
Height = 19
|
||||
Top = 64
|
||||
Width = 103
|
||||
Caption = 'Ordnername'
|
||||
Font.Height = -16
|
||||
Font.Name = 'Sans'
|
||||
ParentColor = False
|
||||
ParentFont = False
|
||||
end
|
||||
object Product: TComboBox
|
||||
Left = 232
|
||||
Height = 29
|
||||
Top = 32
|
||||
Width = 184
|
||||
Enabled = False
|
||||
ItemHeight = 0
|
||||
OnChange = ProductChange
|
||||
TabOrder = 4
|
||||
Text = 'Produkt'
|
||||
Visible = False
|
||||
end
|
||||
object ScnaButton: TButton
|
||||
Left = 320
|
||||
Height = 25
|
||||
Top = 8
|
||||
Width = 75
|
||||
Caption = 'scannen!'
|
||||
OnClick = ScnaButtonClick
|
||||
TabOrder = 5
|
||||
end
|
||||
object DateSelector: TCalendarDialog
|
||||
Date = 43775
|
||||
OKCaption = '&Ok'
|
||||
CancelCaption = 'Abbrechen'
|
||||
left = 472
|
||||
top = 8
|
||||
end
|
||||
end
|
||||
127
scanner.pas
Normal file
127
scanner.pas
Normal file
@@ -0,0 +1,127 @@
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user