[VC(Visual C++) ]- GPSDataSave程式

[VC(Visual C++) ]- GPSDataSave程式

[VC(Visual C++) ]- GPSDataSave程式

本篇分享GPSDataSave程式串程式範例有興趣的(C/P)同好歡迎來http://filemarkets.com/file/jashliao/a9006d21/索取因為我不會上傳檔案分享哈哈 ^ ^

主要程式碼

001    // GPSDataSaveDlg.cpp : implementation file                
002    //                
003                    
004    #include "stdafx.h"                
005    #include "GPSDataSave.h"                
006    #include "GPSDataSaveDlg.h"                
007    #include <stdio.h>                
008    #ifdef _DEBUG                
009    #definenew DEBUG_NEW                
010    #undef THIS_FILE                
011    staticchar THIS_FILE[] = __FILE__;                
012    #endif                
013    FILE *p;                
014    CString strdata[30];                
015    /////////////////////////////////////////////////////////////////////////////                
016    // CAboutDlg dialog used for App About                
017                    
018    class CAboutDlg : public CDialog                
019    {                
020    public:                
021        CAboutDlg();            
022                    
023    // Dialog Data                
024        //{{AFX_DATA(CAboutDlg)            
025        enum { IDD = IDD_ABOUTBOX };            
026        //}}AFX_DATA            
027                    
028        // ClassWizard generated virtual function overrides            
029        //{{AFX_VIRTUAL(CAboutDlg)            
030        protected:            
031        virtualvoid DoDataExchange(CDataExchange* pDX);    // DDX/DDV support            
032        //}}AFX_VIRTUAL            
033                    
034    // Implementation                
035    protected:                
036        //{{AFX_MSG(CAboutDlg)            
037        //}}AFX_MSG            
038        DECLARE_MESSAGE_MAP()            
039    };                
040                    
041    CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)                
042    {                
043        //{{AFX_DATA_INIT(CAboutDlg)            
044        //}}AFX_DATA_INIT            
045    }                
046                    
047    void CAboutDlg::DoDataExchange(CDataExchange* pDX)                
048    {                
049        CDialog::DoDataExchange(pDX);            
050        //{{AFX_DATA_MAP(CAboutDlg)            
051        //}}AFX_DATA_MAP            
052    }                
053                    
054    BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)                
055        //{{AFX_MSG_MAP(CAboutDlg)            
056            // No message handlers        
057        //}}AFX_MSG_MAP            
058    END_MESSAGE_MAP()                
059                    
060    /////////////////////////////////////////////////////////////////////////////                
061    // CGPSDataSaveDlg dialog                
062                    
063    CGPSDataSaveDlg::CGPSDataSaveDlg(CWnd* pParent /*=NULL*/)                
064        : CDialog(CGPSDataSaveDlg::IDD, pParent)            
065    {                
066        //{{AFX_DATA_INIT(CGPSDataSaveDlg)            
067            // NOTE: the ClassWizard will add member initialization here        
068        //}}AFX_DATA_INIT            
069        // Note that LoadIcon does not require a subsequent DestroyIcon in Win32            
070        m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);            
071    }                
072                    
073    void CGPSDataSaveDlg::DoDataExchange(CDataExchange* pDX)                
074    {                
075        CDialog::DoDataExchange(pDX);            
076        //{{AFX_DATA_MAP(CGPSDataSaveDlg)            
077            // NOTE: the ClassWizard will add DDX and DDV calls here        
078        //}}AFX_DATA_MAP            
079    }                
080                    
081    BEGIN_MESSAGE_MAP(CGPSDataSaveDlg, CDialog)                
082        //{{AFX_MSG_MAP(CGPSDataSaveDlg)            
083        ON_WM_SYSCOMMAND()            
084        ON_WM_PAINT()            
085        ON_WM_QUERYDRAGICON()            
086        ON_BN_CLICKED(IDC_BUTTON1, OnButton1)            
087        ON_BN_CLICKED(IDC_BUTTON2, OnButton2)            
088        ON_WM_TIMER()            
089        //}}AFX_MSG_MAP            
090    END_MESSAGE_MAP()                
091                    
092    /////////////////////////////////////////////////////////////////////////////                
093    // CGPSDataSaveDlg message handlers                
094                    
095    BOOL CGPSDataSaveDlg::OnInitDialog()                
096    {                
097        CDialog::OnInitDialog();            
098                    
099        // Add "About..." menu item to system menu.            
100                    
101        // IDM_ABOUTBOX must be in the system command range.            
102        ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);            
103        ASSERT(IDM_ABOUTBOX < 0xF000);            
104                    
105        CMenu* pSysMenu = GetSystemMenu(FALSE);            
106        if (pSysMenu != NULL)            
107        {            
108            CString strAboutMenu;        
109            strAboutMenu.LoadString(IDS_ABOUTBOX);        
110            if (!strAboutMenu.IsEmpty())        
111            {        
112                pSysMenu->AppendMenu(MF_SEPARATOR);    
113                pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);    
114            }        
115        }            
116                    
117        // Set the icon for this dialog.  The framework does this automatically            
118        //  when the application's main window is not a dialog            
119        SetIcon(m_hIcon, TRUE);            // Set big icon
120        SetIcon(m_hIcon, FALSE);        // Set small icon    
121                    
122        // TODO: Add extra initialization here            
123                    
124        return TRUE;  // return TRUE  unless you set the focus to a control            
125    }                
126                    
127    void CGPSDataSaveDlg::OnSysCommand(UINT nID, LPARAM lParam)                
128    {                
129        if ((nID & 0xFFF0) == IDM_ABOUTBOX)            
130        {            
131            CAboutDlg dlgAbout;        
132            dlgAbout.DoModal();        
133        }            
134        else            
135        {            
136            CDialog::OnSysCommand(nID, lParam);        
137        }            
138    }                
139                    
140    // If you add a minimize button to your dialog, you will need the code below                
141    //  to draw the icon.  For MFC applications using the document/view model,                
142    //  this is automatically done for you by the framework.                
143                    
144    void CGPSDataSaveDlg::OnPaint()                 
145    {                
146        if (IsIconic())            
147        {            
148            CPaintDC dc(this); // device context for painting        
149                    
150            SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);        
151                    
152            // Center icon in client rectangle        
153            int cxIcon = GetSystemMetrics(SM_CXICON);        
154            int cyIcon = GetSystemMetrics(SM_CYICON);        
155            CRect rect;        
156            GetClientRect(&rect);        
157            int x = (rect.Width() - cxIcon + 1) / 2;        
158            int y = (rect.Height() - cyIcon + 1) / 2;        
159                    
160            // Draw the icon        
161            dc.DrawIcon(x, y, m_hIcon);        
162        }            
163        else            
164        {            
165            CDialog::OnPaint();        
166        }            
167    }                
168                    
169    // The system calls this to obtain the cursor to display while the user drags                
170    //  the minimized window.                
171    HCURSOR CGPSDataSaveDlg::OnQueryDragIcon()                
172    {                
173        return (HCURSOR) m_hIcon;            
174    }                
175                    
176    void CGPSDataSaveDlg::OnButton1()                 
177    {                
178        // TODO: Add your control notification handler code here            
179        p=fopen("data.txt","w");            
180        RS.OpenCom(4,4800,8,0,1);             
181        SetTimer(1,1000,NULL);            
182        //n=StringRipFunction(data,14);            
183                    
184    }                
185    int CGPSDataSaveDlg::StringRipFunction(unsignedchar str[],long number)                
186    {                
187        int i=0,j=0;            
188        for(j=0;j<30;j++)            
189            strdata[j]="";        
190        j=0;            
191        for(i=0;i<number;i++)            
192        {            
193            if(str[i]!=13 && str[i]!=10)        
194            {        
195                strdata[j]+=str[i];    
196            }        
197            else        
198            {        
199                if(str[i]==13)    
200                    j++;
201            }        
202        }            
203        for(i=0;i<j;i++)            
204        {            
205            fprintf(p,"%s\n",strdata[i].GetBuffer(0));         
206        }            
207        return j;            
208    }                
209                    
210    void CGPSDataSaveDlg::OnButton2()                 
211    {                
212        // TODO: Add your control notification handler code here            
213        KillTimer(1);            
214        RS.Close();             
215        fclose(p);            
216    }                
217                    
218    void CGPSDataSaveDlg::OnTimer(UINT nIDEvent)                 
219    {                
220        // TODO: Add your message handler code here and/or call default            
221        unsignedchar data[1024]={'\0'};            
222        long n=0,n1=0;            
223        RS.Read(data,&n);            
224        n=StringRipFunction(data,n);            
225        CDialog::OnTimer(nIDEvent);            
226    }                

 

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *