int checkLogin(BTA* btUser, USER* users){ int rights; int check; USER* usr; int size; if(users == NULL) return 0; usr = (USER*)malloc(sizeof(USER)); check = btsel(btUser,users->userName,(char*)usr,sizeof(USER),&size); if(check == 0){ if(strcmp(users->passWord,usr->passWord) == 0){ printf("Login successful\n"); return usr->rights; } else{ printf("Password incorect!!!Please input try again\n"); return -1; } } else{ printf("User not exsit!!!\n"); return -2; } }
void key_enter(GtkButton *button,Widgets *app){ //bam phim enter tree = btopn("data/tudienanhviet.dat", 0, 0); int check=1; char defnTemp[6500]; int rsize; gchar *textget; GtkTextBuffer *textbuffer; textget = gtk_entry_get_text(GTK_ENTRY(app->searchentry)); textbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(app->textview)); GtkTreeIter iter; if (strcmp(textget,"")==0){ //neu search entry == null gtk_text_buffer_set_text(textbuffer,"",-1); //xoa text view } else{ check=btsel(tree, textget, defnTemp, sizeof(defnTemp), &rsize); if (check){ //neu khong tim duoc gtk_text_buffer_set_text(textbuffer,"Not found.\nInput to add",-1); gtk_widget_show(add); strcpy(thongbao_text,"Do you wanna add a new word ?\nInput the meaning of word below here."); gtk_label_set_text(thongbao,thongbao_text); } else{ //neu tim duoc if(!isFind){ gtk_list_store_append(app->foundlist, &iter); gtk_list_store_set (app->foundlist, &iter, 0, textget, -1); } gtk_text_buffer_set_text(textbuffer,defnTemp,-1); gtk_widget_show(del); gtk_widget_show(edit); isFind=1; } } btcls(tree); }
//dua du lieu vao cay btree2 void add2() { FILE *f; f=fopen("nhap.txt","r"); int kt,i,j; while(!feof(f)) { p2=(dict2*)malloc(sizeof(dict2)); p1=(dict1*)malloc(sizeof(dict1)); fscanf(f,"%s",p1->key); fgets(p1->value,256,f); p2->i=0; soundex(sound,p1->key,1,1); if(btsel(bt2,sound,(char*)p2,sizeof(dict2),&rsize2)!=0) { strcpy(p2->key[p2->i],p1->key); strcpy(p2->value[p2->i],p1->value); btins(bt2,sound,(char*)p2,sizeof(dict2)); } else { p2->i++; strcpy(p2->key[p2->i],p1->key); strcpy(p2->value[p2->i],p1->value); if(strcmp(p2->key[p2->i],p2->key[p2->i-1])!=0) btupd(bt2,sound,(char*)p2,sizeof(dict2)); } free(p2); free(p1); } fclose(f); }
int doUndo(GtkButton *button, Widgets *app){ //thuc hien undo tree = btopn("data/tudienanhviet.dat", 0, 0); gchar *textget; GtkTextBuffer *textbuffer; textget = gtk_entry_get_text(GTK_ENTRY(app->searchentry)); textbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(app->textview)); char defnTemp[6500]; int rsize; if(btsel(tree, textget, defnTemp, sizeof(defnTemp), &rsize)==0){ gtk_text_buffer_set_text(textbuffer,defnTemp,-1); } btcls(tree); }
//tim` kiem void search2() { int j,kt=0,c,i=0; char key1[40]; p2=(dict2*)malloc(sizeof(dict2)); printf("\nNhap tu ban muon tim:");mygetch(); do { c = mygetch();printf("%c",c); key[i]=c; i++; } while((c!='\t')&&(c!='\n')); key[i-1]='\0'; /*scanf("%*c");gets(key); if(btsel(bt1,key,(char*)p1,sizeof(dict1),&rsize1)!=0) { printf("\n\033[31m=>Khong co tu nay\033[0m"); mygetch(); }*/ soundex(s1,key,1,1); if(btsel(bt2,s1,(char*)p2,sizeof(dict2),&rsize2)!=0) { printf("\n=>\033[31mKhong co tu nay\033[0m"); mygetch(); } else { printf("\nTim kiem nang cao(bang thu vien soundex):\n"); for(j=0;j<=p2->i;j++) { printf("%s=>\t",p2->key[j]); } mygetch(); printf("\n\n=>Nhap vao y nghia:");scanf("%s",key1); for(j=0;j<=p2->i;j++) { if(strcmp(key1,p2->key[j])==0) { printf("\n%s\t%s",key1,p2->value[j]); kt=1; break; } } if (kt==0) printf("\n\n\033[31mKhong co tu nay\033[0m"); mygetch(); } // } mygetch(); }
//tim` kiem tren btree1 void search() { printf("\nNhap tu can tim kiem:");scanf("%*c");gets(key); if(btsel(bt1,key,(char*)p1,sizeof(dict1),&rsize1)!=0) { printf("\n\033[31mKhong co tu nay\033[0m"); mygetch(); } else { printf("\n%s:\t%s",p1->key,p1->value); mygetch(); } mygetch(); }
//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); }
//thay doi thong tin tren key void edit() { char xau[20]; p1=(dict1*)malloc(sizeof(dict1)); printf("\nNhap tu muon them:"); scanf("%*c");gets(xau); strcpy(p1->key,xau); if (btsel(bt1,p1->key,(char*)p1,sizeof(dict1),&rsize1)!=0) { mygetch(); printf("\nNhap y nghia:");gets(p1->value); btins(bt1,p1->key,(char*)p1,sizeof(dict1)); printf("\nDa cap nhat"); mygetch(); } else { mygetch(); printf("\nNhap vao nghia tu:");gets(p1->value); btupd(bt1,p1->key,(char*)p1,sizeof(dict1)); printf("\nNghia da duoc thay doi"); mygetch(); } }
void quickSuggest(GtkButton *button,Widgets *app){ char suggestword[85]; strcpy(thongbao_text,""); gtk_label_set_text(thongbao,thongbao_text); if(!isFind){ gtk_widget_hide(del); gtk_widget_hide(edit); gtk_widget_hide(add); } int check=1; char suggests[200]; strcpy(suggests,""); char defnTemp[6500]; int rsize; gchar *textget; GtkTextBuffer *textbuffer; textget = gtk_entry_get_text(GTK_ENTRY(app->searchentry)); textbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(app->textview)); strcpy(suggestword, textget); GtkTreeIter iter; if (strcmp(textget,"")==0){ //neu search entry == null gtk_text_buffer_set_text(textbuffer,"",-1); //xoa text view gtk_entry_set_text(app->suggests,""); } else{ check=btsel(sug, textget, defnTemp, sizeof(defnTemp), &rsize); if (check){ //neu khong tim duoc SearchSuggest(sug,NUMBERSUGGEST,suggestword,app); isFind=0; } else{ //neu tim duoc } } }
void doSearch (GtkButton *button,Widgets *app){ //Khong su dung function nay nua. Su dung 2 function ben duoi de thay the char suggestword[85]; gtk_widget_hide(del); gtk_widget_hide(edit); gtk_widget_hide(add); int check=1; tree = btopn("data/tudienanhviet.dat", 0, 0); char defnTemp[6500]; int rsize; gchar *textget; GtkTextBuffer *textbuffer; textget = gtk_entry_get_text(GTK_ENTRY(app->searchentry)); textbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(app->textview)); //printf("%s",textget); strcpy(suggestword, textget); GtkTreeIter iter; if (strcmp(textget,"")==0){ //neu search entry == null gtk_text_buffer_set_text(textbuffer,"",-1); //xoa text view } else{ check=btsel(tree, textget, defnTemp, sizeof(defnTemp), &rsize); if (/**strcmp(defnTemp,"")==0*/check){ //neu khong tim duoc gtk_text_buffer_set_text(textbuffer,"Not found.\nInput to add",-1); gtk_widget_show(add); SearchSuggest(tree,NUMBERSUGGEST,suggestword,app); } else{ //neu tim duoc gtk_text_buffer_set_text(textbuffer,defnTemp,-1); gtk_list_store_append(app->foundlist, &iter); gtk_list_store_set (app->foundlist, &iter, 0, textget, -1); gtk_widget_show(del); gtk_widget_show(edit); } } btcls(tree); }