
brevleq
(usa Slackware)
Enviado em 02/12/2006 - 22:36h
Olá pessoal!!
Estou com um problema para implementar a tecla backspace no meu programa, sempre que aperto backspace, o programa não faz o que eu quero, que é apagar o último caracter da tela. Abaixo o trecho do código onde eu quero implementar isso:
int pega_string (WINDOW *campo,char *string,int tam){
register int cont;
int key;
wmove(campo,0,0);
wrefresh(campo);
curs_set(1);
keypad(campo,TRUE);
for (cont=0;cont<=tam-1;cont++){
key=getch();
if(key==KEY_BACKSPACE && cont>0){
werase(campo);
wrefresh(campo);
for (key=0;key<cont;key++)
mvwprintw(campo,0,key,"%c",string[key]);
cont--;
}
else{
if (key==ENTER)
break;
if (key==ESCAPE){
curs_set(0);
return(0);
}
if (cont==0 || cont-1==' ')
key=toupper(key);
else
key=tolower(key);
string[cont]=key;
mvwprintw(campo,0,cont,"%c",string[cont]);
}
wrefresh(campo);
}
string[cont]='{TTEXTO}';
curs_set(0);
return(1);
}
se não entenderem, não hesitem em me perguntar, pois pretendo entregar esse programa na segunda!!
valeu pessoal!!