Hi,
so, ich habe mir dazu etwas ueberlegt :
is
obj ,mx : object;
i,j,k,k1 :integer;
str : string;
findstr :string;
newstr :string;
do
mx:=ref(.informationsfluss.methode);
findstr :="HALLO";
newstr :="hallo";
for i:=1 to mX.anzahlkinder loop
obj:=ref(mX.kindnr(i));
if ref(obj)/=ref(self) then
j:= j+1;
str:= ref(obj).programm;
k:=pos(findstr,str);
k1:=0;
while k>0 loop
str:=omit(str,k,strlen(findstr));
str:=incl(newstr,str,k);
k:=pos(findstr,str);
k1:=k1+1;
end;
if k1 > 0 then
ref(obj).programm:=str;
print j,chr(9),ref(obj), chr(9),findstr, chr(9),k1, " mal ersetzt";
else
print j,chr(9),ref(obj), chr(9),findstr,chr(9), "nicht gefunden";
end;
end;
next;
end;
mit dieser Methode wird in allen Instanzen von ".informationsfluss.methode" (außer dieser Methode selbst (self)!) z.B. hallo durch HALLO ersetzt.
ACHTUNG, paß bitte mit der Methode etwas auf d.h. speichere vorher Dein Modell ab bevor Du sie anwendest.
Wenn Du nämlich Schlüsselworter wie z.B. "is, do,end,if,then, loop, next " etc ersetzt, wird die Struktur der Methoden zerstört!.
Weiterhin sollte im Moment das zu ersetzende Wort nicht in dem ersetzenden Wort vorkommen z.B. "hallo" und "hallo123".
Workaround: in dem ersetzenden Wort einen Buchstaben grossschreiben
"Hallo123"
Gruss
------------------
DER SIMULATOR
[Diese Nachricht wurde von Simulator am 17. Apr. 2005 editiert.]