亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? minigui.txt

?? 這是一個在minigui下面用來實現曲線動態顯示功能的一段代碼
?? TXT
?? 第 1 頁 / 共 3 頁
字號:
/*****************************************************************************************
**                              實驗程之曲線動態顯示 
**
**--------------文件信息--------------------------------------------------------------------------------
**文   件   名: qx.C
**創   建   人: 
**最后修改日期: 2006年2月9日
**描        述: 一個簡單的畫曲線程序,用于對采集的數據進行圖形方式顯示 
********************************************************************************************************/

#include <stdio.h>
#include <string.h>
#include <minigui/common.h>
#include <minigui/minigui.h>
#include <minigui/gdi.h>
#include <minigui/window.h>
#include <minigui/control.h>//控件的頭文件 
#include <pthread.h>        //線程頭文件 
//----------------------------網絡頭文件--------------------
#include <sys/types.h>
#include <sys/socket.h>
#include <unistd.h>
#include <netdb.h>
#include <netinet/in.h>

//********************************控件定義及消息定義 ***********************************************************
#define IDC_STATIC                                   100
#define IDC_SELEL                                    110
#define IDC_STAT                                     120             //標簽框的ID 
#define IDC_EDIT                                     160             //刷新標簽框的ID 
#define IDC_STAT1                                     121
#define MSG_MY1                                      (MSG_USER+1)    //自定義 加一消息 
#define MSG_MY2                                      (MSG_USER+2)    //自定義 減一消息 
//********************************控制過程參數定義 *************************************************************
#define TIME_CAIJI                                    200                //采集時間2秒
#define TIME_SHUAXIN                                  200                //刷新顯示時間2秒 
#define TIME_BAOCUN                                   400                //保存數據時間間隔 

#define QUXIANSHU                                     4                  //曲線數量 
#define LIANJIEDIANSHU                                20                  //構成曲線的點數 
#define WIDTH                                         100                //曲線屏的寬度 
#define HEIGHT                                        60                 //曲線屏的高度 

#define XINHAO_MAICHONG                               1                  //信號類型為脈沖 
#define XINHAO_MONI_1_5V                              2                  //信號類型為模擬0-5V
#define XINHAO_MONI_0_5V                              3                  //信號類型為模擬1-5V
#define XINHAO_MONI_0_3V                              4                  //信號類型為模擬0-3V
#define XINHAO_SHUZI                                  5                  //信號類型為數字信號 


//--------------------------------------------網絡端口定義-----------------------------
#define RECEIVER_PORT  40          //指定接收端口
#define SENDER_PORT    41          //指定發送端口
#define  BACKLOG    100 
#define  BUFSIZE   100
#define  MAXSELECT 100
#define  MAXSIZE   80
//------------------------------------------------------------------------
#define  BUFFER_SIZE 400
//************************************定義類型******************************************************************* 
typedef struct huaxian_type{                                //定義曲線函數參數類型    
float Max[QUXIANSHU];
float Min[QUXIANSHU];
float LeiJi[QUXIANSHU][LIANJIEDIANSHU];
int dian;
HDC XC_hdc;
}HUAXIAN, *PHUAXIAN;

//------------
typedef struct miniInit_type{                                //初始化函數參數類型    

HWND hStaticP[8];
HWND hStaticT[8];
HWND hStaticS[8];
HWND hStaticM[8];

HWND hEditP[8];
HWND hEditT[8];
HWND hEditS[8];
HWND hEditM[8];

char * mingcheng[32];                                       //標簽名 
BITMAP bmp_TX;                                              //圖象 
BITMAP bmp_WB; 

} MINIINIT, *PMINIINIT;
//----------------
typedef struct Maxmin{                                //初始化函數參數類型    
float Max[32];
float Min[32];

} MAXMIN, *PMAXMIN;
//---------------------------------------            //線程共享數據區結構 
struct prodcons {   //定義結構類型 
       char * buffer[BUFFER_SIZE]; /* 緩沖區 */
       pthread_mutex_t lock; /* 互斥量 */
       int readpos, writepos; /* 讀寫指針 */
       pthread_cond_t notempty; /* 信號不空條件 */
       pthread_cond_t notfull; /* 信號不滿條件*/
};

//*************************************定義全局變量***************************************************************

static float XinHaoMax[QUXIANSHU];                          //信號上限 
static float XinHaoMin[QUXIANSHU];                          //信號下限

 
static float ShunShi[QUXIANSHU][LIANJIEDIANSHU];                            //瞬時量 
static float Leiji[QUXIANSHU][LIANJIEDIANSHU];                              //累積量 
static float YuanShiLeiji[QUXIANSHU][LIANJIEDIANSHU];                       //原始累積量
  
