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

📄 system.c

📁 用GTK+做用户界面 股票每日分时行情用数据库管理——MYSQL 软件应用方式客户端/服务器模式 基于TCP/IP的C/S通信模式 实现STOCK
💻 C
📖 第 1 页 / 共 2 页
字号:
}void fontClickOK(GtkWidget *widget,gpointer data){  changeAllFont();  Repaint();  writeCfg();  gtk_widget_destroy(widget);  }void createDatabaseSetPage(GtkWidget *frame){    GtkWidget *tmptable;    GtkWidget *tframe;    GtkWidget *i_box2,*i_but;    char tmp[20];         tmptable = createTable(frame,6,2,TRUE);    tframe=createFrameFromTable(tmptable,NULL,                        0,1,0,1,0,0,GTK_SHADOW_ETCHED_IN);    createLabel(tframe,"服务器名称:");     tframe=createFrameFromTable(tmptable,NULL,                         1,2,0,1,0,0,GTK_SHADOW_ETCHED_IN);    tmphost=createEntry(tframe,sqlhost);    tframe=createFrameFromTable(tmptable,NULL,                        0,1,1,2,0,0,GTK_SHADOW_ETCHED_IN);    createLabel(tframe,"用户名:");     tframe=createFrameFromTable(tmptable,NULL,                         1,2,1,2,0,0,GTK_SHADOW_ETCHED_IN);    tmpuser=createEntry(tframe,sqluser);    tframe=createFrameFromTable(tmptable,NULL,                        0,1,2,3,0,0,GTK_SHADOW_ETCHED_IN);    createLabel(tframe,"密码:");     tframe=createFrameFromTable(tmptable,NULL,                         1,2,2,3,0,0,GTK_SHADOW_ETCHED_IN);    tmppassword=createEntry(tframe,sqlpassword);    sprintf(tmp,"%d",sqlport);    tframe=createFrameFromTable(tmptable,NULL,                        0,1,3,4,0,0,GTK_SHADOW_ETCHED_IN);    createLabel(tframe,"PORT:");     tframe=createFrameFromTable(tmptable,NULL,                         1,2,3,4,0,0,GTK_SHADOW_ETCHED_IN);    tmpport=createEntry(tframe,tmp);    tframe=createFrameFromTable(tmptable,NULL,                        0,1,4,5,0,0,GTK_SHADOW_ETCHED_IN);    createLabel(tframe,"UNIX_SOCKET:");     tframe=createFrameFromTable(tmptable,NULL,                         1,2,4,5,0,0,GTK_SHADOW_ETCHED_IN);    tmpsocket=createEntry(tframe,sqlsocket);    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,                      0,2,5,6,                      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(connectDatabaseClickOK),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(saveDatabaseSetClickOK),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 connectDatabaseClickOK(GtkWidget * widget,gpointer data){   char dbhost[50];   char dbuser[20];   char dbpassword[20];   unsigned int dbport;   char dbsocket[100];   char tmp[256];     strcpy(dbhost,gtk_entry_get_text(GTK_ENTRY(tmphost)));  strcpy(dbuser,gtk_entry_get_text(GTK_ENTRY(tmpuser)));  strcpy(dbpassword,gtk_entry_get_text(GTK_ENTRY(tmppassword)));  strcpy(tmp,gtk_entry_get_text(GTK_ENTRY(tmpport)));  dbport=atoi(tmp);  strcpy(dbsocket,gtk_entry_get_text(GTK_ENTRY(tmpsocket)));        if(!stocksql->connectStockSql(dbhost,dbuser,dbpassword,      NULL,dbport,dbsocket,0)){    sprintf(tmp,"Failed to connect to database:    Error: %s\n",stocksql->stockSqlError());           showMessage("提示",tmp);    return;  }  else{     sprintf(tmp,"connect to sql database SUCCESS!\n");     showMessage("提示",tmp);     return;  }   }void saveDatabaseSetClickOK(GtkWidget * widget,gpointer data){  char tmp[256];  strcpy(sqlhost,gtk_entry_get_text(GTK_ENTRY(tmphost)));  strcpy(sqluser,gtk_entry_get_text(GTK_ENTRY(tmpuser)));  strcpy(sqlpassword,gtk_entry_get_text(GTK_ENTRY(tmppassword)));  strcpy(tmp,gtk_entry_get_text(GTK_ENTRY(tmpport)));  sqlport=atoi(tmp);  strcpy(sqlsocket,gtk_entry_get_text(GTK_ENTRY(tmpsocket)));  writeCfg();  showMessage("提示","保存完毕!");}void createDatabaseInstallPage(GtkWidget *frame){    GtkWidget *tmptable;    GtkWidget *tframe;    GtkWidget *i_box2,*i_but;         tmptable = createTable(frame,6,3,TRUE);    tframe=createFrameFromTable(tmptable,NULL,                        0,1,0,1,0,0,GTK_SHADOW_ETCHED_IN);    createLabel(tframe,"股票主数据库");     tframe=createFrameFromTable(tmptable,NULL,                         1,2,0,1,0,0,GTK_SHADOW_ETCHED_IN);    createLabel(tframe,STOCKDATABASE);     tframe=createFrameFromTable(tmptable,NULL,                         2,3,0,1,0,0,GTK_SHADOW_ETCHED_IN);    tmpzt1=createLabel(tframe,"              ");     tframe=createFrameFromTable(tmptable,NULL,                        0,1,1,2,0,0,GTK_SHADOW_ETCHED_IN);    createLabel(tframe,"日K线数据库");     tframe=createFrameFromTable(tmptable,NULL,                         1,2,1,2,0,0,GTK_SHADOW_ETCHED_IN);    createLabel(tframe,DAYKLINEDATABASE);     tframe=createFrameFromTable(tmptable,NULL,                         2,3,1,2,0,0,GTK_SHADOW_ETCHED_IN);    tmpzt2=createLabel(tframe,"              ");     tframe=createFrameFromTable(tmptable,NULL,                        0,1,2,3,0,0,GTK_SHADOW_ETCHED_IN);    createLabel(tframe,"分钟K线数据库");     tframe=createFrameFromTable(tmptable,NULL,                         1,2,2,3,0,0,GTK_SHADOW_ETCHED_IN);    createLabel(tframe,MINKLINEDATABASE);     tframe=createFrameFromTable(tmptable,NULL,                         2,3,2,3,0,0,GTK_SHADOW_ETCHED_IN);    tmpzt3=createLabel(tframe,"              ");     tframe=createFrameFromTable(tmptable,NULL,                        0,1,3,4,0,0,GTK_SHADOW_ETCHED_IN);    createLabel(tframe,"分时线数据库");     tframe=createFrameFromTable(tmptable,NULL,                         1,2,3,4,0,0,GTK_SHADOW_ETCHED_IN);    createLabel(tframe,STOCKFSDATABASE);     tframe=createFrameFromTable(tmptable,NULL,                         2,3,3,4,0,0,GTK_SHADOW_ETCHED_IN);    tmpzt4=createLabel(tframe,"              ");     tframe=createFrameFromTable(tmptable,NULL,                        0,1,4,5,0,0,GTK_SHADOW_ETCHED_IN);    createLabel(tframe,"分笔成交数据库");     tframe=createFrameFromTable(tmptable,NULL,                         1,2,4,5,0,0,GTK_SHADOW_ETCHED_IN);    createLabel(tframe,STOCKTRACEDATABASE);     tframe=createFrameFromTable(tmptable,NULL,                         2,3,4,5,0,0,GTK_SHADOW_ETCHED_IN);    tmpzt5=createLabel(tframe,"              ");     checkDatabaseStatus();        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,                      0,3,5,6,                      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(databaseInstallClickOK),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 checkDatabaseStatus(void){   if(stocksql->isExistStockDatabase())       gtk_label_set_text(GTK_LABEL(tmpzt1),"已建立");   else       gtk_label_set_text(GTK_LABEL(tmpzt1),"未建立");   if(stocksql->isExistDayKlineDatabase())       gtk_label_set_text(GTK_LABEL(tmpzt2),"已建立");   else       gtk_label_set_text(GTK_LABEL(tmpzt2),"未建立");   if(stocksql->isExistMinKlineDatabase())       gtk_label_set_text(GTK_LABEL(tmpzt3),"已建立");   else       gtk_label_set_text(GTK_LABEL(tmpzt3),"未建立");   if(stocksql->isExistFsDatabase())       gtk_label_set_text(GTK_LABEL(tmpzt4),"已建立");   else       gtk_label_set_text(GTK_LABEL(tmpzt4),"未建立");   if(stocksql->isExistTraceDatabase())       gtk_label_set_text(GTK_LABEL(tmpzt5),"已建立");   else       gtk_label_set_text(GTK_LABEL(tmpzt5),"未建立");}void databaseInstallClickOK(GtkWidget * widget,gpointer data){   int flag=SUCCESS;      if(!stocksql->isExistStockDatabase())      flag=stocksql->createStockDatabase();   if(!stocksql->isExistDayKlineDatabase())      flag=flag&stocksql->createDayKlineDatabase();   if(!stocksql->isExistMinKlineDatabase())      flag=flag&stocksql->createMinKlineDatabase();   if(!stocksql->isExistFsDatabase())      flag=flag&stocksql->createFsDatabase();   if(!stocksql->isExistTraceDatabase())      flag=flag&stocksql->createTraceDatabase();   if(!stocksql->isExistInitTable())      flag=flag&stocksql->createInitTable();      if(flag)     showMessage("提示","建立完成!");   else        showMessage("提示","建立失败!");   checkDatabaseStatus();   }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -