diff options
author | Erich Eckner <git@eckner.net> | 2016-03-10 14:01:15 +0100 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2016-03-10 14:01:15 +0100 |
commit | ed166b777843f1cc5e9833858fd537f6a875810c (patch) | |
tree | 7e1d79da4d5c61251683a1eea00e80ab007a3ee1 /epostunit.pas | |
parent | e70d315d5f75fd6f46ce8d84ef9a0abf813e6ca3 (diff) | |
download | epost-ed166b777843f1cc5e9833858fd537f6a875810c.tar.xz |
findeAlleDateien aufgeräumt
Diffstat (limited to 'epostunit.pas')
-rw-r--r-- | epostunit.pas | 36 |
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; |