Como fazer uma caixa de texto em uma janela de linha de comando?
-
22-09-2019 - |
Pergunta
Estou trabalhando com .NET (especificamente Boo, mas as respostas funcionariam em C# também) e quero saber como poderia criar uma caixa editável dentro da linha de comando, de modo que eu poderia exibir uma seção de saída na parte superior de A linha de comando e possui uma caixa de uma linha na parte inferior para entrada, assim como o programa IRSSI (o cliente IRC) faz.
Suponho que isso seja possível com o .NET, como eu abordaria isso?
Solução
Você pode usar Console.SetCursorPosition(Column, Row)
Para definir o cursor para a posição apropriada. Para o seu exemplo, use Console.SetCursorPosition(0, Console.WindowHeight-1)
Para colocar o cursor na linha mais baixa e, em seguida, deixe o usuário inserir o texto.
Outras dicas
Não é o que você precisa de um aplicativo do Windows, com o cliente da linha de comando hospedado dentro dele?
irssi
usa uma biblioteca chamada ncurses
, mas em .net, o System.Console O Objeto fornece praticamente tudo o que você precisa para fazer aplicativos baseados em console.
Outra opção de nível superior seria o Mono.curses conjunto.