📄 checknow.c
字号:
#include <stdio.h>#include "gmclient.h"static GtkWidget *tmpentry1;static GtkWidget *tmpentry2;static GSList *reclist;/* 0--上涨 1--下跌 2--横盘 3--成交量*/static gint flag=0; typedef struct{ char code[7]; int zdjdate; int zdj; int zgjdate; int zgj; int zdf; int addr;}REC;static void endProgram1(GtkWidget *widget,gpointer data);static void priceok_clicked(GtkWidget *widget,gpointer data);static void searchDialog(gchar *title1,char *title2,char *title3);static void priceSelectRow(GtkWidget *list,gint c,gint r);void recentlyIncrease(){ flag=0; searchDialog("近期上涨股票查询","近期搜索时间天数:", "近期上涨幅度(%):");}void recentlyDecrease(){ flag=1; searchDialog("近期下跌股票查询","近期搜索时间天数:", "近期下跌幅度(%):");}void recentlyHengpan(){ flag=2; searchDialog("近期横盘股票查询","近期横盘时间天数:", "近期横盘震幅(正负<%):");}void recentlyFangliang(){ flag = 3; searchDialog("近期放量股票查询","量比扫描时间断:(天数)", "量比幅度:(>%)");}void endProgram1(GtkWidget *widget,gpointer data){ GSList *node; for(node=reclist;node;node=node->next) g_free(node->data); g_slist_free(reclist); gtk_widget_destroy(widget); }void priceSelectRow(GtkWidget *list,gint c,gint r){ GSList *node; REC *rec; // strcpy(str,getClist(list));// printf("c:%d r:%d %s\n",c,r,str); node=g_slist_nth(reclist,c); rec=(REC *)node->data; if(frechStock(rec->code) == 0){ return; } if(strlen(rec->code) == 6) codeToName(SHBZ,rec->code); else codeToName(SZBZ,rec->code); areastart=(stocksum-60>1?stocksum-60:1); Repaint(); }static void total_clicked(GtkWidget *widget,gpointer data){}static void save_clicked(GtkWidget *widget,gpointer data){ char filename[80]; createFilenameDialog("保存检索结果"); strcpy(filename,getFilename()); printf("%s",filename); }void priceok_clicked(GtkWidget *widget,gpointer data){ GtkWidget *tmpwin; GtkWidget *tmpvbox; GtkWidget *i_box2,*i_but; GSList *gslist; int i,k,j,n,day,zf; int tmpzgj,tmpzdj,tmpzgjdate,tmpzdjdate,tmpzgjaddr,tmpzdjaddr; char strentry[50]; GtkWidget *tmplist; REC *rec; gchar *tmprec[5]; gchar str0[88]; gchar str1[88]; gchar str2[88]; gchar str3[88]; gchar str4[88]; tmprec[0]=str0; tmprec[1]=str1; tmprec[2]=str2; tmprec[3]=str3; tmprec[4]=str4;
reclist=NULL; /* --- Call the timer. --- */
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 ("正在检索,请稍候...");
n=0; j=0; for(i=1;i<=shstocksum;i++){ if(shtbl[i].code[0]!='6' && shtbl[i].code[0]!='5'){ i++; continue; } if(frechStock(shtbl[i].code) == 0){ i++; continue; } tmpzgj=stock[stocksum-day].zgj; tmpzdj=stock[stocksum-day].zdj; tmpzgjdate=0; tmpzdjdate=0; tmpzgjaddr=0; tmpzdjaddr=0; for(k=(stocksum-day>0?stocksum-day:1);k<=stocksum;k++){ if(tmpzgj<=stock[k].zgj){ tmpzgj=stock[k].zgj; tmpzgjdate=stock[k].jydate; tmpzgjaddr=k; } if(tmpzdj>=stock[k].zdj){ tmpzdj=stock[k].zdj; tmpzdjdate=stock[k].jydate; tmpzdjaddr=k; } } if(tmpzdj<=0) tmpzdj=1; switch(flag){ case 0: 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); n++; } break; case 1: 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); n++; } break; case 2: if((tmpzgj-tmpzdj)*100/tmpzdj<=zf){ 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); n++; } break; default: break; } if(j>=shstocksum/10){ UpdateProgress (i,shstocksum); j=0; } else{ j++; } }
for(i=1;i<=szstocksum;i++){ if(sztbl[i].code[0]!='4' && sztbl[i].code[0]!='0'){ continue; } if(frechStock(sztbl[i].code) == 0){ continue; } tmpzgj=stock[stocksum-day].zgj; tmpzdj=stock[stocksum-day].zdj; tmpzgjdate=0; tmpzdjdate=0; tmpzgjaddr=0; tmpzdjaddr=0; for(k=(stocksum-day>0?stocksum-day:1);k<=stocksum;k++){ if(tmpzgj<=stock[k].zgj){ tmpzgj=stock[k].zgj; tmpzgjdate=stock[k].jydate; tmpzgjaddr=k; } if(tmpzdj>=stock[k].zdj){ tmpzdj=stock[k].zdj; tmpzdjdate=stock[k].jydate; tmpzdjaddr=k; } } if(tmpzdj<=0) tmpzdj=1; switch(flag){ case 0: 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); n++; } break; case 1: 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); n++; } break; case 2: if((tmpzgj-tmpzdj)*100/tmpzdj<=zf){ 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); n++; } break; default: break; } if(j>=szstocksum/10){ UpdateProgress (i,szstocksum); j=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -