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

📄 data.c

📁 用GTK+做用户界面 股票每日分时行情用数据库管理——MYSQL 软件应用方式客户端/服务器模式 基于TCP/IP的C/S通信模式 实现STOCK
💻 C
字号:
#include <unistd.h>#include "gmclient.h"#include "stocksql.h"#include "stockclient.h"#include "jszb.h"void selectLineType(GtkWidget *widget,gint type){   if(!candrawflag) return;   linetype = type+1;   Repaint();    }void checkDrawAvgLine(){   if(!candrawflag) return;   if(drawavglineflag)  drawavglineflag = 0;   else    drawavglineflag = 1;   Repaint();}void checkDrawAvgColume(){   if(!candrawflag) return;   if(drawavgcolumeflag)  drawavgcolumeflag = 0;   else    drawavgcolumeflag = 1;   Repaint();}void checkCursorMouse(){   if(!candrawflag) return;   if(cursormouseflag)   {     cursormouseflag = 0;     if(hqwinflag) closeHqWin();   }   else   {       cursormouseflag = 1;     if(!hqwinflag) openHqWin();   }          Repaint();}void checkAreaTotal(){   if(!candrawflag) return;   if(!areatotalflag)   {     openAreaTotalWin();   }   else   {     closeAreaTotalWin();   }       }/*------------------------------------------------/ 显示指数K线(菜单选项)????????????????/------------------------------------------------*/void showStockZS(GtkWidget *widget,gpointer data){   char *tmp;         tmp=(char *)data;   printf("%s\n",tmp);   if(strlen(tmp)!= SHCODELEN && strlen(tmp)!=SZCODELEN){       return;   }   if(frechStock(tmp))      Repaint();   return;}/*------------------------------------------------/ 显示指数K线(菜单选项)????????????????/------------------------------------------------*/void selectJszb(GtkWidget *widget,gint data){//   char *tmp;       //   tmp=(char *)data;   printf("%d\n",data);//   if(findJszb(tmp))//      Repaint();   return;}void choiceJszb(GtkWidget *widget,gpointer data){  if(stkcli->dealFsline(stockcode))     printf("deal fs line success.\n");  else     printf("deal fs line fail.\n");/*  stockinit.nametblbz=0;  stockinit.initflag =0;  if(stocksql->updateInitData(stockinit))     printf("update init success.\n");  else     printf("update init fail.\n");  if(stkcli->dealNameTbl()){     if(stocksql->insertGpmxDataFromNameTblWithZsp())        printf("insert gpmx success.\n");     else        printf("insert gpmx fail.\n");  }  else{    printf("deal nametbl fail.\n");  }    stocksql->createInitTable();     if(stocksql->getSqlTraceData("600001")){     for(i=0;i<tracesum;i++)       printf("%d %d %d %c\n",trace[i].time,trace[i].price,          trace[i].colume,trace[i].bz);   }   else{      printf("get sql fs data fail.\n");   }   stocksql->deleteFsData("600001");    if(stocksql->createTraceDatabase()==SUCCESS)      printf("create fs database success.\n");   else       printf("create fs database fail.\n");   int i;   int x;   int no;   for(x=1;x<=shstocksum;x++){     if(stocksql->getSqlDayKline(shtbl[x].code)){       for(i=0;i<240 && i<stocksum-1;i++){         if(i>=0 && i<30)          fs[i].time=930+i;         if(i>=30 && i<90)          fs[i].time=1000+i-30;         if(i>=90 && i<120)          fs[i].time=1100+i-90;         if(i>=120 && i<180)          fs[i].time=1300+i-120;         if(i>=180 && i<240)          fs[i].time=1400+i-180;         no=stocksum>240?240:stocksum-1;         fs[i].price=stock[stocksum-240+i].spj;         fs[i].avgprice=getAverageLine(stocksum-240+i,5);         fs[i].colume=stock[stocksum-240+i].cjsl/1000;       }      stocksql->insertFsData(shtbl[x].code,240,fs);      printf("insert %s fs data success.\n",shtbl[x].code);    }    else{      printf("insert %s fs data fail.\n",shtbl[x].code);    }  }         int i,x;   STOCKTRACE *tmptrace;      tmptrace=(STOCKTRACE *)g_malloc(sizeof(STOCKTRACE)*240);    for(x=1;x<=shstocksum;x++){     if(stocksql->getSqlStockData(shtbl[x].code)){       for(i=0;i<240 && i<fssum;i++){         tmptrace[i].no=i;          tmptrace[i].time=fs[i].time;          tmptrace[i].price=(float)fs[i].price;         tmptrace[i].price=tmptrace[i].price/100;         tmptrace[i].colume=fs[i].colume;         tmptrace[i].mrj=tmptrace[i].price-0.01;         tmptrace[i].mcj=tmptrace[i].price+0.01;         tmptrace[i].zdf=(tmptrace[i].price-gpmx.zsp)*100/gpmx.zsp;        if(tmptrace[i].zdf>=0)           tmptrace[i].bz='1';         else           tmptrace[i].bz='0';       }     if(stocksql->insertTraceData(shtbl[x].code,fssum,tmptrace))        printf("insert trace %s data success.\n",shtbl[x].code);     else        printf("insert trace %s data fail.\n",shtbl[x].code);//     g_free(tmptrace);      }     else{       printf("insert trace %s data fail.\n",shtbl[x].code);     }   }            int i;   for(i=1;i<=shstocksum;i++){      if(stocksql->dropTraceTable(shtbl[i].code)==SUCCESS)         printf("drop fs table %s success.\n",shtbl[i].code);      else                  printf("drop fs table %s fail.\n",shtbl[i].code);   }   for(i=1;i<=szstocksum;i++){      if(stocksql->dropTraceTable(sztbl[i].code)==SUCCESS)         printf("drop fs table %s success.\n",sztbl[i].code);      else                  printf("drop fs table %s fail.\n",sztbl[i].code);   }    int i;      for(i=1;i<=shstocksum;i++){      if(stocksql->createTraceTable(shtbl[i].code)==SUCCESS)         printf("create trace table %s success.\n",shtbl[i].code);      else                  printf("create trace table %s fail.\n",shtbl[i].code);   }   for(i=1;i<=szstocksum;i++){      if(stocksql->createTraceTable(sztbl[i].code)==SUCCESS)         printf("create trace table %s success.\n",sztbl[i].code);      else                  printf("create trace table %s fail.\n",sztbl[i].code);   }     stocksql->createGpmxTable(SHBZ);     stocksql->createGpmxTable(SZBZ);     if(stocksql->insertGpmxDataFromNameTbl(SHBZ) &&        stocksql->insertGpmxDataFromNameTbl(SZBZ))        printf("install data success!\n");     else        printf("install data fail!\n");           STOCKGPMX tmp;   int x;   float jg;  for(x=1;x<=shstocksum;x++){   if(stocksql->getSqlFsData(shtbl[x].code)){     strcpy(tmp.code,shtbl[x].code);    jg=fs[fssum-1].price;    tmp.cjj=jg/100;    tmp.jj=jg/100;    jg=fs[0].price;    tmp.zsp=jg/100;    tmp.kpj=jg/100;    jg=getFsPriceZgj();    tmp.zgj=jg/100;    jg=getFsPriceZdj();    tmp.zdj=jg/100;    tmp.zd=tmp.cjj-tmp.zsp;    tmp.zdf=(tmp.cjj-tmp.zsp)*100/tmp.zsp;    tmp.zss=fs[fssum-1].colume*200;    tmp.xss=fs[fssum-1].colume;    tmp.lb=32.5;    tmp.wb=54.3;    tmp.cjje=fs[fssum-1].colume*fs[fssum-1].price/10;    tmp.zf=(tmp.zgj-tmp.zdj)*100/tmp.zsp;    tmp.wp=fs[fssum-1].colume*400/3;    tmp.np=fs[fssum-1].colume*200/3;    jg=fs[fssum-1].price;    jg=jg/100;    tmp.mrj1=jg-0.01;    tmp.mrj2=jg-0.02;    tmp.mrj3=jg-0.03;    tmp.mrl1=fs[fssum-1].colume;    tmp.mrl2=fs[fssum-1].colume*2;    tmp.mrl3=fs[fssum-1].colume*3;    tmp.mcj1=jg+0.01;    tmp.mcj2=jg+0.02;    tmp.mcj3=jg+0.03;    tmp.mcl1=fs[fssum-1].colume*2;    tmp.mcl2=fs[fssum-1].colume*3;    tmp.mcl3=fs[fssum-1].colume*4;    if(stocksql->updateGpmxData(SHBZ,tmp))        printf("update gpmx %s success!\n",shtbl[x].code);    else        printf("update gpmx %s fail!\n",shtbl[x].code);   }   else{        printf("update gpmx %s fail!\n",shtbl[x].code);   }  }   if(stocksql->getSqlGpmxData(SHBZ,"600001"))      printf("get sql gpmx success.\n");   else      printf("get sql gpmx fail.\n");     if(stocksql->deleteGpmxData(SHBZ) &&        stocksql->deleteGpmxData(SZBZ))        printf("delete data success!\n");     else        printf("delete data fail!\n");*/}void setJszb(GtkWidget *widget,gpointer data){/*  printf("%d %d %d %d",frechflag,frechtblflag,shstocksum,     szstocksum);*/   int i;      for(i=0;i<gpmxlistsum &&i<MAXGPMXLISTNUM;i++)    printf("%s %s %10.2f\n",gpmxlist[i].code,gpmxlist[i].name,gpmxlist[i].zsp);}/*void connectServer(){   if(stkcli->dealLogin("lxw","lxwlxw"))     printf("login server success!\n");   else     printf("login server fail!\n");      }void disconnectServer(){   if(stkcli->dealDisconnect())     printf("disconnect server success!\n");   else     printf("disconnect server fail!\n");}*/void dropDatabase(){}void renameDatabase(){}void copyDatabase(){}void importDatabase(){}void dumpDatabase(){}void insertField(){}void deleteField(){}void changeField(){}void searchRecord(){}void insertRecord(){}void deleteRecord(){}void cutRecord(){}void copyRecord(){}void pasteRecord(){}void setPath(){    }void insertUser(){}void deleteUser(){}void pwdUser(){}void rightUser(){}void sysItem(){}void indexHelp(){   pid_t pid;//   int *status;   pid=fork();   if(pid==0){     system("netscape ./html/index.html");     exit(0);   }   return;}void topicHelp(){}void mywww(){     system("netscape http://go.163.com/~wyp9999");}void about(){   showMessage("关于","    伯  乐(V0.0.3)            编者:吴燕平 copyright 2000        e_mail:wyp99999@yeah.net        网址:http://wyp99999.yeah.net");}

⌨️ 快捷键说明

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