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

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>
            国产综合欧美| 国产精品视频大全| 亚洲一区二区三区免费观看 | 亚洲在线播放| 一本久久青青| aa国产精品| 国产日韩欧美视频在线| 国产精品国产三级国产普通话三级| 欧美精品激情blacked18| 欧美成在线观看| 欧美少妇一区二区| 国产亚洲精品资源在线26u| 合欧美一区二区三区| 伊人久久久大香线蕉综合直播| 亚洲第一区色| 中文在线资源观看视频网站免费不卡| 亚洲欧洲视频| 亚洲一区免费看| 久久精品五月| 欧美激情亚洲| 一区二区三区视频在线看| 欧美亚洲三级| 欧美丰满高潮xxxx喷水动漫| 欧美日韩免费高清| 国产有码一区二区| 亚洲美女av黄| 久久精品国产亚洲高清剧情介绍| 欧美国产第一页| 亚洲网站啪啪| 欧美成人精品影院| 国产日韩在线看片| 一本色道久久综合| 久久精品中文字幕一区二区三区| 亚洲电影免费观看高清完整版在线| 女人香蕉久久**毛片精品| 日韩视频免费在线| 久久婷婷国产综合精品青草| 欧美性jizz18性欧美| 亚洲成在线观看| 欧美在线视频一区二区| 亚洲免费高清| 麻豆av福利av久久av| 国产欧美精品xxxx另类| 99re热精品| 免费高清在线视频一区·| 在线综合亚洲| 欧美精品不卡| 91久久极品少妇xxxxⅹ软件| 欧美中文在线视频| 亚洲天堂av高清| 欧美日本在线观看| 91久久夜色精品国产网站| 久久久久免费观看| 亚洲欧美日韩国产中文在线| 欧美视频一区二区| 一区二区三区av| 9人人澡人人爽人人精品| 国产精品久久毛片a| 91久久国产综合久久蜜月精品| 久久久欧美一区二区| 亚洲一区日韩| 国产精品家庭影院| 亚洲视频在线观看视频| 亚洲日本欧美| 欧美激情视频网站| 亚洲精品久久久久久一区二区| 另类成人小视频在线| 久久激情综合| 伊大人香蕉综合8在线视| 久久aⅴ国产紧身牛仔裤| 亚洲免费视频一区二区| 国产酒店精品激情| 久久aⅴ国产紧身牛仔裤| 欧美一级电影久久| 国产一区二区三区在线观看视频 | 欧美xxx成人| 亚洲黄色免费网站| 亚洲日本国产| 国产精品豆花视频| 一区二区三区视频在线| 久久成人免费| 久久精品国产免费看久久精品| 黄色成人免费网站| 欧美激情视频免费观看| 欧美日韩精品一区二区天天拍小说| 一本一本a久久| 亚洲一区二区三区四区五区午夜| 国产精品入口夜色视频大尺度| 久久不见久久见免费视频1| 久久精品在这里| 亚洲激情视频网站| 一区二区在线看| 国产噜噜噜噜噜久久久久久久久 | 亚洲午夜久久久久久久久电影网| 欧美日韩一区国产| 亚久久调教视频| 久久精品亚洲一区二区| 亚洲裸体视频| 亚洲主播在线播放| 激情文学综合丁香| 亚洲韩日在线| 国产精品videosex极品| 久久综合伊人77777尤物| 欧美日本一区二区三区| 欧美在线观看一区二区三区| 久久精品亚洲一区| 亚洲综合不卡| 免费毛片一区二区三区久久久| 亚洲免费观看高清完整版在线观看熊| 久久久久网址| 日韩天堂av| 国产欧美日韩精品一区| 欧美 日韩 国产一区二区在线视频 | 亚洲女同性videos| 免费视频一区二区三区在线观看| 亚洲一区二区在线| 久久久激情视频| 亚洲线精品一区二区三区八戒| 久久精品一区二区三区不卡牛牛| 亚洲一区999| 女主播福利一区| 久久精品人人做人人爽电影蜜月| 欧美日本视频在线| 亚洲大片在线| 国产一区二区三区在线观看免费 | 一区二区三区三区在线| 91久久久久久久久| 久久精品国产免费看久久精品| 亚洲丝袜av一区| 免费久久99精品国产自在现线| 久久精品中文字幕免费mv| 国产精品久久久久三级| 99成人免费视频| 亚洲激情网址| 久久久久久国产精品mv| 久久久精品欧美丰满| 国产麻豆综合| 午夜天堂精品久久久久| 欧美一区二区三区免费在线看| 欧美色精品天天在线观看视频| 亚洲精选一区二区| 一区二区三区精品国产| 欧美精品久久一区| 亚洲欧洲一区二区在线播放| 亚洲精品一区中文| 欧美精品一区二区三区四区| 亚洲精品久久久蜜桃 | 国产精品午夜在线观看| 亚洲伦伦在线| 一本色道88久久加勒比精品| 欧美精品aa| 99精品视频免费| 亚洲主播在线观看| 国产精品综合| 午夜天堂精品久久久久| 久久精品人人做人人爽| 尤妮丝一区二区裸体视频| 久久午夜影视| 亚洲人成在线观看一区二区 | 激情av一区二区| 免费观看30秒视频久久| 最新国产の精品合集bt伙计| 一本色道久久综合亚洲精品不卡| 欧美日韩视频免费播放| 日韩视频在线你懂得| 亚洲午夜一区二区三区| 欧美在线免费观看| 在线色欧美三级视频| 欧美精品在线一区二区| 亚洲一区二区精品在线| 久久精品亚洲一区| 91久久线看在观草草青青| 国产精品成人午夜| 欧美一区中文字幕| 亚洲承认在线| 午夜亚洲福利在线老司机| 一区二区三区在线视频免费观看 | 国产一区二区福利| 美女亚洲精品| 中文精品一区二区三区| 狼人天天伊人久久| 亚洲视频图片小说| 伊伊综合在线| 欧美午夜精彩| 噜噜噜在线观看免费视频日韩| 在线中文字幕日韩| 欧美高清免费| 欧美中文字幕不卡| av成人天堂| 一区二区三区在线视频观看| 国产精品久久一区二区三区| 裸体歌舞表演一区二区| 香蕉亚洲视频| 艳妇臀荡乳欲伦亚洲一区| 久久九九热免费视频| 国产精品私房写真福利视频 | 在线播放豆国产99亚洲| 久久人人爽人人爽爽久久| 一区二区三区 在线观看视| 精品白丝av|