JavaFree.org | RubyOnBr.org

Ajuda com código

Acompanhar Ajuda com código 11 posts, 5 participantes

Avatar Z3us 14 posts

Seguinte, preciso saber como incluir em um programa o seguinte comando:

#Apresentar a frase
“Press ENTER to continue”

E travar o programa até que a tecla ENTER seja pressionada.

Aproveitando, preciso de um código para travar o pressionamento de qualquer tecla.

Ex:Enquanto o programa apresenta determinados valores, impedir que o usuário digita qualquer coisa.

Andei lendo sobre incluir popups no programa mas não achei nada a respeito de como incluir e “formatar” janelas.
Seria como utilizar o programa usando as janelas padrões do windows, é possível?

Eu uso Ruby e não o Rails, tem alguma diferença?

Não encontro em lugar algum uma lista com todos os comandos e o que cada um faz.

Podem me ajudar?

 
Avatar Eduardo M 108 posts

Para interfaces com “padrão Windows” em Ruby eu sugiro o wxRuby

Documentação do Ruby
Documentação do Rails

Eduardo M.

 
Avatar Eduardo M 108 posts

A propósito,

para aprender a “travar o programa até a tecla ENTER”, busque por “STDIN”.

Eduardo M.

 
Avatar Z3us 14 posts

Encontrei “stdinput()” seria isso?
Se eu especificar stdinput(/n) ele entende que é a tecla ENTER?

Já li as documentações mas como eu disse estou começando com isso agora.
Não sei nada sobre nenhuma outra linguagem.
Estou mexendo nisso às cegas mesmo, só usando um pouco de lógica.
Preciso aprender isso para iniciar num curso de ABAP no meu trabalho.

Se puderem me ajudar passando códigos específicos para entender o funcionamento eu agradeceria.
Obrigado.

 
Avatar nofxx 283 posts

ELe quis dizer STDIN mesmo…

STandarD INput STDIN – entrada
STandarD OUTput STDOUT – saida

irb>>

>> STDIN.public_methods.sort

=> [“<<”, “==”, “===”, “=~”, “id”, “send”, “all?”, “any?”, “binmode”, “class”, “clone”, “close”, “close_read”, “close_write”, “closed?”, “collect”, “detect”, “display”, “dup”, “each”, “each_byte”, “each_line”, “each_with_index”, “entries”, “eof”, “eof?”, “eql?”, “equal?”, “extend”, “fcntl”, “fileno”, “find”, “find_all”, “flush”, “freeze”, “frozen?”, “fsync”, “gem”, “getc”, “gets”, “grep”, “hash”, “id”, “include?”, “inject”, “inspect”, “instance_eval”, “instance_of?”, “instance_variable_defined?”, “instance_variable_get”, “instance_variable_set”, “instance_variables”, “ioctl”, “is_a?”, “isatty”, “kind_of?”, “lineno”, “lineno=”, “map”, “max”, “member?”, “method”, “methods”, “min”, “nil?”, “object_id”, “partition”, “pid”, “pos”, “pos=”, “print”, “printf”, “private_methods”, “protected_methods”, “public_methods”, “putc”, “puts”, “read”, “read_nonblock”, “readchar”, “readline”, “readlines”, “readpartial”, “reject”, “reopen”, “require”, “respond_to?”, “rewind”, “seek”, “select”, “send”, “singleton_methods”, “sort”, “sort_by”, “stat”, “sync”, “sync=”, “sysread”, “sysseek”, “syswrite”, “taint”, “tainted?”, “tell”, “to_a”, “to_i”, “to_io”, “to_s”, “tty?”, “type”, “ungetc”, “untaint”, “write”, “write_nonblock”, “zip”]

 
3fa42a98f3671b848696a7d04b43cdd1?s=80&r=any mandrakez 94 posts

Zeus, uma googlada rápida, achei esse link aqui , da uma olhadinha, para capturar a tecla pressionada:

agora é apenas uma questão de implementação, espero ter ajudado.

 
Avatar Z3us 14 posts

vlw mandrakez

Tentei aqui mas até agora só entrou em loop infinito.

Eu testei assim:

 
Avatar Shairon Toledo 1272 posts

tem que retirar o \n da var depois que ler, use também STDIN.sync=true pra esse fim

 
Avatar Z3us 14 posts

Não entendi.

 
3fa42a98f3671b848696a7d04b43cdd1?s=80&r=any mandrakez 94 posts

Zeus, achei uma gem muita interessante,Highline , para instalar digite apenas ‘gem install highline’

o legal é que ele ja vem preparado para validações, e tudo mais, da uma olhada na documentação .

Abraços

 
Avatar Z3us 14 posts

Valeu cara.
Instalei mas olha só, caso vc digite algo sem ser enter ele registra e quando vc finalmente aperta enter ele enche a tela.

Tem como fazer um método usando essa gem do tipo def Enter
E toda vez q for preciso q se tecle apenas enter pra prosseguir com o programa baste colocar Enter no código?

Abraços