⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dataman.c

📁 用GTK+做用户界面 股票每日分时行情用数据库管理——MYSQL 软件应用方式客户端/服务器模式 基于TCP/IP的C/S通信模式 实现STOCK
💻 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 + -