static LOGFONT  *logfontgb12;                                //定義字體用于顯示中文 

static int jishu;                                           //計數用 
static char ji[1];                                          //控件顯示計數值用 
char *oooo="中國人";                                        //字符串 
int Xs_Fs;                                                  //顯示方式 

pthread_t th_a;                            //定義線程 


//---------------------------
    int client[MAXSELECT];
    int sockfd,con_fd,sock,unmbytes,ret,maxfd,maxi,i,nready,len;
    fd_set  allset,rset;
    struct sockaddr_in my_addr;
    struct sockaddr_in their_addr;
    int sin_size;
    char recvs[MAXSIZE];
    char * buf;
    struct hostent *hp;
    struct prodcons buffer;    //定義變量為新定義的類型共享數據區 
    //創建監聽套接字
//------------------------------------
//*************************************定義全局函數***************************************************************
static PMINIINIT InitMiniQX(HWND hwnd);                  //程序初始化 
static void huaxian(PHUAXIAN pHuanXian);                 //內存中畫曲線 
static void BaoCun(void);                                   //參數保存 
static void Show(PMINIINIT Xianshi,int panduan);             //控件是否顯示 
static PMAXMIN CanShu(PMAXMIN zuizhi,int fls);               //參數保存和提取 

static void * producer(void * data);                //線程處理函數    
static void init(struct prodcons * b);              //線程初始化 
static void put(struct prodcons * b, char * data);  //往共享數據區寫數據 
static char * get(struct prodcons * b);
//********************************************************************************************************************

static void my_notif1_proc (HWND hwnd, int id, int nc, DWORD add_data)//加1按紐的回調函數 
{
    if ( nc == BN_CLICKED)
    { 
        /* jishu++; 
         ji[0]=jishu;
         SetWindowText(GetDlgItem(GetParent(hwnd),IDC_STAT),ji);*/                  
    }
}

