Appuyez sur n'importe quelle touche pour continuer

36

Votre tâche est de créer un programme qui affichera le texte suivant, attente pour l'utilisateur d'appuyer sur une touche (il est correct d'ignorer les clés comme ctrl, alt, caps lock, etc., tant que touches comme letters, numbers, symbolset enterne sont pas ignorés), puis terminez le programme:

Press any key to continue... 

Les retours à la ligne sont autorisés. Le programme doit quitter immédiatement après avoir appuyé sur une touche. En outre, le programme doit être relativement portable (c'est-à-dire sans en-têtes ou modules spécifiques à un système d'exploitation, exécuté en dehors d'un IDE, etc.).


L'invite doit être exactement comme indiqué ci-dessus, à moins qu'un retour à la ligne ne puisse être évité.


C'est du , donc la réponse la plus courte en octets est gagnante. C’est aussi ma première question sur le code de golf. Je vous prie de m'excuser si je ne connais pas les règles en matière de PPCG.

ckjbgames
la source
4
Le texte de sortie est-il sensible à la casse? WinBatch PAUSEserait-il une réponse valable (les points de suspension sont répartis de ...à . . .)?
FlipTack
13
Aussi, je suggérerais d'attendre une semaine ou 2 avant d'accepter une réponse
Kritixi Lithos
3
Les pausefonctions de la plupart des langages sont probablement insensibles aux touches telles que Caps-Lock ou Control (seule). Peut-être devriez-vous préciser si le programme est autorisé à ne pas remarquer ces clés
Luis Mendo le
15
Vous devez attendre quelques semaines avant d'accepter une réponse, comme de nombreux autres vous l'ont conseillé (et pourtant, vous avez choisi d'ignorer leurs conseils)
FlipTack
12
@JungHwanMin Je suis d'accord avec les autres. Attendez s'il vous plaît pour accepter une solution jusqu'à ce que les entrées ont cessé de rouler. Je n'aime vraiment pas monter les montagnes russes de réputation
Suever

Réponses:

5

SmallBasic, 18 17 octets

  • Version 2.0

17 octets

TextWindow.Show()
  • Version 1.0

18 octets

TextWindow.Pause()
Roman Gräf
la source
3
Ne pourriez-vous pas aussi simplement faire TextWindow.Show()? Basé sur ce site qui devrait avoir le même effet.
Suever
20

Lot, 46 octets

@echo Press any key to continue...
@pause>nul

Parce que pausela sortie contient un espace avant chaque ..

Neil
la source
5
Bonne redirection. Pourriez-vous également envoyer la sortie à, par exemple x? Ensuite, un fichier contenant xle texte serait créé Press any key to continue . . .. Enregistre 2 octets, mais je ne sais pas si cela va à l’encontre de ce défi ou de toute échappatoire standard.
Steenbergh
Je suis sur système libre choice.exe depuis un certain temps, mais j'ai le sentiment qu'il @choice /n /m Press any key to continue...était également possible il y a quelques décennies.
Manatwork
Choice a des valeurs par défaut telles que J et N, de sorte que le programme ne continue que lorsque vous appuyez sur J ou N si je me souviens bien.
geisterfurz007 Arrêtez ce chaos
@ geisterfurz007 De plus, la valeur par défaut est localisée. Par exemple, pour moi choiceéquivaut à choice /c SN(pour sim(oui) et não(non) en portugais).
Ismael Miguel
Ah, vous avez raison, @ geisterfurz007. Maintenant, je me souviens à quel point mes fichiers séquentiels avaient l'air stupide d'avoir énuméré tout l'alphabet. Ok, alors c'était une idée morte.
manatwork
15

HTML + JavaScript (ES6), 36 + 25 = 61 octets

Vous ne pouvez pas vraiment quitter un programme JavaScript, donc effacer la page Web est le meilleur que je puisse penser.

onkeyup=_=>a.innerHTML=''
<a id=a>Press any key to continue...


HTML + JavaScript (ES6), 33 + 28 = 61 octets

Autre solution suggérée par @LarsW et qui redirige vers about:blank.

onkeyup=_=>location='about:blank'
Press any key to continue...


HTML / JavaScript, 60 octets

Une autre solution géniale de @Ismael Miguel qui n’utilise pas JS autonome. 1 octet enregistré!

<html onkeyup=this.innerHTML=''>Press any key to continue...


HTML + JavaScript (ES6), 26 + 28 = 54 octets

Encore une autre solution de @George Reith utilisant l’écriture de documents.

onkeyup=_=>document.open()
Press any key to continue...

HTML + JavaScript (ES7), 23 + 28 = 51 octets

Même programme utilisant l' opérateur de liaison ES7 proposé :

onkeyup=::document.open
Press any key to continue...


Comme la plupart de ces solutions ne m'appartiennent pas, faites preuve de courtoisie et votez-les dans les commentaires!

Darrylyeo
la source
10
36 + 25 est 61 ou est-ce que je manque quelque chose?
2
@LarsW, ckjbgames Eh bien, quelles sont les chances? Vous ne savez jamais jusqu'à ce que vous l'écriviez! ;)
darrylyeo
2
<html onkeyup=this.innerHTML=''>Press any key to continue...<- 60 octets. Essayez-le sur jsfiddle.net/xhb69401 (cela fonctionne avec les deux <html>et <body>)
Ismael Miguel
2
Plus court moyen d'effacer le document et n'a pas besoin d'ancrage. onkeyup=_=>document.open()avec Press any key to continue...pour un total de 54 octets.
George Reith
2
De plus, avec l'opérateur de liaison proposé es-next, il pourrait être réduit à onkeyup=::document.open.
George Reith
14

MATL, 35 octets

'Press any key to continue...'D0$Y.

Explication

'Press any key to continue...'      % String literal
D                                   % Display the string (has trailing newline)
0$Y.                                % Pause until the user presses any key
Suever
la source
@LuisMendo Ah bonne prise
Suever
2
D'autre part, Y.non plus. Peut-être que le PO devrait clarifier. Des touches telles que Control et Caps-Lock échoueront dans la plupart des solutions
Luis Mendo
1
@LuisMendo Il est bon de rater les touches de contrôle, les majuscules, etc.
ckjbgames
@LuisMendo Votre modification ne nécessiterait-elle pas une touche d'entrée? Ou peut-être que je m'en souviens mal
Suever
@Suever Oh, bien sûr! Entrée obligatoire
Luis Mendo le
11

TI-Basic, 55 octets

Fondamentalement, il boucle jusqu'à ce qu'une touche soit enfoncée. Dommage que les lettres minuscules soient deux octets chacune dans TI-Basic ...

Disp "Press any","key to continuesin(
Repeat getKey
End

PS Voir le commentaire de @GoldenRatio pour une explication sur la façon dont cela fonctionne. C'est du génie!

Timtech
la source
Tout d’abord, votre nombre d’octets est actuellement désactivé, soit en fait 55 octets (vous venez de créer un programme sur la TI-84 + et il a été testé). Deuxièmement, techniquement, cela n’est pas valide, car il ne s’affiche pas. Appuyez sur n’importe quelle touche pour continuer ... et coupez plutôt à 15 caractères plus ... Au lieu de cela, en préservant le nombre d’octets, faites-en deux commandes disp. :Disp "Press any(N'oubliez pas: dans votre code, cela compte) et Disp "key to continuesin((Le péché force ... dans un octet pour compenser la nouvelle ligne et disp, et cela économise un espace entre les clés et les clés)
Golden Ratio
Battez-moi à ça, première langue à laquelle j'ai pensé.
C Anderson
Merci pour le conseil @GoldenRatio, je pensais que je pensais getKeyêtre 2 octets quand il est en fait 1. Je suppose avec Text(ou Output(vous pourriez tout adapter sur une seule ligne. Mais votre suggestion est meilleure. Je n'ai pas pensé à utiliser les points de suspension implicites à la fin d'une ligne. Merci encore, je vais éditer ça maintenant.
Timtech le
Merci de le mettre à jour, et je suppose que l’utilisation de disp avec une virgule a une bonne raison enfin, puisqu’elle n’a jamais sauvegardé octets. Je les mets habituellement sur des lignes séparées à cause de ma tendance à appuyer sur le bouton clair: D. En outre, existe-t-il une méthode officielle pour déterminer la taille? J'entends par là que les 9 octets que je n'ai pas comptabilisés pour un compte de nom de programme doivent-ils être ? Et faut-il compter le 1 octet du début deux-points qui ne peut pas être supprimé? Je l'ai marqué comme 0 octet, car pour trouver de l'espace, je suis habitué à soustraire 10 pour la taille du programme, mais peut-être que les deux points devraient compter.
Ratio d'or
Non, fondamentalement, si vous créez un programme complètement vide, il compte pour 0 octets et vous commencez à partir de là. Ce serait comme compter le nom de fichier d'un fichier source. En outre, les deux points de départ sont juste pour montrer et ne fait pas réellement partie du programme. En fait, chaque nouvelle ligne affiche automatiquement deux points dans l’éditeur de la calculatrice, mais là encore, ce ne sont que des exemples (essayez cemetech sourcecoder pour voir ce que je veux dire). Enfin, le décompte est identique, que nous divisions le Dispou non sur deux lignes (mais ce n’est pas toujours le cas).
Timtech
8

Bash, 46 43 42 octets

Enregistré 1 octet grâce à @DigitalTrauma

read -rn1 -p"Press any key to continue..."

Utilise le readintégré. -rs'assure qu'il ne permet pas à l'utilisateur de saisir des échappements. -n 1permet qu'un seul personnage. -pest l'invite

Downgoat
la source
Ne continue pas avant que je frappe un <cr>
Glenn Randers-Pehrson le
@ GlennRanders-Pehrson Je crois que cela peut arriver si votre bash ne supporte pas -n 1. Cela fonctionne sans frapper entrée pour moi cependant (v3.2.57) et sur ma machine debain (v4.3.30)
Réduire en
Aussi ne fonctionne pas si je tape une citation (")
Glenn Randers-Pehrson
1
Cela fonctionne-t-il correctement si je mets la ligne dans un fichier (anykey.sh) et l'exécute? Fonctionne bien aussi même si je supprime l’espace entre "-rn" et "1".
Glenn Randers-Pehrson
1
-rn1sauve 1 byte
Digital Trauma
8

Haskell , 51 50 octets (Merci @ villou24)

main=putStr"Press any key to continue...">>getChar

Essayez-le en ligne!

Erik
la source
6
Cela attend d'entrer. Vous pouvez utiliser à la getCharplace.
Christian Sievers
1
Vous pouvez enregistrer un octet en supprimant l'espace entre putStret la chaîne.
villou24
Laissez le répondeur modifier son propre message, @ckjbgames, ne le faites pas pour lui
MildlyMilquetoast
5

Octave / MATLAB, 42 octets

disp('Press any key to continue...');pause
Suever
la source
J'ai voté en faveur de cette réponse il y a un mois, en supposant que c'était optimal ... Mais vous avez été fantasqué :)
Stewie Griffin
4

QBasic ( QB64 ), 37 (42?) Octets

Malheureusement, l'invite de fin de programme intégrée à QBasic n'a pas les points de suspension, nous devrons donc l'imprimer nous-mêmes:

?"Press any key to continue..."
SLEEP

( SLEEPsans argument attend jusqu'à ce qu'une touche soit pressée.)

Ce code fait ce que la question demande littéralement, mais il ne semble pas que cela corresponde à l'esprit de la question car, bien sûr, QBasic affiche ensuite "Appuyez sur n'importe quelle touche pour continuer" et attend une pression de touche avant de retourner à l'EDI. En voici un qui va directement à l'IDE, pour +5 octets:

?"Press any key to continue..."
SLEEP
STOP

STOPest une instruction de débogage. Dans QBasic normal, il définit un point d'arrêt: l'exécution s'arrête et nous retournons à l'EDI, mais l'exécution peut être reprise avec F5. Il n'est pas clair si cela compterait comme le programme "sortant". Cependant, j'utilise l'émulateur QB64, qui ne peut pas faire de points d'arrêt. En cas de problème STOP, il s’arrête simplement et revient directement à l’IDE ​​sans le message redondant "Appuyez sur n’importe quelle touche".

DLosc
la source
Curieusement, le message «Appuyez sur n’importe quelle touche pour continuer» apparaît également lors de l’exécution d’un fichier exe autonome QB64. J'ai essayé d'utiliser LOCATEsimplement les points après, mais QBasic efface toute la ligne du bas lorsqu'il imprime ce message ...
steenbergh
4

Traitement, 89 81 octets

void setup(){print("Press any key to continue...");}void draw(){if(key>0)exit();}

Explication

void setup(){print("Press any key to continue...");}

Cela est nécessaire car j'utilise plus d'une fonction dans mon programme. Tout ce qui se trouve à l'intérieur setup()est appelé, dans ce cas, la chaîne "Press any key to continue...".

if(key>0)exit();

Vérifie si key( keycontiendra toujours la valeur int de la dernière touche enfoncée) est supérieur à 0(c'est-à-dire pas un octet nul). Si la condition est remplie, le programme se ferme.

void draw(){}

draw() garantit que le programme continuera toujours à rechercher une clé au lieu de s’arrêter une fois le programme démarré.

(C'est ce qui se passe lorsqu'une version d'un langage semblable à Java est toujours verbeuse ...)

Kritixi Lithos
la source
Je ne sais pas vraiment En traitement, mais je pense que vous devriez pouvoir remplacer void steup(){...}parstatic{...}
Pavel le
2
@Pavel Non, ça ne marche pas
Kritixi Lithos le
4

Pascal, 75 à 65 octets

Cela a été testé avec le compilateur Free Pascal, version 3.0.0.
Cela peut fonctionner avec TurboPascal 7 ou une version plus récente.

uses Crt;begin write('Press any key to continue...');readkey;end.

Sadly, I can't replace readkey with readln since the challenge requires that any key be accepted.


I've tested this code on http://rextester.com/l/pascal_online_compiler, with and without supplying an input.
As expected, the program is terminated after 10s, since it sits waiting for a keypress that never happens.


Thanks to @manatwork for saving me 10 bytes by proving me wrong, and showing that I don't need the program _;.

Ismael Miguel
la source
Neither FreePascal nor TurboPascal requires the use of program keyword. (Actually I never met such ancient implementation that did.)
manatwork
@manatwork I tried it without program and it complained. Also, I sometimes use TurboPascal. That one requires (notice: requires) the program there. If you know any place I can test where it runs without the program, I will remove it. I hate having it there. And that uses Crt;.
Ismael Miguel
1
I don't get you. It works fine including the rextester service you linked. In my command line: pastebin.com/pVr9dqxd
manatwork
@manatwork You're right. I know why it complained: I wrote program; instead of actually removing that bit. Thanks for alerting me to that.
Ismael Miguel
4

Scratch, 81 bytes

image

when gf clicked
say [Press any key to continue...
wait until <key [any v] pressed

(Scratchblocks link)

If you wanted it to stop the entire program when you pressed a key (including other threads) you'd have to add a stop all. If you want to get rid of the say dialog you need an empty say block (stop all works as well).

Convenient that Scratch has a builtin for this!

Florrie
la source
4

Bash 48 44 42 bytes

read -rn1 -p"Press any key to continue..."

@mame98 Thanks for saving 4 bytes.

@RaisingAgent Thanks for saving 2 bytes.

Abel Tom
la source
You can improve this by adding up the flags, like read -srn1 -p".." and remove the last space in the promt quote. Also, I'm not sure if you need the 's' flag
mame98
1
remove the last space in the quotes _ & -s
RaisingAgent
@RaisingAgent Thanks, updated :)
Abel Tom
3

R, 56 bytes

cat('Press any key to continue...');keypress::keypress()

This works in Linux and OSX terminals.

Sven Hohenstein
la source
3

Ruby (2.3) (+ Batch), 52 55 54 53 46 bytes

Now 46 bytes thanks to Alexis Andersen.

Note: Tested on Windows, might not work if there is no pause command.

puts"Press any key to continue...";`pause>nul`

Explanation

Puts the required text:

puts"Press any key to continue..."

End the line:

;

Run the Batch pause command and pipe output to nul:

`pause>nul`
notme1560
la source
Hello, welcome to PPCG. I see that you have a list of edits in the body of your submission. While this may be customary on other sites, since anyone can see the edit history of a post, we generally leave the history of the post out of the body (aside from the strike throughs for byte counts). This seems like a good first golf and I hope you have fun here.
Wheat Wizard
@WheatWizard Thanks, should I leave the edits there or remove them?
notme1560
1
I think that it makes for a much more readable answer if you remove them and I would personally recommend doing so.
Wheat Wizard
you can shorten that by replacing system with backticks: ` pause>nul ` or even shorter, just use gets (also, there's no good way to include a backtick in a code block in a comment)
Alexis Andersen
@AlexisAndersen doesn't gets wait for enter, and not just any key?
notme1560
3

Java, 127 bytes

class P{public static void main(String[]a)throws Exception{System.out.print("Press any key to continue...");System.in.read();}}

Note: the console must be set to raw mode in order for this to work.

Community
la source
Then I'm afraid your code should set the console so, like original.legin's Perl solution does.
manatwork
@manatwork Also, the program must be fairly portable (i.e no OS-specific headers or modules, runs outside of an IDE, etc.) if you follow that SO link there is no OS-independent way to do this. Meaning, the answer you linked is equally as valid as this one.
3

SmileBASIC, 52 bytes

?"Press any key to continue...
WHILE""==INKEY$()WEND
12Me21
la source
3

Python 2, 110 bytes

import curses as c
s=c.initscr()
c.cbreak()
s.addstr(0,0,'Press any key to continue...')
while not s.getch():1
Zach Gates
la source
2

Mathematica, 62 bytes

EventHandler["Press any key to continue...","KeyDown":>Exit[]]

Explanation

EventHandler["Press any key to continue...","KeyDown":>Exit[]]
EventHandler[                                                ]  (* Create a new EventHandler *)
             "Press any key to continue..."                     (* Print the dialog text *)
                                            "KeyDown":>Exit[]   (* When a key is pressed down, exit *)
JungHwan Min
la source
2

SmileBASIC, 55 bytes

?"Press any key to continue..."@L IF INKEY$()!=""GOTO@L

Explained:

?"Press any key to continue..."  '? means PRINT
@L                               'start of loop
IF INKEY$()!="" GOTO @L          'if no key pressed goto @L
snail_
la source
WHILE""==INKEY$()WEND is smaller
12Me21
2

Python 2/3 POSIX, 85 bytes

import sys,tty
print('Press any key to continue...')
tty.setraw(1)
sys.stdin.read(1)
ceilingcat
la source
2

Python 3, 65 bytes

Requires the Windows version of Python.

from msvcrt import*
print("Press any key to continue...")
getch()

msvcrt.getch() doesn't wait for the enter key to be pressed like input(), it returns the first key pressed.

Python Docs for msvcrt.getch(): https://docs.python.org/3/library/msvcrt.html#msvcrt.getch

Thanks to @Fliptack for saving some bytes

Zachary Smith
la source
This answer is invalid without an import msvcrt somewhere
FlipTack
2
As this is code-golf you should remove the comments from your code. Also, using from msvcrt import* appears to be 1 byte shorter
FlipTack
cool, thx @FlitTack
Zachary Smith
2

Node.js, 102 101 99 bytes

with(process)stdout.write('Press any key to continue...'),s=stdin,s.setRawMode(1),s.on('data',exit)
George Reith
la source
Not much gain, just 1 character shorter with with: pastebin.com/BhrAyq2K
manatwork
@manatwork Nice one! First time with has saved me bytes (or byte)
George Reith
1
Now you can remove the curly brackets and replace line breaks with commas for 2 more bytes.
darrylyeo
Also if I'm not mistaken, stdout.write`Press any key to continue...` will save 2 bytes in ES6.
darrylyeo
@darrylyeo Commas work thats awesome thanks! Unfortunately a tagged template literal can't be used here as it actually passes in an array and process.stdout.write doesn't do implicit conversions to string (it just errors).
George Reith
2

Sinclair ZX81/Timex TS1000 BASIC: Method 1 approximately 41 bytes

1 PRINT "PRESS ANY KEY TO CONTINUE..."
2 GOTO (INKEY$<>"")+VAL "2"

Method 2 approximately 38 BYTES

1 PRINT "PRESS ANY KEY TO CONTINUE..."
2 PAUSE VAL "4E4"

I prefer method 1 as on the ZX81, there is a screen flicker when PAUSE is called, and if you want long enough (providing the ZX81 doesn't overheat or crash) the pause will eventually come to an end, whereas method 1 is stuck in an infinite loop until a key is pressed, and no screen flicker.

I'll work out the correct number of bytes used later when I have the right bit of BASIC that will tell me. By the way, using VAL "x" instead of the number saves valuable RAM on a ZX81 (I think that this is the same for the ZX Spectrum as well).

Shaun Bebbers
la source
Both methods will work on the Sinclair ZX Spectrum as well, the advantage being that the Spectrum has upper and lower case letters, whereas the ZX81 does not by default (and doesn't have a single quote either as a standard character).
Shaun Bebbers
Method 2 on the Sinclair ZX Spectrum could be condensed to 1 PRINT "Press any key to continue...": PAUSE 4e4
Shaun Bebbers
1
PAUSE 0 pauses for ever.
Neil
Yes I've not programmed in Sinclair Spectrum BASIC for so long that I forgot about that. PAUSE 0 in ZX81 BASIC does not pause forever.
Shaun Bebbers
1

Perl 5, 79 bytes

system "stty cbreak";$|=1;print "Press any key to continue...";read(STDIN,$a,1)

used as:

perl -e 'system "stty cbreak";$|=1;print "Press any key to continue...";read(STDIN,$a,1)'

No prizes of course. I'm sure some perl person will have a better way.

(89 bytes if the interpreter invocation as well needs to be included in the count)

original.legin
la source
@Pavel, he counted system in his bytecount, so I don't know what you meant with that comment.
Dada
1
@original.legin I think Perl won't do much better than this. A few bytes you can golf still: $|=1 isn't necessary, you have a space after print, you can drop the parenthesis around the arguments of read, you can use backticks instead of system, and finally, print returns 1, so you can use it instead of the litteral 1 in the call to read. So in the end, we get: perl -e '`stty cbreak`;read STDIN,$a,print"Press any key to continue..."'
Dada
@Dada You can also shave off 2 bytes with say, although I think this approach fails the "portable" requirement. The best portable solution I can find is perl -MTerm::ReadKey -E'say"Press any key to continue...";ReadMode 3;ReadKey' (52 bytes + 16 bytes for -MTerm::ReadKey<space>). Be careful, this will screw up your terminal unless you restore the read mode at the end with ReadMode 1.
ThisSuitIsBlackNot
1
@ThisSuitIsBlackNot Indeed, I didn't see that requirement about portability. About say, I tend not to use it anymore (I agree mostly with this meta post). Now back to a short code, IO::Prompt will be shorter than Term::ReadKey (40 + 13 = 53 bytes) : perl -MIO::Prompt -e 'prompt"Press any key to continue... ",-1'. And as it happens, it's even shorter than what I suggested in my previous comment.
Dada
1
@Dada I can see both sides of the -E argument. The last time I checked, though, J B's answer had been uncontested for four years, so that's what I've followed. Maybe I need to revisit it again. As for IO::Prompt, good find! Although it doesn't work on my Strawberry 5.20.2 on Windows, while Term::ReadKey does.
ThisSuitIsBlackNot
1

PHP, 73 bytes

echo"Press any key to continue...";$h=fopen("php://stdin","r");fgets($h);

Run it in the PHP interactive shell (php -a)

ʰᵈˑ
la source
“The program must exit immediately after a key is pressed.” – This waits until Enter or blackout…
manatwork
1

C#, 101 bytes

using C=System.Console;class P{static void Main(){C.Write("Press any key to continue...");C.Read();}}

Tested on Linux, should run on any system having the .NET libraries and the Common Language Runtime.

Ungolfed program:

using C = System.Console; // creating a shorter alias for the System.Console class

class P
{
    static void Main()
    {
        C.Write("Press any key to continue...");    // prints the message
        C.Read();   // waits for key press
    }
}

CTRL, ALT, SHIFT are ignored. The pressed key will be echoed on screen if printable.

Echo can be disabled by replacing C.Read() with C.ReadKey(0<1) at the cost of 6 more bytes.

adrianmp
la source
1

8th, 47 bytes

"Press any key to continue..." . cr con:key bye

This program ignores keys like ctrl, alt, caps lock. Quits with keys like letters, numbers, symbols, and enter.

Explanation

"Press any key to continue..." . cr \ Print message 
con:key                             \ Wait for key input from console  
bye                                 \ Quit program 
Chaos Manor
la source
On Windows only you can save 3 bytes omitting cr
Chaos Manor
1

C#, 29 bytes

class P{static void Main(){}}

Not sure if this is considered valid because it prints:

Press any key to continue . . .

But there is a Batch answer that prints this as well.

TheLethalCoder
la source
1

Forth (gforth), 39 bytes

." Press any key to continue..."key bye

(Yes, there is already an 8th solution but this is shorter)

therealfarfetchd
la source