Ir ao conteúdo
  • Cadastre-se

Pascal


njr

Posts recomendados

ixi, nem sei não!

pelo que sei, esse comando dá uma pausa no programa, e quando você digita qualquer tecla ele volta a rodar o programa.

Mas o que eu quero fazer é um programa que peça um número, e quando eu digito ele (um caracter) o programa já passa pra proxima etapa, sem eu ter que pressionar <ENTER>.

como faz?

Link para o comentário
Compartilhar em outros sites

Cara em pascal não sei como faz isso não, fiz uma function em assembly que faz isso, mais no meu Delphi não funcionou (não sei porque ele não chama nenhum interruptor) bom aqui vai a função, ela funcionou quando eu compilei em assembly puro:

function GetKeyStroke(): char;

asm

mov ah, 0

int 16h

end;

teoricamente devia funcionar no Delphi, pois esta interrupção (16h / AH = 00h) pega o teclado e envia o resultado para al, se não funcionar posta de novo que tento alguma coisa aqui.

Link para o comentário
Compartilhar em outros sites

Aqui ta o código do que fiz em assembly, compila ai ou poe em algum emulador de assembly que funciona normal:

name "Programa"
org  100h
;Aqui é o que você quer, ele pega a tecla e não espera o enter
mov ah, 0
int 16h
;Aqui ele fica escrevendo a tecla que pegou em um loop infinito
mov ah, 6
mov dl, al
PRINT:
int 21h
jmp PRINT
ret

Link para o comentário
Compartilhar em outros sites

Postado Originalmente por EduardoS@22 de abril de 2006, 14:16

Você já tentou:

var := readkey;

valeu.... deu certinho desse jeito ai!

só que eu tenho que declarar a variavel "var" ou como "char" ou como "string". Ai se eu quero digitar um número, é só converter ele de caracter pra número inteiro.

Valeu galera!

Link para o comentário
Compartilhar em outros sites

Postado Originalmente por ricci_tondatto@29 de abril de 2006, 07:12

readkey é uma funçao da biblioteca crt q retorna o buffer do teclado, ou seja, ele espera o usuario teclar alguma tecla, mas não a imprime na tela...

tem esse detalhe. mas ai você pode depois imprimir o conteudo da variavel, caso queira

e você deve declarar a variavel como char.

não vai funcionar com string, ela retorna um caracter apenas, no caso uma tecla

Link para o comentário
Compartilhar em outros sites

o readkey é muito simples...

serve pra ler um caractere digitado pelo teclado

como já disseram ai em cima, fica na biblioteca CRT...

pra usar essa biblioteca voce coloca antes da declaraçoes de variaveis:

uses CRT;

após isso você pode usar esse comando pra armazenar um caractere em uma variavel do tipo CHAR apenas digitando a tecla, sem a necessidade de pressionar enter, como faria se estivesse usando o comando READ ou READLN. Esse comando tem a utilidade tambem de pausar a tela para exibicao de alguma mensagem antes de fechar o programa. Coloquei abaixo um exemplo de usar esse comando para armazenar um caractere em uma variavel do tipo CHAR. Espero ter ajudado! =)

Program Teste;

Uses Crt;

Var

letra: char;

begin

letra := readkey;

end;

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...