static void my_notif2_proc (HWND hwnd, int id, int nc, DWORD add_data)
{
    if ( nc == BN_CLICKED)
    {
         /*jishu--; 
         ji[0]=jishu;
         SetWindowText(GetDlgItem(GetParent(hwnd),IDC_STAT),ji);      */                                                                                                                                         
    }
}
/*
************************************************************************************************************************
**函數原型    :      static int ZYHWinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam) 
**參數說明    :      
**返回    值    :    
**創   建   人: 趙悅輝
**最后修改日期: 2006年2月9日
**描        述: 主窗體的回調函數 
************************************************************************************************************************
*/
static int ZYHWinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam)
{
    
     HUAXIAN HuaXian;                         //曲線顯示傳遞參數
     PMAXMIN  Zui_Zi;
     int i;
     static     BITMAP bmp;      
     HDC hdc,Neihdc;//界面hdc和內存hdc 
     static   MINIINIT Kongjian;
     static   PMINIINIT pKongjian=NULL;                                //初始化參數和返回值 
                                      //圖象 
     static MAXMIN maxmin;
     switch (message) {
        case MSG_INITDIALOG:
                 logfontgb12=CreateLogFont(NULL,"song","GB2312",FONT_WEIGHT_REGULAR,FONT_SLANT_ROMAN,\
                  FONT_SETWIDTH_NORMAL,FONT_SPACING_CHARCELL,FONT_UNDERLINE_NONE,FONT_STRUCKOUT_NONE,12,0);    
                 SetWindowFont(hWnd,logfontgb12);
        return     1;
        case MSG_CREATE:  
         
                  Xs_Fs=0;       
                 pKongjian=InitMiniQX(hWnd);                       //初始化 
        //--------------------------------更新數據----------------------------------------------------
         Kongjian.bmp_TX=pKongjian->bmp_TX;
         Kongjian.bmp_WB=pKongjian->bmp_WB;
         for(i=0;i<8;i++)         
             {
                     Kongjian.hStaticP[i]=pKongjian->hStaticP[i];
                   Kongjian.hStaticT[i]=pKongjian->hStaticT[i];
                   Kongjian.hStaticS[i]=pKongjian->hStaticS[i];
                   Kongjian.hStaticM[i]=pKongjian->hStaticM[i];
         
                   Kongjian.hEditP[i]=pKongjian->hEditP[i];
                   Kongjian.hEditT[i]=pKongjian->hEditT[i];
                   Kongjian.hEditS[i]=pKongjian->hEditS[i];
                   Kongjian.hEditM[i]=pKongjian->hEditM[i];
             }
         //------------------------------------------------------------------------------------------------------
                 //Zui_Zi=CanShu(Zui_Zi,0);                                  //讀取參數 
         SetTimer (hWnd, 100, TIME_SHUAXIN);                //定時器2秒 ID是100 
        
         Show(&Kongjian,0);                                   //確定是否顯示控件     
         Show(&Kongjian,1);        
         SendMessage(hWnd,MSG_PAINT,0,0);                                //刷新畫面  
                 return 0;
        case MSG_PAINT://更新界面 
            
               hdc = BeginPaint (hWnd);

               if(Xs_Fs==1)
               {
                           FillBoxWithBitmap (hdc, 0, 0, 640,480, &(Kongjian.bmp_TX));       //圖象方式顯示 
                       //Rectangle(hdc, 0, 0, 640, 480);    
                 
        }
               else
               {
                           FillBoxWithBitmap (hdc, 0, 0, 640, 480, &(Kongjian.bmp_WB));       //文本方式顯示 
                       //Rectangle(hdc, 0, 0, 640, 480);    
                
               }
           
               EndPaint (hWnd, hdc);
            
               return 0;
        case MSG_MY1:                             //接收加一消息 

               return 0;        
        case MSG_MY2:                            //接收減一消息 
          
               return 0;
        case MSG_CHAR:
        if(wParam=='a')                        //a控制切換顯示內容
        {
           if(Xs_Fs==1)
           { Xs_Fs=0;}
           else
            {Xs_Fs=1;} 
            SendMessage(hWnd,MSG_PAINT,0,0);                      //刷新畫面         
           Show(&Kongjian,Xs_Fs);                                 //確定是否顯示控件  
        }
        if(wParam=='b')                                             //b停止線程
        {        
        
                int *retval;
                   if(pthread_cancel(th_a)==0) {
                       if (pthread_join(th_a,(void **)(&retval))!=0) {
                           return (-1);
                     }
                else
                printf("producer stopped!\n");
             }

            }
        return 0;
        case MSG_TIMER:
             if (wParam == 100)                         //ID是100 
                 {          
                        //時間到,讀取公共緩沖區的數據 
                        char * d;
                        d = get(&buffer);
            SetWindowText(Kongjian.hEditT[0],d); 
                        printf("sssss %s\n",d);
                        if(Xs_Fs==1)                    //曲線顯示方式
                        {
                         HDC X_hdc=GetClientDC(hWnd);
                         //------------------------------------    
                         for(i=0;i<20;i++)HuaXian.LeiJi[0][i]=10;        
                         HuaXian.XC_hdc= X_hdc;                     
                         HuaXian.Max[0]=12;
                         huaxian(&HuaXian);                       //畫曲線函數 
                           //--------------------------------
                          ReleaseDC(X_hdc);
                        }
                        else
                        {
                        Show(&Kongjian,Xs_Fs);           //文本送數
                        }    
            }
              return 0;
        case MSG_CLOSE:
               KillTimer (hWnd,100);
               DestroyLogFont(logfontgb12);
               UnloadBitmap (&(Kongjian.bmp_TX));
        UnloadBitmap (&(Kongjian.bmp_WB));
               DestroyMainWindow (hWnd);
               PostQuitMessage (hWnd);
               return 0;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区在线观看视频 | 精品亚洲国产成人av制服丝袜| 久久成人久久爱| 91福利视频网站| 久久久综合视频| 日韩电影网1区2区| 色呦呦日韩精品| 国产精品久久二区二区| 蜜桃久久久久久| 欧美色区777第一页| 国产精品丝袜在线| 国产综合色视频| 日韩视频在线你懂得| 亚洲一区在线电影| 91香蕉视频mp4| 中文字幕精品三区| 国产乱子伦视频一区二区三区 | 91网站黄www| 欧美激情中文不卡| 国产一区二区三区综合| 精品日韩欧美在线| 免费观看久久久4p| 宅男在线国产精品| 亚洲午夜精品久久久久久久久| 91网站最新地址| 亚洲视频图片小说| 91在线观看视频| 亚洲精品午夜久久久| av一二三不卡影片| 国产精品全国免费观看高清 | 国产夜色精品一区二区av| 久久精品免费观看| 日韩午夜中文字幕| 老司机精品视频在线| 精品久久久久久久久久久久久久久久久| 日韩一区欧美二区| 日韩一区二区精品在线观看| 青青草国产精品亚洲专区无| 91精品国产综合久久精品图片 | 国产91精品久久久久久久网曝门 | 久久亚洲一区二区三区四区| 美女视频一区二区三区| 精品国产一区二区三区av性色| 美女视频一区二区| 久久久91精品国产一区二区精品| 国产精品资源网站| 国产精品久久久久久久久图文区 | 欧美高清hd18日本| 久久国内精品视频| 中文幕一区二区三区久久蜜桃| 成人ar影院免费观看视频| 亚洲精品视频在线看| 欧美日韩在线播放一区| 麻豆成人久久精品二区三区红 | 日韩欧美一级在线播放| 国产乱码精品一区二区三| 国产精品白丝在线| 欧美少妇一区二区| 国产在线视频精品一区| 中文字幕五月欧美| 在线成人小视频| 国产福利一区二区三区| 亚洲视频精选在线| 日韩一二三四区| av亚洲精华国产精华精华 | 亚洲色图在线看| 欧美一区二区三区视频免费 | 欧美在线看片a免费观看| 奇米色777欧美一区二区| 亚洲国产精华液网站w| 欧美美女直播网站| 国产精品综合av一区二区国产馆| 亚洲欧美在线aaa| 日韩三级精品电影久久久| 99久久99精品久久久久久| 日韩激情视频在线观看| 一区二区中文视频| 精品福利一区二区三区免费视频| 91免费国产视频网站| 国产专区欧美精品| 亚洲狠狠爱一区二区三区| 国产清纯在线一区二区www| 欧美人与禽zozo性伦| 成人午夜电影网站| 久久99精品视频| 亚洲国产精品影院| 欧美高清在线精品一区| 欧美一二三在线| 在线观看精品一区| 91在线云播放| 国产999精品久久久久久| 久久精品国产77777蜜臀| 亚洲成人一区在线| 亚洲人快播电影网| 欧美激情在线一区二区三区| 欧美一区在线视频| 欧美日韩国产首页| 在线影视一区二区三区| 波多野结衣精品在线| 国产麻豆成人精品| 精品影院一区二区久久久| 天堂va蜜桃一区二区三区漫画版| 亚洲女人小视频在线观看| 中文字幕欧美激情| 久久久国产一区二区三区四区小说| 4hu四虎永久在线影院成人| 欧美日韩午夜影院| 欧美久久久久久久久久 | 成人国产在线观看| 国产盗摄一区二区| 国产精品香蕉一区二区三区| 精品亚洲成a人| 国模无码大尺度一区二区三区| 日本不卡123| 日韩成人午夜精品| 日韩av在线免费观看不卡| 五月天欧美精品| 日韩精品福利网| 麻豆久久久久久久| 国产一区二三区| 国产成人av资源| 成人性生交大片| 91在线云播放| 在线精品视频一区二区| 欧美日韩视频在线观看一区二区三区| 色婷婷久久久亚洲一区二区三区| 91国偷自产一区二区开放时间 | 日韩欧美国产系列| 久久人人97超碰com| 欧美国产精品专区| 亚洲三级在线播放| 亚洲成a人v欧美综合天堂| 日本欧美一区二区三区| 国内精品久久久久影院一蜜桃| 国产成人免费在线观看| 91麻豆文化传媒在线观看| 欧美性受xxxx黑人xyx性爽| 欧美电影在线免费观看| 久久伊人蜜桃av一区二区| 国产精品久久久久久久久免费桃花| 亚洲欧美日韩电影| 日本中文字幕一区| 国产传媒欧美日韩成人| av亚洲精华国产精华精| 欧美巨大另类极品videosbest | 夜夜嗨av一区二区三区网页 | 成人午夜在线播放| 欧美午夜不卡视频| 欧美精品一区男女天堂| 久久99热国产| 国产成人99久久亚洲综合精品| 91九色最新地址| 亚洲精品一线二线三线| 亚洲激情第一区| 国内精品免费**视频| 欧洲国内综合视频| 久久久久久久综合色一本| 亚洲香肠在线观看| 国产成人午夜视频| 欧美日韩亚州综合| 国产精品视频一二三| 免费高清视频精品| 日本久久一区二区三区| 久久你懂得1024| 婷婷中文字幕综合| 不卡一区在线观看| 亚洲精品一区在线观看| 无吗不卡中文字幕| 97se亚洲国产综合自在线 | 国产精品乱人伦一区二区| 日韩和的一区二区| 一本大道久久a久久综合婷婷| 2020国产精品久久精品美国| 亚洲午夜精品久久久久久久久| 成人一道本在线| 欧美mv日韩mv亚洲| 亚洲成人免费在线| 99久久精品99国产精品| 久久久影院官网| 麻豆成人免费电影| 在线91免费看| 亚洲自拍偷拍综合| 91麻豆国产精品久久| 中文字幕av一区 二区| 国产综合久久久久久鬼色| 欧美一区三区二区| 亚洲成人777| 欧美中文一区二区三区| 亚洲人快播电影网| 99国产欧美久久久精品| 国产精品麻豆久久久| 国产成人8x视频一区二区| 久久久综合视频| 国产乱码精品一区二区三区av| 精品国产乱码久久久久久影片| 蜜桃视频在线一区| 日韩欧美国产wwwww| 美女视频一区二区| 亚洲精品在线一区二区| 国产综合色视频|