Browse Source

Veränderungen vorgenommen, so dass sich das Programm auch für andere Belege und Ordner eignet

main
Stephan Richter 6 years ago
parent
commit
6871e4ff04
  1. 62
      Belegscanner.lps
  2. 23
      scanner.pas

62
Belegscanner.lps

@ -19,7 +19,7 @@
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/> <IsVisibleTab Value="True"/>
<TopLine Value="205"/> <TopLine Value="205"/>
<CursorPos X="18" Y="251"/> <CursorPos X="53" Y="234"/>
<UsageCount Value="29"/> <UsageCount Value="29"/>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/> <LoadedDesigner Value="True"/>
@ -81,123 +81,123 @@
<JumpHistory Count="30" HistoryIndex="29"> <JumpHistory Count="30" HistoryIndex="29">
<Position1> <Position1>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="206" Column="9" TopLine="166"/> <Caret Line="102" TopLine="46"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="195" Column="61" TopLine="166"/> <Caret Line="104" TopLine="48"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="193" Column="21" TopLine="153"/> <Caret Line="229" Column="112" TopLine="209"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="194" Column="19" TopLine="153"/> <Caret Line="23" Column="29" TopLine="4"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="193" Column="21" TopLine="154"/> <Caret Line="29" Column="80"/>
</Position5> </Position5>
<Position6> <Position6>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="195" Column="11" TopLine="154"/> <Caret Line="75" Column="128"/>
</Position6> </Position6>
<Position7> <Position7>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="210" Column="29" TopLine="176"/> <Caret Line="106" Column="12" TopLine="66"/>
</Position7> </Position7>
<Position8> <Position8>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="52" Column="26" TopLine="12"/> <Caret Line="108" Column="26" TopLine="68"/>
</Position8> </Position8>
<Position9> <Position9>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="124" Column="32" TopLine="69"/> <Caret Line="305" Column="38" TopLine="252"/>
</Position9> </Position9>
<Position10> <Position10>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="128" Column="15" TopLine="98"/> <Caret Line="306" Column="6" TopLine="252"/>
</Position10> </Position10>
<Position11> <Position11>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="56" Column="27" TopLine="16"/> <Caret Line="268" Column="157" TopLine="253"/>
</Position11> </Position11>
<Position12> <Position12>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="111" Column="28" TopLine="69"/> <Caret Line="316" Column="106" TopLine="254"/>
</Position12> </Position12>
<Position13> <Position13>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="124" Column="23" TopLine="70"/> <Caret Line="75" Column="30" TopLine="50"/>
</Position13> </Position13>
<Position14> <Position14>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="97" TopLine="79"/> <Caret Line="233" Column="73" TopLine="112"/>
</Position14> </Position14>
<Position15> <Position15>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="216" Column="3" TopLine="209"/> <Caret Line="235" Column="73" TopLine="155"/>
</Position15> </Position15>
<Position16> <Position16>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="102" TopLine="46"/> <Caret Line="340" TopLine="261"/>
</Position16> </Position16>
<Position17> <Position17>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="104" TopLine="48"/> <Caret Line="48" Column="25" TopLine="18"/>
</Position17> </Position17>
<Position18> <Position18>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="229" Column="112" TopLine="209"/> <Caret Line="143" Column="45" TopLine="102"/>
</Position18> </Position18>
<Position19> <Position19>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="23" Column="29" TopLine="4"/> <Caret Line="284" Column="33" TopLine="235"/>
</Position19> </Position19>
<Position20> <Position20>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="29" Column="80"/> <Caret Line="193" TopLine="153"/>
</Position20> </Position20>
<Position21> <Position21>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="75" Column="128"/> <Caret Line="192" Column="3" TopLine="190"/>
</Position21> </Position21>
<Position22> <Position22>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="106" Column="12" TopLine="66"/> <Caret Line="58" Column="27" TopLine="18"/>
</Position22> </Position22>
<Position23> <Position23>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="108" Column="26" TopLine="68"/> <Caret Line="187" Column="15" TopLine="114"/>
</Position23> </Position23>
<Position24> <Position24>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="305" Column="38" TopLine="252"/> <Caret Line="194" Column="15" TopLine="121"/>
</Position24> </Position24>
<Position25> <Position25>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="306" Column="6" TopLine="252"/> <Caret Line="200" Column="15" TopLine="127"/>
</Position25> </Position25>
<Position26> <Position26>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="268" Column="157" TopLine="253"/> <Caret Line="240" Column="15" TopLine="167"/>
</Position26> </Position26>
<Position27> <Position27>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="316" Column="106" TopLine="254"/> <Caret Line="250" Column="15" TopLine="177"/>
</Position27> </Position27>
<Position28> <Position28>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="75" Column="30" TopLine="50"/> <Caret Line="256" Column="15" TopLine="183"/>
</Position28> </Position28>
<Position29> <Position29>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="233" Column="73" TopLine="112"/> <Caret Line="262" Column="15" TopLine="189"/>
</Position29> </Position29>
<Position30> <Position30>
<Filename Value="scanner.pas"/> <Filename Value="scanner.pas"/>
<Caret Line="235" Column="73" TopLine="155"/> <Caret Line="331" Column="10" TopLine="265"/>
</Position30> </Position30>
</JumpHistory> </JumpHistory>
</ProjectSession> </ProjectSession>

23
scanner.pas

@ -55,7 +55,6 @@ type
procedure TypeSelectorChange(Sender: TObject); procedure TypeSelectorChange(Sender: TObject);
function ExportConfig(): string; function ExportConfig(): string;
function ExportOptions(dropDown: TComboBox): string; function ExportOptions(dropDown: TComboBox): string;
procedure UpdateTypes();
procedure UpdateFolder(); procedure UpdateFolder();
procedure MixLocations(d1: TComboBox; d2: TComboBox; d3: TComboBox); procedure MixLocations(d1: TComboBox; d2: TComboBox; d3: TComboBox);
private private
@ -97,6 +96,8 @@ begin
num := num +1; num := num +1;
fname := 'scan_'; fname := 'scan_';
if (num<10) then fname:=fname+'0'; if (num<10) then fname:=fname+'0';
if (num<100) then fname:=fname+'0';
if (num<1000) then fname:=fname+'0';
fname := fname+IntToStr(num)+'.jpg'; fname := fname+IntToStr(num)+'.jpg';
until not FileExists(folder+fname); until not FileExists(folder+fname);
fpSystem('scanimage -x '+IntToStr(s.x)+' -y '+IntToStr(s.y)+' --mode Color --resolution '+r+' --format jpeg > "'+folder+fname+'"'); fpSystem('scanimage -x '+IntToStr(s.x)+' -y '+IntToStr(s.y)+' --mode Color --resolution '+r+' --format jpeg > "'+folder+fname+'"');
@ -141,7 +142,8 @@ end;
function TScanForm.ExportConfig(): string; function TScanForm.ExportConfig(): string;
begin begin
Result := 'types:' + ExportOptions(TypeSelector) + #13; Result := 'folder:'+BaseFolder.Caption+#13;
Result := Result + 'types:' + ExportOptions(TypeSelector) + #13;
Result := Result + 'items:' + ExportOptions(Product) + #13; Result := Result + 'items:' + ExportOptions(Product) + #13;
MixLocations(Origin, Destination, Stop); MixLocations(Origin, Destination, Stop);
Result := Result + 'locations:' + ExportOPtions(Origin) + #13; Result := Result + 'locations:' + ExportOPtions(Origin) + #13;
@ -190,7 +192,6 @@ end;
procedure TScanForm.CalendarChange(Sender: TObject); procedure TScanForm.CalendarChange(Sender: TObject);
begin begin
date := Calendar.DateTime; date := Calendar.DateTime;
UpdateTypes();
TypeSelector.Enabled := True; TypeSelector.Enabled := True;
UpdateFolder(); UpdateFolder();
end; end;
@ -232,7 +233,7 @@ begin
finally finally
config.Free; config.Free;
end; end;
ScanThread.Create(ScanButton,BaseFolder.Caption+FolderName.Caption+'/',size,Resolution.Caption,Preview,DropButton); ScanThread.Create(ScanButton,BaseFolder.Caption+'/'+FolderName.Caption+'/',size,Resolution.Caption,Preview,DropButton);
end; end;
procedure TScanForm.StopChange(Sender: TObject); procedure TScanForm.StopChange(Sender: TObject);
@ -270,7 +271,7 @@ var
line: String; line: String;
index: integer; index: integer;
begin begin
BaseFolder.Caption:=GetEnvironmentVariable('HOME') + '/Documents/Quittungen/'; BaseFolder.Caption:=GetEnvironmentVariable('HOME');
filename := GetEnvironmentVariable('HOME') + '/.config/belegscanner.conf'; filename := GetEnvironmentVariable('HOME') + '/.config/belegscanner.conf';
lines := TStringList.Create; lines := TStringList.Create;
try try
@ -278,6 +279,11 @@ begin
for index := 0 to lines.Count-1 do for index := 0 to lines.Count-1 do
begin begin
line:=lines.Strings[index]; line:=lines.Strings[index];
if line.StartsWith('folder:') then
begin
line:=line.Substring(7);
BaseFolder.Caption:=line;
end;
if line.StartsWith('types:') then if line.StartsWith('types:') then
begin begin
line := line.Substring(6); line := line.Substring(6);
@ -324,7 +330,7 @@ procedure TScanForm.UpdateFolder();
var var
tx: string; tx: string;
begin begin
tx := FormatDateTime('YYYY', date) + '/' + FormatDateTime('YYYY-MM-DD', date) + ' - '; tx := FormatDateTime('YYYY-MM-DD', date) + ' - ';
if (Product.Enabled and (Product.Tag > 0) and not( Product.Text = '') and not (Product.Text = 'Produkt')) then if (Product.Enabled and (Product.Tag > 0) and not( Product.Text = '') and not (Product.Text = 'Produkt')) then
tx := tx + Product.Text + ' von '; tx := tx + Product.Text + ' von ';
if (TypeSelector.Tag > 0) then if (TypeSelector.Tag > 0) then
@ -338,9 +344,4 @@ begin
FolderName.Caption := tx; FolderName.Caption := tx;
end; end;
procedure TScanForm.UpdateTypes();
begin
end;
end. end.

Loading…
Cancel
Save