Jump to content
Fórum Script Brasil

luizfernando

Membros
  • Posts

    10
  • Joined

  • Last visited

About luizfernando

luizfernando's Achievements

0

Reputation

  1. Conseguir achar uma solução para o que eu queria, no código: #include<stdio.h> #include<curses.h> int main() { char tecla; initscr(); clear(); keypad(stdscr, TRUE); noecho(); timeout(2000); //a função já garante a execução do bloco com ou sem entrada de teclado; tecla=getch(); endwin(); } O programa espera 2 segundos para que o usuário digite algo, se ele não digitar a janela é fechada Obrigado pela ajuda do mesmo jeito, meu problema tá resolvido
  2. Tava pensando aqui, o único jeito é dividir o procesaamento numa thread o programa fica esperanso o usuário digitar algo e noutro tenho um contador de tempo na forma clock(), dessa forma qundo o tempo limite se esgotar, uso um break no while; Como eu faço para criar threads em C?
  3. Não conseguir resolver o que eu queria , no trecho de código: while(clock() - tempo < 50){ mvprintw(3,1,"Entrei"); key=getch(); mvprintw(3,1,"Sai"); } o meu objetivo é que depois de 50 milésimos de segundo, se nada foi digitado, o valor da variável key se mantivesse constante entretanto , a mensagem "Sai" nem é mostrada o que indica que enquanto o usuário não digitar nada o programa fica esperando , exatamente o inverso do que eu quero
  4. Como eu faço para que o programa espere um determinado tempo para que um o usuario digite algo e, caso ele não digite ,continue a execução? por exemplo: int a; a=getch(); quero que o programa espere um tempo no comando getch() e depois , se nada ocorrer( usuário não digitar nada) ele continue
  5. tenho um programa no quel eu devo criar uma janela 64X64 usando a NCURSES ,entretanto, o máximo de linhas que o programa mostra são 20. Além disso nada é mostrado: o código exemplo que eu tenho é: #include <curses.h> //Incluiremos a biblioteca ao nosso sistema #include <stdio.h> void sair (void); //Esta função fará com que o programa seja fechado int main(void) { int intKey; //Variável que receberá as teclas passada pelo usuário WINDOW *janela1, *janela2; initscr(); /* Esta função inicializa a ncurses. Para todos os programas devemos sempre inicializar a ncurses e depois finalizar, como veremos adiante. */ start_color(); //Esta função torna possível o uso das cores //Abaixo estamos definindo os pares de cores que serão utilizados no programa init_pair(1,COLOR_WHITE,COLOR_BLUE); init_pair(2,COLOR_BLUE,COLOR_WHITE); init_pair(3,COLOR_RED,COLOR_WHITE); init_pair(4,COLOR_GREEN,COLOR_BLACK); bkgd(COLOR_PAIR(1)); /*Aqui nós definiremos que a cor de fundo do nosso programa será azul e a cor dos textos será branca.*/ for(;;) { attron(COLOR_PAIR(3)); /* Estamos alterando o par de cores para 3 em vez de utilizar o par de cor por omissão(1). */ mvprintw(2,1,"Menu Principal"); // Imprimimos um texto na tela na linha 2, coluna 1 attroff(COLOR_PAIR(3)); /* Estamos alterando o par com a cor por omissão, ou seja, retornando para o par de cor 1. */ attron(COLOR_PAIR(2)); mvprintw(4,5,"1. Janela 1"); //Imprimimos um texto na tela na linha 4, coluna 5 mvprintw(5,5,"2. Janela 2"); //Imprimimos um texto na tela na linha 5, coluna 5 mvprintw(6,5,"3. Sair"); //Imprimimos um texto na tela na linha 6, coluna 5 mvprintw(8,5,"3. Digite sua opção: "); //Imprimimos um texto na tela na linha 8, coluna 5 intKey = getch(); attroff(COLOR_PAIR(2)); move(0,0); refresh(); //Atualiza a tela switch (intKey) { case 49: janela1 = newwin(21, 64, 5, 10); /*Criaremos uma no janela com 5 linhas, 40 colunas e que aparecera na coluna 5, linha 10 */ wbkgd(janela1,COLOR_PAIR(4)); //Definiremos a cor de fundo da janela1 //Abaixo imprimiremos um t1exto dentro da janela1 wattron(janela1, A_BOLD); mvwprintw(janela1,2,1,"JANELA1 Verde com A_BOLD. Aperte qualquer tecla para sair."); wattroff(janela1, A_BOLD); wrefresh(janela1); //Atualizaremos a janela1 wgetch(janela1); //Esperaremos que alguma tecla seja apertada delwin(janela1); //Deletaremos a janela break; case 50: janela2 = newwin(5, 40, 5, 10); /*Criaremos uma no janela com 5 linhas, 40 colunas e que aparecera na coluna 5, linha 10 */ wbkgd(janela2,COLOR_PAIR(4)); //Definiremos a cor de fundo da janela2 box(janela2, ACS_VLINE, ACS_HLINE); //Aqui colocaremos uma borda na janela2 //Abaixo imprimiremos um texto dentro da janela2 mvwprintw(janela2,2,2,"JANELA2 Verde sem A_BOLD. Aperte qualquer tecla para sair."); wrefresh(janela2); //Atualizaremos a janela2 wgetch(janela2); //Esperaremos que alguma tecla seja apertada delwin(janela2); //Deletaremos a janela break; case 51: sair(); // Sai do programa break; } refresh(); //Atualiza a tela } } void sair() { endwin(); /* Sempre que finalizarmos um programa com a biblioteca curses, devemos executar este comando. */ exit(0); } caso seja digitado 1 nada aparece com 21 linhas, mas com 20 aparece Como eu faço para que janelas maiores apareçam ? mais uma coisa, como eu faço para que, usando a biblioteca curses, ou outra qualquer, eu saiba que o usuário digitou uma das setas de direçao?
  6. obrigado pela ajuda!! a forma de fazer o q eu queria é da forma que vocês me falaram mesmo.vlw!
  7. se a minha função usa funções por exemplo ctype ou string.h eu preciso incluílas no arquivo "função.h"?, mesmo que #include<string.h> e #include<ctype.h> já estejam inclídas no arquivo principal?
  8. eu gostaria de saber como eu faço isso exatamente por exemplo uma das funções é: void *mallocX (unsigned int nbytes) { void *ptr; ptr = malloc (nbytes); if (ptr == NULL) { printf ("Socorro! malloc devolveu NULL!\n"); exit (EXIT_FAILURE); } return ptr; } como deve ser o arquivo no qual essa função estará escrita? e qual é a "sintaxe " exata para o "include"?
  9. Olá, sou novato na programação. Neste momento estou fazendo um programa em C que está ficando grande demais, ele já tem mais de 2000 linhas em mais de 10 funções, dessa forma, ele não está rodando, apesar de não haver erro no código. Estou usando o DEV. eu gostaria saber como eu faço para dividir o arquivo em vários arquivos de modo a apenas chamar essas funções e outros procedimentos de arquivos menores??
×
×
  • Create New...