📄 checkhis.c
字号:
gchar str3[88]; gchar str4[88]; tmprec[0]=str0; tmprec[1]=str1; tmprec[2]=str2; tmprec[3]=str3; tmprec[4]=str4;
zs=0; shzs=0; szzs=0; reclist=NULL; /* --- Call the timer. --- */
strcpy(strentry, gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(tmpcombo1)->entry))); if(!strcmp(strentry,"上海")) shflag=1; if(!strcmp(strentry,"深圳")) szflag=1; if(!strcmp(strentry,"全部")) shszflag=1; if(!strcmp(strentry,"自选")) meflag=1; strcpy(strentry, gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(tmpcombo)->entry))); if(!strcmp(strentry,"上涨")) zd=1; else zd=0; strcpy(strentry,gtk_entry_get_text(GTK_ENTRY(tmpentry0)));// strentry[4]='\0'; qsrq=atoi(strentry); strncpy(strentry,gtk_entry_get_text(GTK_ENTRY(tmpentry1)),4); strentry[4]='\0'; day=atoi(strentry); strncpy(strentry,gtk_entry_get_text(GTK_ENTRY(tmpentry2)),4); strentry[4]='\0'; zf=atoi(strentry); gtk_widget_destroy(widget); StartProgress ("正在检索,请稍候...");
if(shflag || shszflag){ j=0; for(x=1;x<=shstocksum;x++){ if(shtbl[x].code[0]!='5' && shtbl[x].code[0]!='6'){ x++; continue; } if(frechStock(shtbl[x].code) == 0){ x++; continue; } for(i=1;i<=stocksum-day;i++){ if(stock[i].jydate < qsrq) continue; tmpzgj=stock[i].zgj; tmpzdj=stock[i].zdj; tmpzgjdate=0; tmpzdjdate=0; tmpzgjaddr=0; tmpzdjaddr=0; for(k=0;k<day && k+i<=stocksum;k++){ if(tmpzgj<=stock[k+i].zgj){ tmpzgj=stock[k+i].zgj; tmpzgjdate=stock[k+i].jydate; tmpzgjaddr=k+i; } if(tmpzdj>=stock[k+i].zdj){ tmpzdj=stock[k+i].zdj; tmpzdjdate=stock[k+i].jydate; tmpzdjaddr=k+i; } } if(tmpzdj<=0) tmpzdj=1; if(zd){ if((tmpzgj-tmpzdj)*100/tmpzdj>=zf && tmpzgjdate>tmpzdjdate){ rec=(REC *)g_malloc(sizeof(REC)); strcpy(rec->code,stockcode); rec->zdjdate=tmpzdjdate; rec->zdj=tmpzdj; rec->zgjdate=tmpzgjdate; rec->zgj=tmpzgj; rec->zdf=(tmpzgj-tmpzdj)*100/tmpzdj; rec->addr=tmpzdjaddr; reclist=g_slist_append(reclist,rec); shzs++; i+=day; } } else{ if((tmpzgj-tmpzdj)*100/tmpzdj>=zf && tmpzgjdate<tmpzdjdate){ rec=(REC *)g_malloc(sizeof(REC)); strcpy(rec->code,stockcode); rec->zdjdate=tmpzdjdate; rec->zdj=tmpzdj; rec->zgjdate=tmpzgjdate; rec->zgj=tmpzgj; rec->zdf=-(tmpzgj-tmpzdj)*100/tmpzdj; rec->addr=tmpzgjaddr; reclist=g_slist_append(reclist,rec); shzs++; i+=day; } }
} if(j>=shstocksum/10){ UpdateProgress (x, shstocksum); j=0; } else{ j++; } }}if(szflag || shszflag){ j=0; for(x=1;x<=szstocksum;x++){ if(sztbl[x].code[0]!='4' && sztbl[x].code[0]!='0'){ x++; continue; } if(frechStock(sztbl[x].code) == 0){ x++; continue; } for(i=1;i<=stocksum-day;i++){ if(stock[i].jydate < qsrq) continue; tmpzgj=stock[i].zgj; tmpzdj=stock[i].zdj; tmpzgjdate=0; tmpzdjdate=0; tmpzgjaddr=0; tmpzdjaddr=0; for(k=0;k<day && k+i<=stocksum;k++){ if(tmpzgj<=stock[k+i].zgj){ tmpzgj=stock[k+i].zgj; tmpzgjdate=stock[k+i].jydate; tmpzgjaddr=k+i; } if(tmpzdj>=stock[k+i].zdj){ tmpzdj=stock[k+i].zdj; tmpzdjdate=stock[k+i].jydate; tmpzdjaddr=k+i; } } if(tmpzdj<=0) tmpzdj=1; if(zd){ if((tmpzgj-tmpzdj)*100/tmpzdj>=zf && tmpzgjdate>tmpzdjdate){ rec=(REC *)g_malloc(sizeof(REC)); strcpy(rec->code,stockcode); rec->zdjdate=tmpzdjdate; rec->zdj=tmpzdj; rec->zgjdate=tmpzgjdate; rec->zgj=tmpzgj; rec->zdf=(tmpzgj-tmpzdj)*100/tmpzdj; rec->addr=tmpzdjaddr; reclist=g_slist_append(reclist,rec); szzs++; i+=day; } } else{ if((tmpzgj-tmpzdj)*100/tmpzdj>=zf && tmpzgjdate<tmpzdjdate){ rec=(REC *)g_malloc(sizeof(REC)); strcpy(rec->code,stockcode); rec->zdjdate=tmpzdjdate; rec->zdj=tmpzdj; rec->zgjdate=tmpzgjdate; rec->zgj=tmpzgj; rec->zdf=-(tmpzgj-tmpzdj)*100/tmpzdj; rec->addr=tmpzgjaddr; reclist=g_slist_append(reclist,rec); szzs++; i+=day; } }
} if(j>=szstocksum/10){ UpdateProgress (x, szstocksum); j=0; } else{ j++; } }} zs=shzs+szzs; EndProgress ();
if(zs == 0){ showMessage("提示","未检索到符合结果."); return; } tmpwin=createWindow("当前股票检索结果",480,300,0,0,2, GTK_SIGNAL_FUNC(endProgram1)); gtk_window_set_policy(GTK_WINDOW(tmpwin),FALSE,FALSE,TRUE); tmpvbox=createBox(tmpwin,VERTICAL,0); tmplist=createClist(tmpvbox,5,GTK_SIGNAL_FUNC(allselectRow)); setupClist(tmplist,0,"股票代码",64); setupClist(tmplist,1,"日期",128); setupClist(tmplist,2,"最低价",64); setupClist(tmplist,3,"最高价",64); setupClist(tmplist,4,"涨跌幅",48); i=0; for(gslist=reclist;gslist || i<zs;gslist=gslist->next){ rec=(REC *)gslist->data;// printf("%s %d %d %d %d %d\n",rec->code,rec->zdjdate,// rec->zdj,rec->zgj,rec->zdf,rec->addr); strcpy(tmprec[0],rec->code); if(zd) sprintf(tmprec[1],"%d-%d",rec->zdjdate,rec->zgjdate); else sprintf(tmprec[1],"%d-%d",rec->zgjdate,rec->zdjdate); sprintf(tmprec[2],"%d",rec->zdj); sprintf(tmprec[3],"%d",rec->zgj); sprintf(tmprec[4],"%d%",rec->zdf); insertClist(tmplist,tmprec); i++; } i_box2 = gtk_hbutton_box_new(); gtk_button_box_set_layout(GTK_BUTTON_BOX(i_box2), SPREAD); gtk_button_box_set_spacing(GTK_BUTTON_BOX(i_box2), 10); gtk_box_pack_start(GTK_BOX(tmpvbox), i_box2, FALSE, FALSE, 0); gtk_widget_show(i_box2); i_but = gtk_button_new_with_label("统计"); gtk_signal_connect_object(GTK_OBJECT(i_but), "clicked", GTK_SIGNAL_FUNC(alltotal_clicked),GTK_OBJECT(tmpwin)); gtk_box_pack_start(GTK_BOX(i_box2), i_but, TRUE, TRUE, 0); gtk_widget_show(i_but); i_but = gtk_button_new_with_label("保存"); gtk_signal_connect_object(GTK_OBJECT(i_but), "clicked", GTK_SIGNAL_FUNC(save_clicked),GTK_OBJECT(tmpwin)); gtk_box_pack_start(GTK_BOX(i_box2), i_but, TRUE, TRUE, 0); gtk_widget_show(i_but); i_but = gtk_button_new_with_label("退出"); gtk_signal_connect_object(GTK_OBJECT(i_but), "clicked", GTK_SIGNAL_FUNC(endProgram1),GTK_OBJECT(tmpwin)); gtk_box_pack_start(GTK_BOX(i_box2), i_but, TRUE, TRUE, 0); gtk_widget_show(i_but);}void allStockCheck(){ GtkWidget *tmpwin; GtkWidget *tmpvbox; GtkWidget *i_box2,*i_but; GList *items=NULL; GList *items1=NULL; if(!frechflag) return; tmpwin = createWindow("分类股票检索",200,280,0,0,20, GTK_SIGNAL_FUNC(endProgram)); tmpvbox = createBox(tmpwin,VERTICAL,0); createLabel(tmpvbox,"选择扫描起始日期:(yyyymmdd)"); tmpentry0=createEntry(tmpvbox,"19960101"); createLabel(tmpvbox, "选择分类股票:"); items = g_list_append(items,"上海"); items = g_list_append(items,"深圳"); items = g_list_append(items,"全部"); items = g_list_append(items,"自选"); tmpcombo1=gtk_combo_new(); gtk_combo_set_popdown_strings(GTK_COMBO(tmpcombo1),items); gtk_box_pack_start(GTK_BOX(tmpvbox),tmpcombo1, FALSE, FALSE, 0); gtk_widget_show(tmpcombo1); createLabel(tmpvbox, "选择涨跌趋势:"); items1 = g_list_append(items1,"上涨"); items1 = g_list_append(items1,"下跌"); tmpcombo=gtk_combo_new(); gtk_combo_set_popdown_strings(GTK_COMBO(tmpcombo),items1); gtk_box_pack_start(GTK_BOX(tmpvbox),tmpcombo, FALSE, FALSE, 0); gtk_widget_show(tmpcombo); createLabel(tmpvbox,"选择涨跌区间:(天)"); tmpentry1=createEntry(tmpvbox,"20"); createLabel(tmpvbox,"选择涨跌百分比:(%)"); tmpentry2=createEntry(tmpvbox,"100"); createLabel(tmpvbox," "); i_box2 = gtk_hbutton_box_new(); gtk_button_box_set_layout(GTK_BUTTON_BOX(i_box2), SPREAD); gtk_button_box_set_spacing(GTK_BUTTON_BOX(i_box2), 10); gtk_box_pack_start(GTK_BOX(tmpvbox), i_box2, FALSE, FALSE, 0); gtk_widget_show(i_box2); i_but = gtk_button_new_with_label("OK"); gtk_signal_connect_object(GTK_OBJECT(i_but), "clicked", GTK_SIGNAL_FUNC(allok_clicked),GTK_OBJECT(tmpwin)); gtk_box_pack_start(GTK_BOX(i_box2), i_but, TRUE, TRUE, 0); gtk_widget_show(i_but); i_but = gtk_button_new_with_label("Cancel"); gtk_signal_connect_object(GTK_OBJECT(i_but), "clicked", GTK_SIGNAL_FUNC(endProgram),GTK_OBJECT(tmpwin)); gtk_box_pack_start(GTK_BOX(i_box2), i_but, TRUE, TRUE, 0); gtk_widget_show(i_but); gtk_grab_add(tmpwin);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -