summaryrefslogtreecommitdiff
path: root/epostunit.pas
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2016-03-10 14:01:15 +0100
committerErich Eckner <git@eckner.net>2016-03-10 14:01:15 +0100
commited166b777843f1cc5e9833858fd537f6a875810c (patch)
tree7e1d79da4d5c61251683a1eea00e80ab007a3ee1 /epostunit.pas
parente70d315d5f75fd6f46ce8d84ef9a0abf813e6ca3 (diff)
downloadepost-ed166b777843f1cc5e9833858fd537f6a875810c.tar.xz
findeAlleDateien aufgeräumt
Diffstat (limited to 'epostunit.pas')
-rw-r--r--epostunit.pas36
1 files changed, 11 insertions, 25 deletions
diff --git a/epostunit.pas b/epostunit.pas
index c94a12c..97906a6 100644
--- a/epostunit.pas
+++ b/epostunit.pas
@@ -786,34 +786,19 @@ end;
function tWerte.findeAlleDateien(nam: string; var dat: tGenerischeInputDateiInfoArray; Vorlage: tGenerischeInputDateiInfo): boolean;
var
- err: longint;
- s,prae,post: string;
- i,mi,ma: longint;
- sr: tSearchRec;
+ err: longint;
+ i: longint;
+ sr: tSearchRec;
+ sa: tMyStringList;
begin
result:=false;
- if pos('{',nam)>0 then begin
- s:=copy(nam,pos('{',nam)+1,pos('}',nam)-pos('{',nam)-1);
- if pos('..',s)=0 then begin
- gibAus('Syntaxfehler im Dateinamen!',3);
- exit;
- end;
- mi:=strtoint(copy(s,1,pos('..',s)-1));
- ma:=strtoint(copy(s,pos('..',s)+length('..'),length(s)));
- prae:=copy(nam,1,pos('{',nam)-1);
- post:=copy(nam,pos('}',nam)+1,length(nam));
- for i:=mi to ma do
- result:=findeAlleDateien(prae+inttostr(i)+post,dat,Vorlage) or result;
- if not result then begin
- gibAus('Keine Datei passt zum Muster '''+nam+'''!',3);
- exit;
- end;
- end
- else begin
- err:=findfirst(nam,$3f,sr);
+ shellExpand(nam,sa);
+ for i:=0 to sa.count-1 do begin
+ err:=findfirst(sa[i],$3f,sr);
if err<>0 then begin
findclose(sr);
- gibAus('Keine Datei passt zum Muster '''+nam+'''!',3);
+ sa.free;
+ gibAus('Keine Datei passt zum Muster '''+sa[i]+'''!',3);
exit;
end;
while err=0 do begin
@@ -830,8 +815,9 @@ begin
err:=findnext(sr);
end;
findclose(sr);
- result:=true;
end;
+ sa.free;
+ result:=true;
end;
function tWerte.ermittleExterneInputParameter(var f: tMyStringlist; out dateien: tGenerischeInputDateiInfoArray): boolean;