Ir ao conteúdo
  • Cadastre-se
Mateus_Sousa

Exibir mensagem caso usuário demore a digitar

Recommended Posts

Olá. Alguém teria ideia de como eu poderia fazer em C um programa que pedisse algo do usuário e se o usuário demorasse por exemplo 5 segundos aparecesse uma mensagem de aviso para o mesmo dizendo que demorou a digitar e pedisse novamente para que o usuario digitasse algo? Desde já agradeço a atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A unica coisa que sei sobre isso é Threads. Nao sei explicar pois nao entendo também como usar isso. Mas parece q threads executam simutaneamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exatamente como o @MassakiMsk disse, você poderia utilizar um thread que conta o tempo, poderia usar um sleep, mas isso seria desaconselhavel ja que o thread inteiro iria 'dormir', e no caso ele também teria que detectar a atividade do usuário, e então quando não há certa atividade durante um certo tempo ele poderia mostrar a mensagem, então a logica é a seguinte:

Citação

Variavel cmax = 10//segundos maximo

Variavel contador = 0//contador de tempo

Variavel atividades = 0//contador de atividade

 

Thread tempo

    se contador == cmax{

    atividades > 0? {

      se sim continuar

      se nao mostrarMensagem

      }

     }

    //verificar alguma atividade

    //como obter estado das teclas, etc

    dormir(1 segundo)

    

Sendo que você poderia usar um thread para ver se esta tendo atividades e contar o tempo, e outro para mostrar mensagem quando for o momento certo.

 

Para colocar um thread no seu codigo, é simples, basta colocar a biblioteca:

#include <pthread.h>

 

Criar uma struct thread:

pthread_t thread;

 

Criar uma função que sera usada como thread, sendo que a chamada tem que ter parâmetro void *:

void *funcaoThread(void *);

 

Para iniciar a função thread, adicione o seguinte comando ao programa(pode colocar em int main() ):

pthread_create(&thread,NULL,funcaoThread,NULL);

 

sendo que:

os argumentos foram criados acima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×