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

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

?? cell.cpp

?? C++ GUI Programming with Qt4 1st ed
?? CPP
字號:
#include <qlineedit.h>#include <qregexp.h>#include "cell.h"Cell::Cell(QTable *table, const QString &formula)    : QTableItem(table, OnTyping){    setFormula(formula);}void Cell::setFormula(const QString &formula){    formulaStr = formula;    cacheIsDirty = true;}QString Cell::formula() const{    return formulaStr;}void Cell::setDirty(){    cacheIsDirty = true;}QString Cell::text() const{    if (value().isValid())        return value().toString();    else        return "####";}int Cell::alignment() const{    if (value().type() == QVariant::String)        return AlignLeft | AlignVCenter;    else        return AlignRight | AlignVCenter;}const QVariant Invalid;QVariant Cell::value() const{    if (cacheIsDirty) {        cacheIsDirty = false;        if (formulaStr.startsWith("'")) {            cachedValue = formulaStr.mid(1);        } else if (formulaStr.startsWith("=")) {            cachedValue = Invalid;            QString expr = formulaStr.mid(1);            expr.replace(" ", "");            int pos = 0;            cachedValue = evalExpression(expr, pos);            if (pos < (int)expr.length())                cachedValue = Invalid;        } else {            bool ok;            double d = formulaStr.toDouble(&ok);            if (ok)                cachedValue = d;            else                cachedValue = formulaStr;        }    }    return cachedValue;}QVariant Cell::evalExpression(const QString &str, int &pos) const{    QVariant result = evalTerm(str, pos);    while (pos < (int)str.length()) {        QChar op = str[pos];        if (op != '+' && op != '-')            return result;        ++pos;        QVariant term = evalTerm(str, pos);        if (result.type() == QVariant::Double                && term.type() == QVariant::Double) {            if (op == '+')                result = result.toDouble() + term.toDouble();            else                result = result.toDouble() - term.toDouble();        } else {            result = Invalid;        }    }    return result;}QVariant Cell::evalTerm(const QString &str, int &pos) const{    QVariant result = evalFactor(str, pos);    while (pos < (int)str.length()) {        QChar op = str[pos];        if (op != '*' && op != '/')            return result;        ++pos;        QVariant factor = evalFactor(str, pos);        if (result.type() == QVariant::Double                && factor.type() == QVariant::Double) {            if (op == '*') {                result = result.toDouble() * factor.toDouble();            } else {                if (factor.toDouble() == 0.0)                    result = Invalid;                else                    result = result.toDouble() / factor.toDouble();            }        } else {            result = Invalid;        }    }    return result;}QVariant Cell::evalFactor(const QString &str, int &pos) const{    QVariant result;    bool negative = false;    if (str[pos] == '-') {        negative = true;        ++pos;    }    if (str[pos] == '(') {        ++pos;        result = evalExpression(str, pos);        if (str[pos] != ')')            result = Invalid;        ++pos;    } else {        QRegExp regExp("[A-Za-z][1-9][0-9]{0,2}");        QString token;        while (str[pos].isLetterOrNumber() || str[pos] == '.') {            token += str[pos];            ++pos;        }        if (regExp.exactMatch(token)) {            int col = token[0].upper().unicode() - 'A';            int row = token.mid(1).toInt() - 1;            Cell *c = (Cell *)table()->item(row, col);            if (c)                result = c->value();            else                result = 0.0;        } else {            bool ok;            result = token.toDouble(&ok);            if (!ok)                result = Invalid;        }    }    if (negative) {        if (result.type() == QVariant::Double)            result = -result.toDouble();        else            result = Invalid;    }    return result;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品男人的天堂| 午夜免费久久看| 亚洲成人黄色小说| 国产一区不卡精品| 欧美视频一区二区在线观看| 欧美国产激情一区二区三区蜜月| 亚洲bdsm女犯bdsm网站| 成人性生交大片免费看在线播放 | 在线观看中文字幕不卡| 精品久久人人做人人爽| 亚洲自拍偷拍av| 成人三级伦理片| 欧美zozo另类异族| 日韩一区精品视频| 欧美视频自拍偷拍| 亚洲综合色在线| 成人18视频日本| 国产精品久久网站| 久久精品999| 日韩一级成人av| 亚洲福利视频导航| 91黄视频在线观看| 最新国产成人在线观看| 风间由美性色一区二区三区| 精品国产乱码久久久久久闺蜜| 无吗不卡中文字幕| 欧美日韩在线播| 亚洲永久精品大片| 色综合天天综合网天天看片| 国产麻豆午夜三级精品| 久久99国产精品成人| 欧美一区二区三区啪啪| 亚洲一区二区精品3399| 色婷婷av一区二区三区之一色屋| 亚洲欧美另类综合偷拍| 99re热这里只有精品视频| 国产精品你懂的在线| 国产成人精品亚洲日本在线桃色| 国产亚洲自拍一区| 国产不卡在线视频| 日本一区二区高清| 成人av在线一区二区三区| 中文字幕一区日韩精品欧美| 9i看片成人免费高清| 自拍av一区二区三区| 91久久精品一区二区三| 夜夜嗨av一区二区三区中文字幕| 欧美色偷偷大香| 天天免费综合色| 日韩精品影音先锋| 国产九色sp调教91| 中文无字幕一区二区三区| 欧美日韩不卡视频| 三级欧美韩日大片在线看| 91精品国产综合久久香蕉的特点 | 精品一区二区三区不卡| 精品国产乱码久久| 99精品视频一区| 亚洲成人在线免费| 久久久久久久久久看片| av在线播放成人| 日韩成人午夜精品| 国产色婷婷亚洲99精品小说| 99天天综合性| 日韩精品国产欧美| 亚洲国产精品ⅴa在线观看| 色琪琪一区二区三区亚洲区| 午夜成人免费视频| 久久久国产精华| 91在线无精精品入口| 五月婷婷激情综合网| 欧美激情中文字幕| 欧美日韩一区二区在线观看 | 久久精品久久99精品久久| 中文字幕乱码久久午夜不卡| 在线观看视频欧美| 国产精华液一区二区三区| 性久久久久久久久| 国产精品理伦片| 精品久久久久久无| 欧美性生活大片视频| 国产福利不卡视频| 另类中文字幕网| 亚洲一二三区不卡| 中文字幕在线不卡| 欧美精品一区二区久久久| 欧美亚一区二区| 成人黄色小视频| 久久9热精品视频| 亚洲一区中文日韩| 国产调教视频一区| 欧美精品丝袜中出| 91久色porny | 中文字幕国产一区| 欧美日韩大陆一区二区| 国产精品 欧美精品| 视频一区二区中文字幕| 亚洲精品网站在线观看| 久久综合丝袜日本网| 日韩一级片网址| 91黄色在线观看| 色综合久久久网| 国产在线视频不卡二| 亚洲综合网站在线观看| 欧美一区二区三区公司| 欧美在线视频全部完| 成人av在线网站| 精品一区二区在线播放| 亚洲综合久久久| 国产精品乱人伦| 国产精品剧情在线亚洲| 精品成人在线观看| 精品久久国产字幕高潮| 欧美日韩一区二区在线视频| 欧美日韩精品电影| 久久综合九色综合97婷婷女人| 精品蜜桃在线看| 91超碰这里只有精品国产| 欧美猛男男办公室激情| 色综合天天性综合| 欧洲精品在线观看| 99re热视频这里只精品 | 午夜久久久久久电影| 亚洲第一在线综合网站| 亚洲成人第一页| 一区二区三区精品| 亚洲午夜在线电影| 一区二区三区在线视频播放| 亚洲成在线观看| 一区二区三区中文字幕精品精品 | 一区av在线播放| 一区二区三区在线免费观看| 亚洲另类中文字| 亚洲精品久久嫩草网站秘色| 国产精品久久久久久久久快鸭| 国产视频一区二区在线| 久久精品一二三| 91精品国产色综合久久不卡电影 | 亚洲精品一区二区三区精华液 | 日韩av一二三| 精品一二三四在线| 精品一区二区三区在线播放| 日韩成人免费看| 麻豆成人久久精品二区三区红 | 亚洲综合色丁香婷婷六月图片| 午夜精品一区二区三区电影天堂 | 91精品中文字幕一区二区三区| 欧美日本乱大交xxxxx| 555www色欧美视频| 日韩精品一区二区三区三区免费| 欧美一区二区三区不卡| 精品播放一区二区| 亚洲在线观看免费视频| 亚洲国产色一区| 久久精品国产精品亚洲精品| 国产精品一区二区三区99| 成人毛片老司机大片| 日本精品一区二区三区高清| 91丨九色丨蝌蚪富婆spa| 日韩一级片网址| 国产精品午夜免费| 亚洲国产视频在线| 国内精品第一页| 国产精品小仙女| 欧美日韩国产高清一区| 欧美v日韩v国产v| 国产精品久久夜| 亚洲成人黄色小说| 国产美女av一区二区三区| 欧美精品视频www在线观看 | 91丨porny丨国产| 欧美伦理视频网站| 国产欧美精品在线观看| 中文字幕佐山爱一区二区免费| 精品一区二区在线观看| 91浏览器入口在线观看| 日韩欧美精品三级| 18欧美亚洲精品| 久久精品噜噜噜成人88aⅴ| 精品婷婷伊人一区三区三| 亚洲国产日日夜夜| 国产白丝精品91爽爽久久| 欧美三级午夜理伦三级中视频| 精品日韩一区二区三区免费视频| 午夜精品久久久久影视| 夫妻av一区二区| 91精品欧美福利在线观看| 国产精品国产三级国产aⅴ原创| 天天射综合影视| 91精品在线观看入口| 亚洲柠檬福利资源导航| 国产一区二区三区四区五区美女| 欧美在线看片a免费观看| 在线成人av网站| 香蕉成人伊视频在线观看| 91在线视频免费91| 久久精品在线免费观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 777午夜精品免费视频| 伊人开心综合网|