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 SysSleep 2
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





--

__________________________________________________________________________________

Prof. Dr. Rony G. Flatscher
Department Wirtschaftsinformatik und Operations Management
Institut für Wirtschaftsinformatik und Gesellschaft
D2c 2.086
WU Wien
Welthandelsplatz 1
A-1020  Wien/Vienna, Austria/Europe

http://www.wu.ac.at
__________________________________________________________________________________