Beispiel #1
0
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);
}
Beispiel #2
0
//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);     
}