![]() |
Konsole: Vorsicht mit read und Typenwechsel [beantwortet]
Ich lese mit read 3 verschiedene Pascaltypen ein
und will sie wieder ausgeben. Das geht in die Hose. Schliesse ich jedes read mit readln ab, bekomme ich meine gewünschten Ergebnisse. Löscht readln ännlich wie bei C# (fflush) den Tastaturpuffer oder wie ist das Verhalten des Compilers zu erklären? Diese Phänomen hatte ich auch schon unter TP festgestellt. Folglich : Jedes read mit readln abschliessen!
Code:
program Project1;
{$APPTYPE CONSOLE} uses SysUtils; var i:integer; x:real; s:string; begin write('s :' );read(s);(*readln*); write('x :' );read(x);(*readln*); write('i :' );read(i);(*readln*); writeln(s); writeln(x); writeln(i); readln; end. |
Re: Konsole: Vorsicht mit read und Typenwechsel
Ja. Das war aber schon immer so
|
Re: Konsole: Vorsicht mit read und Typenwechsel
Zitat:
Das Einlesen geht hier in D7 und D2010 ohne Probleme. Einzig das ReadLn am Ende wird übersprungen, weil es das vorhergehende Enter noch mitbekommt. PS: Da das Read auch auf ein Enter wartet, wäre ReadLn (a) verständlicher und (b) gibt es keine Probleme.
Delphi-Quellcode:
Write('s :' ); ReadLn(s);
Write('x :' ); ReadLn(x); Write('i :' ); ReadLn(i); WriteLn(s); WriteLn(x); WriteLn(i); ReadLn; |
Re: Konsole: Vorsicht mit read und Typenwechsel
[quote="himitsu"]
Zitat:
die Bildschirmausgabe. Optisch besser sieht es aus, wenn der Cursor nach dem Doppelpunkt blinkt und nicht in der nächsten Zeile. Aber ok, dieses Verhalten muss man sich halt merken :) |
Re: Konsole: Vorsicht mit read und Typenwechsel
Nach meinem Verständnis hat das read auf der Konsole garnichts zu suchen, da im Normalfall jede Eingabe dort mit einen CR abgeschlossen wird. Solange das nicht erfolgte kann ich meine Eingabe editieren wie ich lustig bin.
Es gab ja mal den Umweg über "if keypressed then read(char)..." Aber diesee DOStricksereien wollen wir doch nicht wieder ausgraben.....? Gruß K-H |
Re: Konsole: Vorsicht mit read und Typenwechsel
Zitat:
|
Re: Konsole: Vorsicht mit read und Typenwechsel
Die Bildschirmausgabe ist doch da?
(ganz kurz zumindestens :roll: ) Es wird das ReadLn nur sofort, durch das übergangene Return, wieder abgebrochen. |
Re: Konsole: Vorsicht mit read und Typenwechsel
Zitat:
Gruss Reinhard |
Re: Konsole: Vorsicht mit read und Typenwechsel [beantwortet
Habe ja verstanden, danke für die Informationen.
|
Re: Konsole: Vorsicht mit read und Typenwechsel [beantwortet
Entschuldigt bitte, es mag am dem heutigem Tag liegen ...
Wo liegt/ lag das Problem ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz