Forum: Compiler & IDEs Turbo Pascal CRT-Bug?


von WIRO (Gast)


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:
1
uses
2
  crt;
3
begin
4
  textcolor(black);      {wichtig: black}
5
  textbackground(black); {wichtig: black}
6
  clrscr;
7
  textbackground(cyan);
8
  window(10,5,41,5);     {wichtig: Differenz 31 zwischen x1 und x2}
9
  clrscr;
10
  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)


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:

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)


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)


Lesenswert?

Hallo,

nimm Delphi.

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

Jürgen

von WIRO (Gast)


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:

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)


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)


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)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.