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

📄 gmclient.h

📁 用GTK+做用户界面 股票每日分时行情用数据库管理——MYSQL 软件应用方式客户端/服务器模式 基于TCP/IP的C/S通信模式 实现STOCK
💻 H
字号:
#ifndef __GMCLIENT_H__#define __GMCLIENT_H__#include <gtk/gtk.h>#include <gdk_imlib.h>#include <mysql/mysql.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#define VERSION "伯乐 v0.0.7"#define DEBUG 1#define SHBZ 0#define SZBZ 1#define VERTICAL  GTK_ORIENTATION_VERTICAL#define HORIZONTAL GTK_ORIENTATION_HORIZONTAL#define LEFT GTK_POS_LEFT#define RIGHT GTK_POS_RIGHT#define TOP GTK_POS_TOP#define BOTTOM GTK_POS_BOTTOM#define DEFAULT_STYLE GTK_BUTTONBOX_DEFAULT_STYLE#define SPREAD GTK_BUTTONBOX_SPREAD#define EDGE GTK_BUTTONBOX_EDGE#define START GTK_BUTTONBOX_START#define END GTK_BUTTONBOX_END#define CHARADD    1 #define CHARWIDTH  20#define CHARHEIGHT 20#define SUCCESS 1#define FAIL    0#define SHCODELEN 6#define SZCODELEN 4#define MAXCFGFILELINENUM 256#define MAXCFGNAMELEN 256#define MAXCFGLINELEN 4096#define CFGFILE   "stock.conf"#define SHTBLPATH "./data/sh/"#define SZTBLPATH "./data/sz/"#define SHDAYPATH "./data/sh/day/"#define SZDAYPATH "./data/sz/day/"#define SHBASEPATH "./data/sh/base/"#define SZBASEPATH "./data/sz/base/"/*定义图形显示区域*/#define KLINEAREA  1#define COLUMEAREA 2#define JSZBAREA   3#define MAXFSLINENUM 240#define MAXTRACENUM  10#define MAXGPMXLISTNUM 23#define JSFLAG       0#define FSFLAG       1#define ZSFSFLAG     2#define ZSFLAG       3#define GPMXLISTFLAG 4extern GtkWidget * popmenu;/* define gtkwidget draw area */extern GtkWidget *drawing_area;/*define stockcode entry*/extern GtkWidget *stockentry;//股票初始化系统表typedef struct{    int initday;    int nametblbz;    int initflag;}STOCKINIT;extern STOCKINIT stockinit; /*define stock data store struct*/typedef struct{    int jydate;   //交易日期    int kpj;      //开盘价    int zgj;      //最高价    int zdj;      //最低价    int spj;      //收盘价    long cjje;    //成交金额    long cjsl;    //成交数量}STOCK;  extern STOCK *stock;/*股票代码表结构*/typedef struct{    char type;     //股票类型    char code[7];  //股票代码    char name[9];  //股票名称    float zsp;}STOCKNAMETBL;extern STOCKNAMETBL *shtbl;extern STOCKNAMETBL *sztbl;/*股票买卖盘明细结构*/typedef struct{    char code[6];    float cjj;   //成交价    float jj;    //均价    float zd;    //涨跌    float zdf;   //涨跌幅    float zsp;   //昨日收盘价    float kpj;   //开盘价    float zgj;   //最高价    float zdj;   //最低价    float zss;   //总手数    float xss;   //现手数    float lb;    //量比    float wb;    //委比    float cjje;  //成交金额    float zf;    //震幅    float wp;    //外盘    float np;    //内盘    float mrj1;    float mrj2;    float mrj3;    float mrl1;    float mrl2;    float mrl3;    float mcj1;    float mcj2;    float mcj3;    float mcl1;    float mcl2;    float mcl3;}STOCKGPMX;extern STOCKGPMX gpmx;/*股票排行榜列表结构*/typedef struct{    char code[6];    char name[8]; //股票名称    float cjj;   //成交价    float jj;    //均价    float zd;    //涨跌    float zdf;   //涨跌幅    float zsp;   //昨日收盘价    float kpj;   //开盘价    float zgj;   //最高价    float zdj;   //最低价    float zss;   //总手数    float xss;   //现手数    float lb;    //量比    float wb;    //委比    float cjje;  //成交金额    float zf;    //震幅    float wp;    //外盘    float np;    //内盘    float mrj;    float mcj;}STOCKGPMXLIST;extern STOCKGPMXLIST *gpmxlist;extern int frechgpmxlistflag;extern int gpmxlistsum;typedef struct{    int time;     //交易时间    int price;    //成交价格    int avgprice; //成交均价    int colume;   //成交量}STOCKFS;extern STOCKFS fs[MAXFSLINENUM]; typedef struct{    int no;      //成交编号    int time;    //交易时间    float price;   //成交价格    float colume;  //成交数量    float mrj;     //买入价    float mcj;     //卖出价     float zdf;     //涨跌幅    char bz;     //买卖方向 ,用于内外盘}STOCKTRACE;extern STOCKTRACE trace[MAXTRACENUM];/*股票买卖分笔明细数目*/extern int tracesum;/*股票颜色结构typedef struct{    long red;    long green;    long blue;}STOCKCOLOR;*/typedef struct{    gchar fontlabel[20];     gchar fontname[20];    gchar *font;}FONTARRAY;typedef struct{    gchar colorlabel[20];     gchar colorname[20];    GdkColor *color;}COLORARRAY;/*数据库参数配置*/extern char sqlhost[50];extern char sqluser[20];extern char sqlpassword[20];extern unsigned int sqlport;extern char sqlsocket[100];/*颜色参数配置*/extern GdkColor background;extern GdkColor layoutline;extern GdkColor font;extern GdkColor klineup;extern GdkColor klinedown;extern GdkColor aline;extern GdkColor kavgline1;extern GdkColor kavgline2;extern GdkColor kavgline3;extern GdkColor kavgline4;extern GdkColor kavgline5;extern GdkColor jszb1;extern GdkColor jszb2;extern GdkColor jszb3;extern GdkColor jszb4;extern GdkColor jszb5;extern GdkColor up;extern GdkColor down;extern GdkColor equal;extern GdkColor fsline;extern GdkColor fsavgline;extern GdkColor fscolume;/*字体参数配置*/extern gchar eg[MAXCFGLINELEN];extern gchar si[MAXCFGLINELEN];extern gchar sr[MAXCFGLINELEN];extern COLORARRAY ca[];extern FONTARRAY fa[];typedef struct {    char *menuname;    char *accelerator;    void (*callback)(GtkWidget *widget,gpointer data);    gpointer data;    GtkWidget *widget;} SUBMENU;/*配置文件读出标志 0--未读出 1--读出*/extern int cfgfileflag;/*上海.深圳股票总数*/extern int shstocksum;extern int szstocksum;/*股票代码表取出标志  0--未取出 1--取出*/extern int frechtblflag;/*frech stock array flag是否取出K线结构 0--no 1-yes*/extern int frechflag;/* the sum for frech stock k line从文件中取出K线总数*/extern int stocksum;/*取出的分时线数量*/extern int fssum;/*分时数据取出标志 0--未取出 1-取出*/extern int frechfsflag;/* 区间内股票最高价*/extern int areazgj;/* 区间内股票最低价*/extern int areazdj;/* 区间内成交量最大值*/extern long areacjl;/*股票日线文件路径*/extern char stockpath[50];/*股票代码和名称*/extern char stockcode[10];extern char stockname[20];/* define gdkdrawable and gdkgc for draw area*/typedef struct{    GdkDrawable *pixmap;    GdkGC       *gc;}typgraphics;   /*k线结构起始位址*/extern int areastart;/*k线的宽度*/extern int klinewidth;/*鼠标线移动位址*/extern int mouselinex;extern int mouseliney;/*鼠标线显示标志  0--no 1--yes*/extern int mouselineflag;/*十字鼠标线能否显示标志  0--no 1--yes*/extern int cursormouseflag; /*区域统计打开标志  0--no 1--yes*/extern gint areatotalflag;/*区域统计开始标志  0--no 1--yes*/extern gint areatotalstartflag;/*区域统计开始位址*/extern gint areatotalstartadr;/*区域统计结束位址*/extern gint areatotalendadr;/*价格均线显示标志  0--no 1--yes*/extern int drawavglineflag;/*成交量均线显示标志  0--no 1--yes*/extern int drawavgcolumeflag;/*走势线类型    1--K线 2--美国线*/extern int linetype;/*画图区间K线数量*/extern int areaklinenum;/*k线和成交量画图区域的宽度和高度*/extern int klineareawidth;extern int klineareaheight;/*k线和成交量画图区域的起始座标x,y*/extern int klineareax;extern int klineareay;/*行情显示明细窗口打开标志 1--打开 0--关闭*/extern gint hqwinflag;extern int candrawflag;/*分时区域显示标志 0--显示指标区域 1--显示分时区域*/extern int fsflag;/*分时指标显示标志 0--不显示 1--显示*/extern int fszbflag;/*分时数据最高价,最低价,最大成交量*/extern int fspricezgj;extern int fspricezdj;extern int fsmaxcolume;/*key.c*/void AddKey (GdkEventKey *event);void RemoveKey (GdkEventKey *event);
void HandleKeysPressed ();void whatKey(GdkEventKey *event);gint motion_notify (GtkWidget *widget, GdkEventMotion *event);
gint button_notify (GtkWidget *widget, GdkEventButton *event);gint releasebutton_notify (GtkWidget *widget, GdkEventButton *event);gchar * ltrimStr(char *str);gchar * rtrimStr(char *str);gchar * allTrimStr(char *str);/*showhqwin.c*/void openHqWin();void closeHqWin();void showHqWin();/*areatotal.c*/void closeAreaTotalWin();void showAreaTotalWin(gint start,gint end);void openAreaTotalWin();/*stkfile*/void stock_init();int frechStock(char *filename);int frechStockNameTbl(void);gint frechShStockTbl(gchar *name);gint frechSzStockTbl(gchar *name);int saveStockNameTbl(void);int codeToName(int bz,char *code);char juiceStockType(char bz,char *code);void stock_quit();void showF10Info();void showPrice();gchar *findNextStock(gint bz);gchar *findPreStock(gint bz);int copyFile(char *scrfile,char *destfile);int installKlineData(char *scrfile,char *destcode);int frechFsData(char *code);/*jszb.c*/int jszbInit();int getAverageLine(int addr,int num);long getAverageColume(int addr,int num);int getAreazgj(int,int);int getAreazdj(int,int);long getAreacjl(int areastart,int areaend);long getAreacjlTotal(int areastart,int areaend);long getAreacjjeTotal(int areastart,int areaend);int getMaxFsColume();int getFsPriceZgj();int getFsPriceZdj();/*draw*/gint expose_event (GtkWidget *widget, GdkEventExpose *event);gint configure_event (GtkWidget *widget, GdkEventConfigure *event);
gint Repaint();
void drawJsRecord(int num);void drawInit();void drawXcur(int x,int y);void drawarea_init();void drawTotalRectangle(int start,int end);void changeAllPenColor(void);void changeAllFont(void);gint drawTime(GtkWidget *widget);/*menu*/void createMenu(GtkWidget *);void toolBar(GtkWidget *);GtkWidget *createWidgetFromGtk(GtkWidget *,char **);GtkWidget *createWidgetFromXpm (GtkWidget *window, gchar **xpm_data);/*sys*/gint quitSys(GtkWidget *widget,gpointer gdata);//void printit();//void loginHost();//void loginOk();//void loginCancel();/*misc*/void NO_FUNC();GtkWidget *createWindow(char *title, gint size_x, gint size_y,                  gint position_x, gint position_y, gint border,                  GtkSignalFunc window_destroy);GtkWidget *createDialogWindow(char *title, gint size_x,   gint size_y,gint position_x, gint position_y, gint border,   GtkSignalFunc window_destroy);GtkWidget *createPaned(GtkWidget *parent, gint placement, gint handle,gint gutter);GtkWidget *createBox(GtkWidget *parent, gint placement, gint border);GtkWidget *createBoxFixed(GtkWidget *parent, gint placement, gint border);GtkWidget *createTable(GtkWidget *parent,gint row,gint col, gint homogeneous);void createDialogBox(gchar *title, gchar *context,gint x,gint y, GtkSignalFunc callback);void showMessage(char *,char *);void UpdateProgress (long pos, long len);void StartProgress (gchar *);void EndProgress ();GtkWidget *createClist(GtkWidget *parent, gint cols, GtkSignalFunc item_selected);void setupClist(GtkWidget *list, gint col, gchar *title, gint width);gchar *getClist();gchar *getClistText(GtkWidget *list, gint c, gint r);gint getClistRow();gint setClistText(GtkWidget *list, gint c, gint r,gchar *text);void insertClist(GtkWidget *list, gchar *text[]);void insertClistRow(GtkWidget *list, gchar *text[]);void removeClist(GtkWidget *list);GtkWidget *createFrame(GtkWidget *parent, gchar *text, gfloat xalign,gfloat yalign,GtkShadowType type);GtkWidget *createFrameFromTable(GtkWidget *parent, gchar *text,gint left,gint right,gint top,gint bottom, gfloat xalign,gfloat yalign,GtkShadowType type);GtkWidget *createLabel(GtkWidget *parent, gchar *text);GtkWidget *createEntry(GtkWidget *parent, gchar *initial_text);GtkWidget *createEntryWithMaxLength(GtkWidget *parent, gchar *initial_text,gint num);GtkWidget *createComboBox(GtkWidget *parent,GList *items);char * getComboBoxText(GtkWidget *combobox);char *getFilename ();char *createFilenameDialog (char *sTitle);
GtkWidget *createText(GtkWidget *parent, gint editable);void insertFileInText(GtkWidget *textarea, FILE *fileid);void endProgram(GtkWidget *widget,gpointer data);GtkWidget *createMenuBar(GtkWidget *parent);GtkWidget *insertMenuBar(GtkWidget *menubar, gchar *name, gint justify);GtkWidget *insertMenuItem(GtkWidget *menu, gchar *name,gchar  *saccel,GtkSignalFunc item_clicked);GtkWidget *insertChkMenuItem(GtkWidget *menu, gchar *name,GtkSignalFunc item_clicked,gint flag);GtkWidget *insertItemSubMenu(GtkWidget *menu, gchar *name);void insertSubMenu(GtkWidget *menu,SUBMENU *submenu,int num);GtkWidget *insertRadioMenuItem(GtkWidget *menu, gchar *items[], gint num,GtkSignalFunc item_clicked);GtkWidget *insertMenuLine(GtkWidget *menu);GtkWidget *createToolbar(GtkWidget *parent, int orientation);void insertToolbar(GtkWidget *toolbar, gchar *name, gchar *description, GtkWidget *icon, GtkSignalFunc button_clicked);GtkWidget *createNotebook(GtkWidget *parent, gint placement);GtkWidget *addNotebookNewPage(GtkWidget *notebook, gchar *title, gchar *description);GtkWidget * createList(GtkWidget *parent,gchar *str[],gint num,GtkSignalFunc callback);GSList *createRadioButtons(GtkWidget *parent, gchar *items[], gint num);gint getRadioButtons();void setDefaultRadioButtons(gint choice);GtkWidget *createCheckButton(GtkWidget *parent, gchar *text, gint default_state, GtkSignalFunc button_checked);gint getCheckButton(GtkWidget *checkbutton);void getDialogColor (GdkColor *color);GtkStyle *newStyle (GdkColor c,GdkFont *f);void setStyleRecursively (GtkWidget *widget, gpointer data);GtkWidget *createStyleButton (GtkWidget *vbox, char *label,GdkColor c,GdkFont *f);gchar *GetFont ();/*checkhis.c*/void curStockCheck();void allStockCheck();/*checknow.c*/void recentlyIncrease();void recentlyDecrease();void recentlyHengpan();void recentlyFangliang();/*choicestock.c*/void choiceOne();/*tblman.c*/void stockTblWh();/*dataman.c*/void dataManager();/*system.c*/void setSystem();/*cfgfile.c*/int readCfg(void);void releaseCfgRecord(void);int writeCfg(void);/*calculator.c*/int calculatorWindow();/*database*/void checkDrawAvgLine();void checkDrawAvgColume();void selectLineType(GtkWidget *widget,gint type);void checkCursorMouse();void checkAreaTotal();void showStockZS(GtkWidget *widget,gpointer data);void choiceJszb(GtkWidget *widget,gpointer data);void selectJszb(GtkWidget *widget,gint data);void setJszb(GtkWidget *widget,gpointer data);void connectServer();void disconnectServer();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();void topicHelp();void mywww();void about();#endif

⌨️ 快捷键说明

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