Lieber Herr Schelenz,
On 24.08.2023 08:51, Schelenz, Markus wrote:
anbei sende ich nochmals meine Frage von gestern hinsichtlich einer Lösung, wie man das Leerzeichen beim Satz „Du heisst Julian .“ vor dem Schlusspunkt weg bekommt.
Das Programm lautet:
SAY "Wie heisst Du?" PARSE PULL Eingabe Name SAY "Du heisst" Eingabe Name"." CALL SysSleep 2 SAY "Wie alt bist Du?" PARSE PULL Eingabe Alter SAY "Du bist" Eingabe Alter"Jahre alt." EXIT
Das führt zu folgender Ausgabe:
Wie heisst Du?
Julian
Du heisst Julian .
Wie alt bist Du?
22
Du bist 22 Jahre alt.
Wichtig ist, sich bewusst zu werden, welches Problem wo verursacht wird. In diesem Fall können Sie Debug-Ausgaben vorsehen, um eindeutig feststellen zu können, welchen Wert die Variable "Eingabe" und welchen Wert die Variable "Name" hat. Also z.B.:
SAY "Wie heisst Du?" PARSE PULL Eingabe Name *say **"Eingabe="**pp(eingabe) **"Name="**pp(Name)* SAY "Du heisst" Eingabe Name"." CALL SysSleep2 SAY "Wie alt bist Du?" PARSE PULL Eingabe Alter *say **"Eingabe="**pp(eingabe) **"Alter="**pp(Alter)* SAY "Du bist" Eingabe Alter"Jahre alt." EXIT *pp: **PROCEDURE **-- enclose argument in square brackets ****parse arg **value******return **"["**value**"]"*
Hier ein Beispiellauf:
Wie heisst Du? *Markus* *Eingabe=[Markus] Name=[]* Du heisst Markus . Wie alt bist Du? *99* *Eingabe=[99] Alter=[]* Du bist 99 Jahre alt.
Sie haben in Ihrer "Parse pull"-Anweisung die Variable "Eingabe" zuviel! :)
Mit freundlichem Gruß
Rony G. Flatscher