Sample UEB08D

Sample

Input: Variablen mit Textzuweisung:                                 
txt="Guten Morgen, den 01/02/08. REXX Schulung heute Morgen."
eine Eingabe (Suchbegriff) am Bildschirm verlangen
Process: Eine Eingabe (nur eine!) verlangen (PARSE EXTERNAL,
nicht leer).
Die Eingabe wird als Suchtext für den Text in der Variable
"txt" verwendet. Der Suchtext wird in der Variable "txt"
gesucht (Built-In POS) und die gefundene Position im Text
angezeigt - dabei wird ein !---- ausgegeben, um den gesuchten
Text zu kennzeichnen.
Output: z.B. Suchtext="en"
Guten Morgen, den 01/02/08. REXX Schulung heute Morgen.
!-     !-   !-                                   !-

z.B. Suchtext="rgen"
Guten Morgen, den 01/02/08. REXX Schulung heute Morgen.
!---                                      !---

/* REXX UEB08D Copyright YCOS Yves Colliard Software 1990-2009 */
/* TRACE ?R  */
  /* einschalten des interaktiven Trace Modus */
  /* */
txt="Guten Morgen, den 01/02/08. REXX Schulung heute Morgen."
  /* */
DO UNTIL such<>""
  /* */
   SAY "Bitte Suchtext eingeben:"
   PARSE EXTERNAL such
  /* */
END
  /* */
info="!"copies("-",length(such)-1)
  /* */
out=""
lastpos=1
gefunden = POS(such,txt)
  /* */
DO WHILE gefunden>0
   out=out""left("",gefunden-lastpos)""info
   lastpos=gefunden+LENGTH(such)
   gefunden = POS(such,txt,gefunden+LENGTH(such))
END
say txt
say out
  /* */
SAY "------------ODER------------"
  /* */
txt="Guten Morgen, den 01/02/08. REXX Schulung heute Morgen."
  /* */
DO UNTIL such<>""
  /* */
   SAY "Bitte Suchtext eingeben:"
   PARSE EXTERNAL such
  /* */
END
  /* */
out=copies('00'x,length(txt))
gefunden = POS(such,txt)
  /* */
DO WHILE gefunden>0
   out=overlay("!",out,gefunden,length(such),'-')
   gefunden = POS(such,txt,gefunden+LENGTH(such))
END
say txt
say translate(out,' ','00'x)