void SearchSuggest(BTA*b, int n, char* wordFind, Widgets *app) { GtkTreeIter iter; int i, rsize; char tmp[85]; strcpy(tmp, wordFind); char defnFind[6500]; char pre[85], now[85]; char suggests[100]; strcpy(suggests,""); int check; for(i=0; i<n; i++) { check=btseln(b, wordFind, defnFind, 6500, &rsize); if(check!=0){ //neu ko tim dc tu nao thi ko suggest gtk_entry_set_text(app->suggests,""); return; } strcpy(now, wordFind); if (strcmp(pre,now)==0) break; strncat(suggests,now,strlen(now)+1); strncat(suggests,"\t",2); strcpy(pre,now); if(strlen(suggests)>=MAXSUGGESTCHAR) break; } gtk_entry_set_text(app->suggests,suggests); strcpy(wordFind,tmp); }
//tim` kiem su dung TAB void search_tab() { char c,keyc[40]; int i=0,kt; p1 = (dict1*) malloc(sizeof(dict1)); fflush(stdin); printf("Nhap tu ban muon tim kiem(TAB):");mygetch(); do { c = mygetch();printf("%c",c); keyc[i]=c; i++; } while((c!='\t')&&(c!='\n')); keyc[i-1]='\0'; kt=btsel(bt1,keyc,(char*)p1,sizeof(dict1),&rsize1); if(c=='\n') { if(kt==0) { printf("\n%s%s ",p1->key,p1->value); mygetch(); } else { printf("\n\033[31mKhong the tim\033[0m"); mygetch(); } } while(c=='\t') { btseln(bt1,key,(char*)p1,sizeof(dict1),&rsize1); if(check(keyc,key)==0) { printf("\n\nKet thuc"); mygetch(); break; } else { printf("\n\n%s\t%s ",p1->key,p1->value); mygetch(); } } free(p1); }