Forum: Compiler & IDEs Turbo Pascal CRT-Bug?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von WIRO (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,
nur für Freunde alter (Programmier-) Sprachen:
Bei der Korrektur eines Uraltprogrammes in Turbo Pascal 6.0 ist mir ein 
kurioses Problem begegnet.
Der Quellcode:
uses
  crt;
begin
  textcolor(black);      {wichtig: black}
  textbackground(black); {wichtig: black}
  clrscr;
  textbackground(cyan);
  window(10,5,41,5);     {wichtig: Differenz 31 zwischen x1 und x2}
  clrscr;
  end.
Das zweite clrscr löscht einen zu großen Bereich bis eine Zeile tiefer 
(bis x1-1,y1+1).
Vielleicht ist das seit Jahrzehnten bekannt (Fehler in CRT???).
Ich bin auf die Kommentare gespannt.

Gruß,
WIRO

von Clemens L. (c_l)


Bewertung
0 lesenswert
nicht lesenswert
IIRC war der Quellcode der Crt-Unit kostenpflichtig, und erst bei BP7 
dabei. (Und in Assembler.)

WIRO schrieb:
> Ich bin auf die Kommentare gespannt.

Nicht "Lösungsvorschläge"? (Ich hätte auch keine, die über "FreePascal" 
oder "mach's selbst" hinausgehen.)

von Paul P. (kater_karlo)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde direkt hier mal nachfragen.
Ich wette Du bekommst in diesem extrem freundlichen Forum bis heute 
Mittag die Auflösung.
https://forum.lazarus.freepascal.org/index.php/board,61.0.html

Ich mag Pascal:-) und die Hilfsbereitschaft der Community


Anbei der Screenshot aus Lazarus PAscal

oder hier
https://onlinegdb.com/ryEe8_zhB

: Bearbeitet durch User
von Ralph S. (jjflash)


Bewertung
0 lesenswert
nicht lesenswert
Die CRT hat definitiv einen Bug. Die hatte eine 
Rechnergeschwindigkeitsmessung vor Start durchgeführt. Irgendwann waren 
die Rechner zu schnell und due vorgesehene Variable konnte den 
Zahlenwert nicht mehr aufnehmen und überschrueb andere Variable.

Irgendwo muß ich nich eine gepatschte CRT haben. Hm, die Programme die 
du damit erstellst laufen nur nich in der DOS Bix. Warum bremst du diese 
nicht ein... oder verwendedt FreePascal?

von Jürgen (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

nimm Delphi.

In der neusten Version gibt es eine Community Edition. Kostet nix.

Jürgen

von WIRO (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,
@Paul P.:
Sehr interessant - kannte ich noch nicht, danke!

@Ralph S.:
Ich verwende schon eine korrigierte CRT ohne "Geschwindigkeitsproblem" 
und mit Unterstützung F11+F12.

@Alle:
Andere Pascaldialekte oder Delphi erfordern bei meinem Altprojekt (weit 
über 25k Zeilen) leider zu viele Anpassungen. So lang ist das Leben 
nicht.
Eine minimale Codeänderung hat im speziellen Fall das Problem gelöst.

Danke!

Gruß,
WIRO

von WIRO (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
hier habe ich mal noch einen Screenshot.
Der Fehler tritt übrigens nur im Vollbildmodus auf.
Wäre interessant, wenn das noch jemand reproduzieren könnte;-)

Gruß und frohes Fest an Alle,
WIRO

von Algol-Freund (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Es müßte doch eigentlich eine andere Unit für LCD-Monitore geben, denn
CRT steht doch für Cathode Ray Tube.
;-)
Schnell fort hier...

von 5-Bit Lochstreifenstanzer (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Algol-Freund schrieb:
> Es müßte doch eigentlich eine andere Unit für LCD-Monitore geben, denn
> CRT steht doch für Cathode Ray Tube.

Die Zeit, als dieses Thema hätte aktuell werden können, hat Turbo Pascal 
i.A. wohl nicht mehr mit erlebt ;-)

von Bernd (Gast)


Bewertung
0 lesenswert
nicht lesenswert

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.