AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Konsole: Vorsicht mit read und Typenwechsel [beantwortet]
Thema durchsuchen
Ansicht
Themen-Optionen

Konsole: Vorsicht mit read und Typenwechsel [beantwortet]

Ein Thema von Wolfgang Mix · begonnen am 8. Apr 2010 · letzter Beitrag vom 8. Apr 2010
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#1

Konsole: Vorsicht mit read und Typenwechsel [beantwortet]

  Alt 8. Apr 2010, 17:06
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.
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Konsole: Vorsicht mit read und Typenwechsel

  Alt 8. Apr 2010, 17:10
Ja. Das war aber schon immer so
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#3

Re: Konsole: Vorsicht mit read und Typenwechsel

  Alt 8. Apr 2010, 17:15
Zitat von Wolfgang Mix:
Das geht in die Hose.
Was soll das denn bedeuten?

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;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Konsole: Vorsicht mit read und Typenwechsel

  Alt 8. Apr 2010, 17:23
[quote="himitsu"]
Zitat von Wolfgang Mix:
Das geht in die Hose.
Was soll das denn bedeuten?

Das Einlesen geht hier in D7 und D2010 ohne Probleme.
PS: Da das Read auch auf ein Enter wartet, wäre ReadLn (a) verständlicher und (b) gibt es keine Probleme.
Das Einlesen macht auch unter D2005PE keine Probleme, nur fehlt dann
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
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Konsole: Vorsicht mit read und Typenwechsel

  Alt 8. Apr 2010, 17:25
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
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Konsole: Vorsicht mit read und Typenwechsel

  Alt 8. Apr 2010, 17:31
Zitat von p80286:
Es gab ja mal den Umweg über "if keypressed then read(char)..."

Aber diesee DOStricksereien wollen wir doch nicht wieder ausgraben.....?

Gruß
K-H
Neinnein, nix ausgraben, nur Verhalten abspeichern in brain
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#7

Re: Konsole: Vorsicht mit read und Typenwechsel

  Alt 8. Apr 2010, 17:33
Die Bildschirmausgabe ist doch da?
(ganz kurz zumindestens )
Es wird das ReadLn nur sofort, durch das übergangene Return, wieder abgebrochen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#8

Re: Konsole: Vorsicht mit read und Typenwechsel

  Alt 8. Apr 2010, 17:40
Zitat von Wolfgang Mix:
Neinnein, nix ausgraben, nur Verhalten abspeichern in brain :)
Da wird's aber Zeit: dass man Eingaben mit CR abschliesst, war schon unter CP/M so und auch bei meinem eigenen BS, das lange vor CP/M existiert hat, und auf DEC PDP und VAX - einfach weil der Computer ja sonst nicht wissen kann, wann die Eingabe fertig ist. Daten-Eingabe ohne CR ist nur bei ereignisgesteuerten Systemen mit grafischer Oberfläche sinnvoll machbar.

Gruss Reinhard
  Mit Zitat antworten Zitat
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Konsole: Vorsicht mit read und Typenwechsel [beantwortet

  Alt 8. Apr 2010, 17:44
Habe ja verstanden, danke für die Informationen.
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#10

Re: Konsole: Vorsicht mit read und Typenwechsel [beantwortet

  Alt 8. Apr 2010, 17:47
Entschuldigt bitte, es mag am dem heutigem Tag liegen ...


Wo liegt/ lag das Problem ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz