📄 dataman.c
字号:
#include <unistd.h>#include <fcntl.h>#include "gmclient.h"static GtkWidget *tmpwin;static GtkWidget *tmpdatacombo;static GtkWidget *tmpdatapath;static GtkWidget *tmpdatapath1;static GtkWidget *tmpstartdate;static GtkWidget *tmpenddate;static void createInstallDataPage(GtkWidget *frame);static void createOutDataPage(GtkWidget *frame);static void browseStockpath();static void browseStockpath1();static void installData(void);void dataManager(){// GtkWidget *tmpwin; GtkWidget *tmpvbox; GtkWidget *tmpnote; GtkWidget *tmppage1,*tmppage2,*tmppage3; if(!frechtblflag) return; tmpwin = createWindow("数据维护",480,380,0,0,5, GTK_SIGNAL_FUNC(endProgram)); tmpvbox = createBox(tmpwin,VERTICAL,0); tmpnote=createNotebook(tmpvbox,TOP); tmppage1=addNotebookNewPage(tmpnote,"安装数据",NULL); tmppage2=addNotebookNewPage(tmpnote,"生成数据",NULL); tmppage3=addNotebookNewPage(tmpnote,"管理数据",NULL); createInstallDataPage(tmppage1); createOutDataPage(tmppage2); gtk_grab_add(tmpwin); return; }void createInstallDataPage(GtkWidget *frame){ GtkWidget *tmptable; GtkWidget *tmpbox; GtkWidget *tframe; GList *items=NULL; gchar *gplb[]={"上海","深圳"}; gchar *gplx[]={"日线","周线","月线", "5分钟","15分钟","30分钟","60分钟"}; gchar *azfs[]={"覆盖式安装","补充式安装"}; GtkWidget *i_box2,*i_but; /*create page 1*/ tmptable = createTable(frame,4,2,TRUE); tframe=createFrameFromTable(tmptable,"日线数据来源:", 1,2,0,1,0,0,GTK_SHADOW_ETCHED_IN); items = g_list_append(items,"钱龙"); tmpdatacombo=createComboBox(tframe,items); tframe=createFrameFromTable(tmptable,"输入数据路径:", 1,2,1,2,0,0,GTK_SHADOW_ETCHED_IN); tmpbox=createBox(tframe,HORIZONTAL,0); tmpdatapath=createEntry(tmpbox,"/ml30/data/"); i_but = gtk_button_new_with_label("浏览"); gtk_signal_connect_object(GTK_OBJECT(i_but), "clicked", GTK_SIGNAL_FUNC(browseStockpath),GTK_OBJECT(tmpwin)); gtk_box_pack_start(GTK_BOX(tmpbox), i_but, TRUE, TRUE, 0); gtk_widget_show(i_but); tframe=createFrameFromTable(tmptable,"选择股票类别", 0,1,0,1,0,0,GTK_SHADOW_ETCHED_IN); createList(tframe,gplb,2,GTK_SIGNAL_FUNC(NO_FUNC)); tframe=createFrameFromTable(tmptable,"选择股票类型", 0,1,1,4,0,0,GTK_SHADOW_ETCHED_IN); createList(tframe,gplx,7,GTK_SIGNAL_FUNC(NO_FUNC)); tframe=createFrameFromTable(tmptable,"选择安装方式", 1,2,2,3,0,0,GTK_SHADOW_ETCHED_IN); tmpbox=createBox(tframe,VERTICAL,0); createRadioButtons(tmpbox,azfs,2); 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_table_attach(GTK_TABLE(tmptable),i_box2, 1,2,3,4, GTK_EXPAND |GTK_SHRINK, GTK_EXPAND |GTK_SHRINK, 0,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(installData),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(endProgram),GTK_OBJECT(tmpwin)); gtk_box_pack_start(GTK_BOX(i_box2), i_but, TRUE, TRUE, 0); gtk_widget_show(i_but); }void browseStockpath(){ char tmpname[256]; createFilenameDialog("选择股票数据路径"); strcpy(tmpname,getFilename()); printf("%s\n",tmpname); gtk_entry_set_text(GTK_ENTRY(tmpdatapath),tmpname);}void installData(void){ gchar shtmppath[256]; gchar sztmppath[256]; gchar tmpscrname[256]; gchar tmpdestname[256]; int i; strcpy(shtmppath,gtk_entry_get_text(GTK_ENTRY(tmpdatapath))); strcpy(sztmppath,shtmppath); strcat(shtmppath,"shase/day/"); strcat(sztmppath,"sznse/day/"); if(access(shtmppath,F_OK|R_OK) == -1){ showMessage("提示","路径访问失败!"); return; } StartProgress ("正在安装数据,请稍候...");
for(i=1;i<=shstocksum;i++){ sprintf(tmpscrname,"%s%s%s",shtmppath,shtbl[i].code,".Day"); sprintf(tmpdestname,"%s",shtbl[i].code); if(installKlineData(tmpscrname,tmpdestname)){ printf("%s->%s install success!\n",tmpscrname,tmpdestname); } else{ printf("%s->%s install fail!\n",tmpscrname,tmpdestname); } UpdateProgress (i,shstocksum+szstocksum); } for(i=1;i<=szstocksum;i++){ sprintf(tmpscrname,"%s%s%s",sztmppath,sztbl[i].code,".Day"); sprintf(tmpdestname,"%s",sztbl[i].code); if(installKlineData(tmpscrname,tmpdestname)){ printf("%s->%s install success!\n",tmpscrname,tmpdestname); } else{ printf("%s->%s install fail!\n",tmpscrname,tmpdestname); } UpdateProgress (shstocksum+i,shstocksum+szstocksum); } EndProgress ();
return; }void createOutDataPage(GtkWidget *frame){ GtkWidget *tmptable; GtkWidget *tmpbox; GtkWidget *tframe; gchar *gplb[]={"上海","深圳"}; gchar *gplx[]={"日线","周线","月线", "5分钟","15分钟","30分钟","60分钟"}; GtkWidget *i_box2,*i_but; /*create page 1*/ tmptable = createTable(frame,4,2,TRUE); tframe=createFrameFromTable(tmptable,"生成数据路径:", 1,2,0,1,0,0,GTK_SHADOW_ETCHED_IN); tmpbox=createBox(tframe,HORIZONTAL,0); tmpdatapath1=createEntry(tmpbox,"/usr/local/"); i_but = gtk_button_new_with_label("浏览"); gtk_signal_connect_object(GTK_OBJECT(i_but), "clicked", GTK_SIGNAL_FUNC(browseStockpath1),GTK_OBJECT(tmpwin)); gtk_box_pack_start(GTK_BOX(tmpbox), i_but, TRUE, TRUE, 0); gtk_widget_show(i_but); tframe=createFrameFromTable(tmptable,"选择股票类别", 0,1,0,1,0,0,GTK_SHADOW_ETCHED_IN); createList(tframe,gplb,2,GTK_SIGNAL_FUNC(NO_FUNC)); tframe=createFrameFromTable(tmptable,"选择股票类型", 0,1,1,4,0,0,GTK_SHADOW_ETCHED_IN); createList(tframe,gplx,7,GTK_SIGNAL_FUNC(NO_FUNC)); tframe=createFrameFromTable(tmptable,"选择起始日期", 1,2,1,2,0,0,GTK_SHADOW_ETCHED_IN); tmpstartdate=createEntry(tframe,"20000101"); tframe=createFrameFromTable(tmptable,"选择结束日期", 1,2,2,3,0,0,GTK_SHADOW_ETCHED_IN); tmpenddate=createEntry(tframe,"20000501"); 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_table_attach(GTK_TABLE(tmptable),i_box2, 1,2,3,4, GTK_EXPAND |GTK_SHRINK, GTK_EXPAND |GTK_SHRINK, 0,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(NO_FUNC),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(endProgram),GTK_OBJECT(tmpwin)); gtk_box_pack_start(GTK_BOX(i_box2), i_but, TRUE, TRUE, 0); gtk_widget_show(i_but); }void browseStockpath1(){ char tmpname[256]; createFilenameDialog("选择股票代码表文件"); strcpy(tmpname,getFilename()); printf("%s\n",tmpname); gtk_entry_set_text(GTK_ENTRY(tmpdatapath1),tmpname);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -