From b4eeb13fb316b16690d6400df2fcd73fd32b9133 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Fri, 7 Aug 2015 09:48:13 +0200 Subject: Makroprioritaet in mystringlistunit.pas geaendert --- mystringlistunit.pas | 70 ++++++++++++++++++++++++++-------------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/mystringlistunit.pas b/mystringlistunit.pas index 72a86b0..34e72e8 100644 --- a/mystringlistunit.pas +++ b/mystringlistunit.pas @@ -272,6 +272,41 @@ begin end; inc(i); end; + if wasGefunden then continue; + + i:=count-1; + while i>=0 do begin // Substitutionen auswerten + s:=self[i]; + if startetMit('!setze',s) then begin + wasGefunden:=true; + t:=erstesArgument(s,':'); + if pos('$',t)<>1 then begin + prot.schreibe('ungültiger Variablenname '''+t+''' für Ersetzung!',true); + exit; + end; + delete(i); + for j:=i to count-1 do begin + u:=self[j]; + k:=length(u); + while (pos(t,u)>0) and (k>0) do begin // ... nach Ersetzung ... + u:=copy(u,1,pos(t,u)-1)+s+copy(u,pos(t,u)+length(t),length(u)); + dec(k); + end; + self[j]:=u; + end; + end + else + dec(i); + end; + if wasGefunden then continue; + + for i:=0 to count-1 do begin // Shellvariablen auswerten + s:=shellSubst(self[i]); + if s<>self[i] then begin + wasGefunden:=true; + self[i]:=s; + end; + end; i:=0; while i=0 do begin // Substitutionen auswerten - s:=self[i]; - if startetMit('!setze',s) then begin - wasGefunden:=true; - t:=erstesArgument(s,':'); - if pos('$',t)<>1 then begin - prot.schreibe('ungültiger Variablenname '''+t+''' für Ersetzung!',true); - exit; - end; - delete(i); - for j:=i to count-1 do begin - u:=self[j]; - k:=length(u); - while (pos(t,u)>0) and (k>0) do begin // ... nach Ersetzung ... - u:=copy(u,1,pos(t,u)-1)+s+copy(u,pos(t,u)+length(t),length(u)); - dec(k); - end; - self[j]:=u; - end; - end - else - dec(i); - end; - if wasGefunden then continue; - - for i:=0 to count-1 do begin // Shellvariablen auswerten - s:=shellSubst(self[i]); - if s<>self[i] then begin - wasGefunden:=true; - self[i]:=s; - end; - end; until not wasGefunden; -- cgit v1.2.3-70-g09d2