Terminal control/Clear the screen: Difference between revisions

From Rosetta Code
Content added Content deleted
(Add Seed7 example)
(Explain clear command)
Line 132: Line 132:


=={{header|Seed7}}==
=={{header|Seed7}}==
The function ''clear'' clears the console window:
The function ''clear'' clears the console window.
''Clear'' is built-in and does not rely on shell respectively cmd.exe commands or ANSI terminal escape sequences.
Instead it is based on terminfo respectively the Windows console API.


<lang seed7>$ include "seed7_05.s7i";
<lang seed7>$ include "seed7_05.s7i";

Revision as of 17:33, 16 August 2011

Task
Terminal control/Clear the screen
You are encouraged to solve this task according to the task description, using any language you may know.

Clear the terminal window.

AWK

<lang awk>system("clear")</lang>

BASIC

Works with: QBasic
Works with: Locomotive Basic
Works with: ZX Spectrum Basic
Works with: BBC BASIC

<lang qbasic>CLS</lang>

Batch File

<lang command>CLS</lang>

Blast

<lang blast>clear</lang>

C

The C version of the Minesweeper game uses curses.

If perhaps clear screen isn't used, call the function cls to do the trick.

<lang C>void cls(void) {

 int printf(char*,...);
 printf("%c[2J",27);

}</lang>

C#

<lang csharp>System.Console.Clear();</lang>

Euphoria

<lang Euphoria>clear_screen()</lang>

Forth

<lang forth>page</lang>

Go

<lang go>package main

import (

   "exec"
   "os"

)

func main() {

   c := exec.Command("clear")
   c.Stdout = os.Stdout
   c.Run()

}</lang>

GUISS

This will only work if the terminal is sitting at a prompt.

<lang guiss>Window:Terminal,Type:clear[enter]</lang>

Icon and Unicon

Example works for both Icon and Unicon. Determine which system command to call by querying &features at run time. Alternately, the related preprocessor symbols can be used to select the operating system.

<lang Icon>procedure main ()

 if &features == "MS Windows" then system("cls")  # Windows
 else if &features == "UNIX" then system("clear") # Unix

end</lang>

J

Note: this is specific the java+gdi based J ide.

<lang j>smwrite_jijs_ </lang>

<lang logo>cleartext</lang> There is a separate command to reset the turtle graphics window. <lang logo>clearscreen cs  ; abbreviation for clearscreen clean  ; like cs, but doesn't reset turtle position</lang>

Lua

<lang lua>os.execute( "clear" )</lang> will not work

Perl

Assuming some ANSI terminal, easiest way is call your system's clear command: <lang perl>system('clear')</lang>

If it's needed often: <lang perl>$clear = `clear`; # clear simply prints some escape sequence, cache it

  1. ... later:

print $clear;</lang>

PicoLisp

<lang PicoLisp>(call 'clear)</lang>

PowerShell

<lang powershell>Clear-Host</lang>

PureBasic

Clears the whole console content using the current background color. <lang PureBasic>ClearConsole()</lang>

Python

Works with: Python version 2.6
Works with: Ubuntu version 10.10

To clear the screen on windows, replace 'clear' with 'cls'

<lang python> import os os.system('clear') </lang>

Retro

<lang Retro>clear</lang>

REXX

The REXX programming language does not include a facility to clear the screen. However, it is possile to execute an external system command to achieve this task:

'clear'

There are also various workarounds which are platform specific:

regina

The regina interpreter supports the rexxcurses plugin, which provides the facility to clear the screen:

Seed7

The function clear clears the console window. Clear is built-in and does not rely on shell respectively cmd.exe commands or ANSI terminal escape sequences. Instead it is based on terminfo respectively the Windows console API.

<lang seed7>$ include "seed7_05.s7i";

 include "console.s7i";

const proc: main is func

 local
   var text: console is STD_NULL;
 begin
   console := open(CONSOLE);
   clear(console);
   # Terminal windows often restore the previous
   # content, when a program is terminated. Therefore
   # the program waits until Return/Enter is pressed.
   readln;
 end func;</lang>

Tcl

This only works on systems with ANSI terminal handling, i.e., Unix platforms. <lang tcl>puts -nonewline "\033\[2J" flush stdout</lang>

UNIX Shell

The clear command can be used to clear the terminal screen:

Works with: Bourne Shell
Works with: Bash

<lang sh>clear

  1. Alternative method using tput

tput clear</lang>