Écrire un éditeur pour le terminal - partie 4
Aujourd’hui on voit comment écrire un message centré horizontalement et verticalement, comment lire une chaîne de caractères, et comment être tranquille avec les caractères non ASCII.
Voici un programme qui montre tout ça:
require 'curses'
include Curses
message = "Enter a string: "
begin
init_screen
setpos(lines / 2, (cols - message.size) / 2)
addstr(message)
str = getstr
setpos(lines - 2, 0)
addstr(sprintf("You entered: %s", str))
getch
ensure
close_screen
end
Quelques brèves explications maintenant:
Tout d’abord, on affiche un message centré ainsi:
setpos(lines / 2, (cols - message.size) / 2)
addstr(message)
Pour lire une chaîne de caractères, on utilise getstr
:
str = getstr
Puis on affiche ce qu’on vient de lire sur l’avant-dernière ligne du terminal:
setpos(lines - 2, 0)
addstr(sprintf("You entered: %s", str))
Le sprintf, qui vous rappelera des choses si vous avez fait du C, est ce que j’ai trouvé de mieux pour ne pas avoir de soucis avec les caractères non ASCII.
À demain.
/ / / / / / / / / /