Advertisement
Guest User

Untitled

a guest
Dec 27th, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.53 KB | None | 0 0
  1.   #include "geraldefinc.h"
  2. #include "cliente_default.h"
  3. #include <ncurses.h>
  4. #include <stdio.h>
  5. #include <string.h>
  6.  
  7. void iniciarncurses(){
  8.     initscr();
  9.     start_color();
  10.     init_pair(1,COLOR_WHITE,COLOR_BLUE);
  11.     init_pair(2,COLOR_GREEN,COLOR_BLUE);
  12.     init_pair(3,COLOR_BLACK,COLOR_WHITE);
  13.     init_pair(4,COLOR_WHITE,COLOR_BLACK);
  14.     curs_set(1);        //TORdNAR CURSOR INVISIVEL
  15.     noecho();           // aparece dados de teclado
  16.     keypad(stdscr,TRUE);//ativar teclado
  17. }
  18. void sair()
  19. {
  20.     endwin(); /*Sempre que finalizarmos um programa com a biblioteca curses,
  21.                      devemos executar este comando.*/
  22.     exit(0);  
  23. }
  24. void clean( WINDOW *limpar){
  25. wbkgd(limpar,COLOR_PAIR(4));
  26. refresh();
  27. }
  28.  
  29.  
  30.  
  31. void iniciar( WINDOW *intiwin){
  32.   int x,y;
  33.   getmaxyx(intiwin,x,y);
  34. wbkgd(intiwin,COLOR_PAIR(1));
  35.  box(intiwin, '|', '-');
  36.  char welcome[40]="*********BEM-VINDO*********";
  37.  char welcome1[40]="MSGDIST";
  38.  char welcome2[80]="Trabalho realizado por: Jesualdo Matos e Francisco Silva";
  39.  char welcome3[40]="Prime qualquer tecla para continuar";
  40.  int valor=strlen(welcome);
  41.  int valor1=strlen(welcome1);
  42.  int valor2=strlen(welcome2);
  43.  int valor3=strlen(welcome3);
  44. mvwprintw(intiwin,5,(y/2)-(valor/2),"%s",welcome);
  45. mvwprintw(intiwin,6,(y/2)-(valor1/2),"%s",welcome1);
  46. mvwprintw(intiwin,7,(y/2)-(valor2/2),"%s",welcome2);
  47. mvwprintw(intiwin,8,(y/2)-(valor3/2),"%s",welcome3);
  48.  
  49. refresh();
  50. }
  51.  
  52. char login( WINDOW *janelalogin,WINDOW *limpar){
  53. wbkgd(janelalogin,COLOR_PAIR(3));
  54. int x,y;
  55.   getmaxyx(limpar,x,y);
  56.  mvprintw(x/2-1,y/2-(strlen("Indique o seu username")/2),"Indique o seu username:");
  57.  refresh();
  58. char username[80];
  59. echo();
  60. wrefresh(janelalogin);
  61. wscanw(janelalogin,"%s",username);
  62. mvprintw(x/2+2,y/2-((strlen("O seu username:")+strlen(username))/2),"O seu username:%s",username);
  63. refresh();
  64. return username;
  65. }
  66. //Variáveis globais
  67. char username[MAX_USER];
  68. int main(int argc, char** argv) {
  69. int tecla;
  70.  
  71.   WINDOW *janelalogin,*intiwin,*limpar,*quadro1,*quadro2,*titulo,*topic,*mensagem,*listopic;
  72.   iniciarncurses();
  73.   limpar=newwin(0,0,0,0);
  74.   int x,y,linha=0,coluna=0;
  75. getmaxyx(limpar,x,y);
  76.   janelalogin=newwin(1,50,x/2,(y/2)-(50/2));
  77.   intiwin=newwin(0,0,0,0);
  78.   quadro1=subwin(limpar,x-5,y/2,5,0);
  79.   quadro2=subwin(limpar,x-1,y/2,1,y/2);
  80.   topic=subwin(limpar,1,y/2,1,0);
  81.   mensagem=subwin(limpar,1,y/2,3,0);
  82.   iniciar(intiwin);
  83.   wrefresh(intiwin);
  84.   getch();  
  85.   delwin(intiwin);  
  86.   refresh();
  87.   clean(limpar);
  88.   wrefresh(limpar);
  89.   refresh();
  90.   login(janelalogin,limpar);
  91.   wrefresh(janelalogin);
  92.   getch();
  93.   wclear(janelalogin);
  94.  
  95.   delwin(janelalogin);
  96.   refresh();
  97.   mvwprintw(limpar,0,0,"INDIQUE O TOPICO:");
  98.   mvwprintw(limpar,2,0,"INDIQUE O TITULO:");
  99.   mvwprintw(limpar,4,0,"INDIQUE A MENSAGEM:");
  100.   mvwprintw(limpar,0,y/2,"TOPICOS EXISTENTES:");
  101.  
  102.   wrefresh(limpar);
  103.   wbkgd(quadro1,COLOR_PAIR(2));
  104.   wbkgd(topic,COLOR_PAIR(2));
  105.   wbkgd(mensagem,COLOR_PAIR(2));
  106.   wbkgd(quadro2,COLOR_PAIR(3));
  107.   wrefresh(quadro1);
  108.   wrefresh(quadro2);
  109.   wrefresh(topic);
  110.   wrefresh(mensagem);
  111.   move(0,0);
  112.   refresh();
  113.   getch();
  114.   getmaxyx(limpar,x,y);
  115. while(1){
  116. tecla=getch();
  117. switch(tecla){
  118.  
  119. case KEY_LEFT:
  120. if(coluna>0)
  121.   coluna--;
  122.   move(linha,coluna);
  123.   refresh();
  124.  break;
  125. case KEY_RIGHT:
  126.   if(coluna<y)
  127.   coluna++;
  128.   move(linha,coluna);
  129.   refresh();
  130.  break;
  131. case KEY_UP:
  132. if(linha>0)
  133.   linha--;
  134.   move(linha,coluna);
  135.   refresh();
  136. break;
  137. case KEY_DOWN:
  138. if(linha<x-1)
  139.   linha++;
  140.   move(linha,coluna);
  141.   refresh();
  142. break;
  143. }}
  144. sair();
  145.    
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement