2017-09-01 5 views
1

Erste Schritte mit Pascal hier. Ich wollte ein einfaches Programm schreiben, das zuerst das Terminalfenster löscht und dann Benutzereingaben liest. Das erste Ergebnis der Suche nach dem Löschen des Bildschirms zeigte die ClrScr Prozedur. Wenn Sie es verwenden, wird die Aufgabe erledigt, aber ClrScr benötigt Crt, was zu einem neuen Problem führt. Das Beenden des Programms mit Ctrl + C funktioniert nicht. Bei der Online-Suche habe ich festgestellt, dass Crt I/O übernimmt. Ich habe nach einer Alternative zu ClrScr gesucht, aber bisher noch nichts gefunden.Terminal mit Pascal löschen

So wie kann ich klar Terminal, während noch in der Lage sein, das Programm mit Ctrl + C zu beenden. Wie kann ich das Programm im aktuellen Fall auch mit Crt beenden?

Aktuelle Code:

program Test; 
    uses Crt; 
    var  
      x : integer; 
    begin 
      read(x); 
    end. 
+0

Welches Betriebssystem verwenden Sie? Linux und Windows verfügen über einen Befehl zum Löschen des Bildschirms, sodass Sie einen Systemaufruf für diesen Befehl ausführen können. Die andere Möglichkeit, 'Crt' zu verwenden, besteht darin,' Strg + C' zu fangen, indem man es als Schlüssel liest und explizit darauf einwirkt. – lurker

+0

@lurker macOS sierra –

+0

Sie müssen explizit '^ C' als Schlüssel (mit' KeyPressed', 'ReadKey') an entsprechenden Stellen lesen und darauf reagieren. Unter Windows gibt es einen ['SysSetCtrlBreakHandler'] (https://www.freepascal.org/docs-html/rtl/system/syssetctrlbreakhandler.html), aber ich weiß nicht, ob dieser auf anderen Plattformen existiert. –

Antwort

1

Bisher sind die Lösungen, die ich online gesehen haben und die in den Kommentaren vorgeschlagen diejenigen zu halten CRT nur machen es lästig und überflüssig macht das Programm komplex. Jetzt habe ich mich entschieden, es einfach komplett zu verwerfen.

Die Problemumgehung, die ich jetzt gefunden habe, ist unix.fpsystem mit dem clear Befehl zu verwenden, der die Arbeit gut erledigt bekommt.