Turbo Pascal CRT-Bug?

Gast #6045149
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
#6045386
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
Angehängte Dateien:
#6046376
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?
Gast #6046426
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren