青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Cpper
C/C++高級工程師 Android高級軟件工程師 IT集成工程師 音頻工程師 熟悉c,c++,java,c#,py,js,asp等多種語言 程序猿

具體如下代碼,不贅述
#ifndef WEBTIMEGET_H
#define WEBTIMEGET_H
#include 
<QString>
#include 
<QVector>
#include 
<QObject>
#include 
<QDateTime>
#include 
<QtNetwork/QUdpSocket>

class webTimeGetter : public QObject
{
    Q_OBJECT
public:        
    webTimeGetter();
    
virtual ~webTimeGetter();
public slots:    
    
void readingData();
    
void connectSucess();   
    
void tryGet();
private:    
    QVector
<QString> hostList;
    QUdpSocket
*      udpsocket;
    QDateTime        time;
};

#endif
//! ccsdu2004

#include <iostream>
#include 
"webTimeGetter.h"

webTimeGetter::webTimeGetter()
{
    hostList.push_back(
"time.windows.com");
    hostList.push_back(
"time.nist.gov");
    udpsocket 
= new QUdpSocket(this);
    connect(udpsocket,SIGNAL(connected()),
this,SLOT(connectSucess()));
    connect(udpsocket,SIGNAL(readyRead()),
this,SLOT(readingData()));
}

webTimeGetter::
~webTimeGetter()
{
}

void webTimeGetter::readingData()
{
    QByteArray newTime;
    QDateTime epoch(QDate(
190011));
    QDateTime unixStart(QDate(
197011));
    
do
    {
        newTime.resize(udpsocket
->pendingDatagramSize());
        udpsocket
->read(newTime.data(), newTime.size());
    }
while(udpsocket->hasPendingDatagrams());
    QByteArray TransmitTimeStamp ;
    TransmitTimeStamp
=newTime.right(8);
    quint32 seconds
=TransmitTimeStamp[0];
    quint8 temp
=0;
    
for(int j=1;j<=3;j++)
    {
        seconds
=seconds<<8;
        temp
=TransmitTimeStamp[j];
        seconds
=seconds+temp;
    }
    
    time.setTime_t(seconds
-epoch.secsTo(unixStart));
    std::cout
<<time.date().year()<<std::endl;
    std::cout
<<time.date().month()<<std::endl;
    std::cout
<<time.date().day()<<std::endl;
    std::cout
<<time.time().hour()<<std::endl;
    std::cout
<<time.time().minute()<<std::endl;
    
    udpsocket
->disconnectFromHost();
    udpsocket
->close();
}

void webTimeGetter::connectSucess()
{
    qint8 LI
=0;
    qint8 VN
=3;
    qint8 MODE
=3;
    qint8 STRATUM
=0;
    qint8 POLL
=4;
    qint8 PREC
=-6;
    QDateTime epoch(QDate(
1900,1,1));
    qint32 second
=quint32(epoch.secsTo(QDateTime::currentDateTime()));
    qint32 temp
=0;
    QByteArray timeRequest(
480);
    timeRequest[
0]=(LI <<6| (VN <<3| (MODE);
    timeRequest[
1]=STRATUM;
    timeRequest[
2]=POLL;
    timeRequest[
3]=PREC & 0xff;
    timeRequest[
5]=1;
    timeRequest[
9]=1;
    timeRequest[
40]=(temp=(second&0xff000000)>>24);
    temp
=0;
    timeRequest[
41]=(temp=(second&0x00ff0000)>>16);
    temp
=0;
    timeRequest[
42]=(temp=(second&0x0000ff00)>>8);
    temp
=0;
    timeRequest[
43]=((second&0x000000ff));
    udpsocket
->flush();
    udpsocket
->write(timeRequest);
    udpsocket
->flush();
}   

void webTimeGetter::tryGet()
{
    udpsocket
->connectToHost(hostList.at(0),123);
}
posted @ 2012-07-24 22:42 ccsdu2009 閱讀(2631) | 評論 (0)編輯 收藏
 
有2種辦法
第一種是
針對輸入的數據n bite數據A,B比如short類型
If both A and B are negative Y = A + B - (A * B / (-(2 pow(n-1) -1))) 
Else Y = A + B - (A * B / (2 pow(n-1))
另外一種辦法是采用時間片交替的方式
posted @ 2012-06-05 19:15 ccsdu2009 閱讀(1234) | 評論 (0)編輯 收藏
 

Microsoft Visual Studio 2005 Team Suite 簡體中文版 序列號 注冊碼

序列號:KYTYH-TQKW6-VWPBQ-DKC8F-HWC4J  (可用)

 

添加/刪除程序 - Microsoft Visual Studio 2005 Team Suite 簡體中文版 - 卸載 - 下一步 - KYTYH-TQKW6-VWPBQ-DKC8F-HWC4J  - 升級。

 

posted @ 2012-06-03 11:08 ccsdu2009 閱讀(699) | 評論 (0)編輯 收藏
 
typedef struct RingBuffer RingBuffer;

RingBuffer
* RingBufferCreate(int sizeOf,int length);
void        RingBufferDestroy(RingBuffer* ring);
int         RingBufferWrite(RingBuffer* ring,const char* data,int len);
int         RingBufferRead(RingBuffer* ring,char* data,int len);

struct RingBuffer 
{
    
char* mem;
    
int   sizeOf;
    
int   length;
    
int   writePos;
    
int   full;
};

RingBuffer
* RingBufferCreate(int sizeOf,int length)
{
    RingBuffer 
*ring = (RingBuffer*)calloc(1,sizeof(*ring));
    
if(ring)
    {
        ring
->sizeOf = sizeOf;
        ring
->length = length;
        ring
->writePos = 0;
        ring
->full = 0;
        ring
->mem = (char*)malloc(ring->length * ring->sizeOf);
        
if(!ring->mem)
        {
            free(ring);
            ring 
= 0;
        }
    }
    
return ring;
}

void RingBufferDestroy(RingBuffer* ring)
{
    
if(ring)
    {
        free(ring
->mem);
        free(ring);
    }
}

int  RingBufferRead(RingBuffer* ring,char* data,int len)
{   
    
if(ring->full == 1)
    {
        
if(len > ring->length)
            len 
= ring->length;
        memcpy(data,ring
->mem,len*ring->sizeOf); 
        ring
->full = 0;
    }
    
if(ring->writePos < len)
    {   
        ring
->full = 0;
        
int ret = ring->writePos;
        ring
->writePos = 0;
        memcpy(data,ring
->mem,ring->writePos*ring->sizeOf);
        
return ret;
    }
    
else
    {   
        ring
->full = 0;
        memcpy(data,ring
->mem,len*ring->sizeOf);
        ring
->writePos -= len;
        memcpy(ring
->mem,ring->mem + len*ring->sizeOf,ring->writePos*ring->sizeOf);
        
return len;
    }
}

int RingBufferWrite(RingBuffer* ring,const char* data,int len)
{
    
if(len + ring->writePos > ring->length)
        ring
->full = 1;
    
int ret = len >= ring->length ? ring->length : len;  
    
if(len >= ring->length)    
    {
        memcpy(ring
->mem,data + (ring->length-ring->length%len)*ring->sizeOf,ring->length*ring->sizeOf);
        ring
->writePos = ring->length;
    }
    
else if(len + ring->writePos <= ring->length)
    {    
        memcpy(ring
->mem + ring->writePos*ring->sizeOf,data,len*ring->sizeOf);
        ring
->writePos += len;
    }
    
else 
    {
        memcpy(ring
->mem,ring->mem + (len + ring->writePos - ring->length)*ring->sizeOf,(len + ring->writePos - ring->length)*ring->sizeOf);
        memcpy(ring
->mem + (len + ring->writePos - ring->length)*ring->sizeOf,data,len*ring->sizeOf);
        ring
->writePos = ring->length;
    }     
    
return ret;
}
posted @ 2012-06-02 19:15 ccsdu2009 閱讀(852) | 評論 (0)編輯 收藏
 
簡單說明 亂碼原因
QURL的2次連續編碼
修改方式:
QUrl encode(const QString& istr)
{
   QByteArray data;
   data.append(istr);
   
return QUrl::fromEncoded(data);
}
posted @ 2012-05-30 21:29 ccsdu2009 閱讀(2129) | 評論 (0)編輯 收藏
 
一個小例子:
class libcurlParser : public QThread
{
    Q_OBJECT
public:
    
static size_t process(void* buffer,size_t size,size_t n,void *user);
    QString html;
public:
    libcurlParser(QObject 
*parent= 0);
    
~libcurlParser();
public:
    
void execute(const QString& url);
public slots:
    
void finishSlot();
    
void timeOut();
signals:
    
void finish();
protected:
    
void run();
private:
    CURL
*  curl;
};

size_t libcurlParser::process(void* buffer,size_t size,size_t n,void *user)
{
    libcurlParser
* parser = (libcurlParser*)user;
    parser
->html += (char*)buffer;
    
return size*n;
}

libcurlParser::libcurlParser(QObject 
*parent)
    : QThread(parent)
{   
    connect(
this,SIGNAL(finish()),this,SLOT(finishSlot()));
    curl 
= curl_easy_init();
}

libcurlParser::
~libcurlParser()
{    
    curl_easy_cleanup(curl);
}

void libcurlParser::execute(const QString& url)
{   
    html.clear();
    curl_easy_setopt(curl,CURLOPT_URL,url.toAscii().data());
    curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,
&process);
    curl_easy_setopt(curl,CURLOPT_WRITEDATA,
this);
    start();
}

void libcurlParser::run()
{   
    CURLcode code 
= curl_easy_perform(curl);
    std::cout
<<"exe:"<<"code"<<std::endl;
    emit finish();
    
//std::cout<<curl_easy_strerror(code)<<std::endl;
    
//QTimer::singleShot(0, this, SLOT(timeOut()));
    
//exec();
}

void libcurlParser::finishSlot()
{
    std::cout
<<"finishSlot()"<<std::endl;
    QFile file(
"htm.htm");
    file.open(QIODevice::WriteOnly);
    file.write(html.toLatin1());
    file.close();
}

void libcurlParser::timeOut()
{
    emit finish();
}
posted @ 2012-05-27 17:07 ccsdu2009 閱讀(1426) | 評論 (0)編輯 收藏
 
有時候程序需要顯示二個排列在一起的頂級窗體,并且拖動主窗體次窗體也跟著移動
其實現如下:
1.保持窗體并列顯示在一起
    QPoint pos = this->pos();
    QSize  size 
= this->size();
    
int x = pos.x() + size.width() + 8;
    
int y = pos.y();
    widget1
->move(x,y);
2.移動主窗體,次窗體也跟著移動
這個需要重載函數moveEvent
void window::moveEvent(QMoveEvent *event)
{
    onMove();    
    QWidget::moveEvent(
event);
}
posted @ 2012-05-20 12:28 ccsdu2009 閱讀(623) | 評論 (0)編輯 收藏
 
QT中使用信號和槽的注意事項

只能使用本對象的信號,不能使用基類的
但是可以使用基類的槽,而不一定要使用本對象的
違反的話 可能會出現導致程序退出的問題
posted @ 2012-05-13 12:42 ccsdu2009 閱讀(496) | 評論 (0)編輯 收藏
 
在QThread中使用QNetworkAccessManager,需要注意的是:
在run()函數中需要調用exec()
這樣才能保證線程消息隊列不退出
然后在必要的地方調用quit即可退出
posted @ 2012-05-09 19:47 ccsdu2009 閱讀(1187) | 評論 (0)編輯 收藏
 
在QLineEidt上按回車會發送一個消息returnPressed();
接受此消息即可
posted @ 2012-05-06 14:47 ccsdu2009 閱讀(2796) | 評論 (0)編輯 收藏
僅列出標題
共38頁: First 12 13 14 15 16 17 18 19 20 Last 
 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲天堂免费观看| 久热这里只精品99re8久| 一区二区av在线| 国产欧美日韩综合| 亚洲综合国产精品| 久久婷婷综合激情| 日韩视频中文字幕| 国产亚洲午夜高清国产拍精品| 久久久噜噜噜久久| 欧美在线二区| 亚洲人体1000| 国产在线视频欧美一区二区三区| 蜜桃av久久久亚洲精品| 国产人成精品一区二区三| 欧美jizz19性欧美| 久久最新视频| 亚洲午夜极品| 宅男在线国产精品| 亚洲精品美女久久久久| 欧美在线影院在线视频| 亚洲午夜激情| 国产日韩欧美精品一区| 欧美不卡激情三级在线观看| 亚洲欧美日韩精品久久奇米色影视| 亚洲国产三级在线| 欧美不卡在线视频| 麻豆久久精品| 亚洲第一精品久久忘忧草社区| 嫩模写真一区二区三区三州| 欧美一区二视频| 中文成人激情娱乐网| 亚洲一区二区三区在线播放| 噜噜噜在线观看免费视频日韩| 久久综合九九| 亚洲经典在线| 正在播放日韩| 久久久水蜜桃| 欧美三级午夜理伦三级中视频| 久久国产精品久久久久久| 麻豆国产精品777777在线| 久久激情婷婷| 免费亚洲一区二区| 国产精品久久久爽爽爽麻豆色哟哟| 毛片基地黄久久久久久天堂| 欧美另类变人与禽xxxxx| 一本色道久久综合| 午夜精品在线观看| 免费成人在线观看视频| 国产日韩欧美综合一区| 亚洲乱码视频| 麻豆av福利av久久av| 亚洲字幕在线观看| 激情小说另类小说亚洲欧美| 国产视频在线观看一区二区| 99热这里只有精品8| 美国成人直播| 亚洲在线成人| 国产精品美女在线观看| 亚洲婷婷免费| 亚洲视频在线看| 国产精品二区三区四区| 亚洲一区二区三区免费视频| 久久一区二区三区国产精品| 国产日韩综合| 久久成人免费视频| 欧美午夜精品| 午夜精品久久久久久久久久久| a4yy欧美一区二区三区| 欧美一区成人| 激情成人av| 欧美国产视频在线| 欧美日产国产成人免费图片| 亚洲一区二区免费在线| 亚洲免费在线| 亚洲精品久久久久久一区二区| 亚洲视频axxx| 亚洲精品国产精品国自产观看| 先锋影音一区二区三区| 亚洲一区二区三区四区在线观看 | 欧美色播在线播放| 亚洲在线视频一区| 欧美伊人久久久久久午夜久久久久 | 免费视频最近日韩| 欧美大片免费久久精品三p| 亚洲欧美一级二级三级| 亚洲欧美日本国产有色| 欧美午夜激情视频| 91久久在线| 亚洲欧美日韩国产综合| 亚洲每日更新| 欧美日韩成人综合天天影院| 日韩手机在线导航| 欧美成人一二三| 一区二区三区精密机械公司| 欧美另类高清视频在线| 亚洲靠逼com| 亚洲国产精品免费| 久久天天躁狠狠躁夜夜av| 欧美视频一区二区三区在线观看 | 一色屋精品视频在线观看网站| 欧美一区成人| 亚洲免费婷婷| 国产视频亚洲精品| 久久视频国产精品免费视频在线| 欧美影院一区| 国产一区视频观看| 久久精品首页| 欧美影院一区| 午夜伦理片一区| 尤物在线精品| 你懂的成人av| 亚洲视频福利| 噜噜爱69成人精品| 久久www成人_看片免费不卡| 欧美国产视频在线| 久久久久久久综合色一本| 欧美日韩综合久久| 欧美成人自拍| 国产三区精品| 夜夜嗨av一区二区三区四区| 在线国产日韩| 亚洲男女自偷自拍图片另类| 久久成人免费电影| 欧美日韩成人一区二区三区| 另类图片综合电影| 国产麻豆精品久久一二三| 亚洲人www| 亚洲国产一区二区三区在线播 | 国产精品视频精品| 99ri日韩精品视频| 日韩一级黄色大片| 久热精品视频在线| 久久综合久久久| 国产一区二区三区最好精华液| 亚洲一区二区精品| 亚洲小视频在线| 欧美日韩国产在线观看| 欧美黄色aa电影| 亚洲人成网站999久久久综合| 136国产福利精品导航网址| 欧美专区中文字幕| 久久久久国产精品麻豆ai换脸| 国产精品理论片| 亚洲一区高清| 欧美亚洲一区| 国产精品乱码| 亚洲淫片在线视频| 久久精品一区二区| 在线电影国产精品| 美女国产一区| 亚洲精品影视| 亚洲品质自拍| 欧美喷水视频| 99re6热在线精品视频播放速度| 亚洲一区综合| 国产偷国产偷精品高清尤物| 欧美一区综合| 欧美成人免费小视频| 99国产精品久久久| 国产精品色一区二区三区| 欧美怡红院视频| 欧美国产激情| 一区二区三区高清| 国产日韩av一区二区| 久久久久久久网| 亚洲伦伦在线| 久久久久五月天| 亚洲免费成人av| 国产欧美欧洲在线观看| 老色鬼久久亚洲一区二区 | 亚洲欧洲一区二区天堂久久| 中文日韩电影网站| 国产在线观看一区| 欧美精品少妇一区二区三区| 国产精品99久久久久久久vr| 久久久久久9| 亚洲美女中出| 国产午夜精品一区二区三区欧美| 免费欧美在线视频| 午夜精品久久久久| 国产精品视频xxxx| 麻豆精品在线观看| 中国女人久久久| 免费欧美在线| 亚洲欧美日韩精品| 亚洲精品在线视频观看| 国产亚洲成人一区| 久久久噜噜噜| 久久久五月天| 夜夜精品视频一区二区| 午夜精品影院| 日韩视频在线观看| 国产麻豆精品久久一二三| 欧美日韩国产经典色站一区二区三区| 午夜亚洲激情| 一区二区三区.www| 亚洲欧洲日本在线| 免费一级欧美片在线观看| 欧美在线播放视频| 亚洲永久字幕|