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

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

?? cell.cpp

?? 很好的一個QT源程序
?? 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一区二区三区免费野_久草精品视频
国产精品网站导航| 欧美熟乱第一页| 青青草国产成人99久久| 一区二区三区精品在线| 亚洲日本青草视频在线怡红院| 久久亚洲春色中文字幕久久久| 日韩免费视频一区| 日韩精品一区二区三区在线观看| 欧美一区二区黄色| 精品国产91洋老外米糕| 精品成人一区二区| 国产亚洲精品bt天堂精选| 中文字幕不卡在线播放| 最好看的中文字幕久久| 一区av在线播放| 午夜av一区二区三区| 青青草国产成人99久久| 国产精品一区二区三区99| 成人开心网精品视频| 9久草视频在线视频精品| 91麻豆福利精品推荐| 在线免费亚洲电影| 欧美视频一区二区三区在线观看| 欧美男女性生活在线直播观看| 91麻豆精品国产91久久久使用方法 | 久久久蜜臀国产一区二区| 日韩欧美一区二区在线视频| 国产日韩精品一区二区浪潮av| 亚洲国产激情av| 亚洲免费观看高清完整版在线观看| 亚洲国产精品久久艾草纯爱| 日韩av电影免费观看高清完整版 | 国产精品动漫网站| 午夜伊人狠狠久久| 国产精品资源在线观看| 99久久国产综合精品女不卡| 91精品国产色综合久久不卡电影| 久久伊99综合婷婷久久伊| 亚洲色图第一区| 另类调教123区| 色悠悠久久综合| 久久久91精品国产一区二区精品| 亚洲综合色噜噜狠狠| 国产盗摄一区二区| 欧美一区二区精品久久911| 最好看的中文字幕久久| 国产在线精品一区在线观看麻豆| 色婷婷av一区二区三区大白胸| 日韩欧美一级片| 亚洲成人黄色小说| av亚洲产国偷v产偷v自拍| 欧美sm极限捆绑bd| 午夜不卡av免费| 色综合久久久久网| 国产欧美一区在线| 国产一区二区三区视频在线播放| 欧美日韩你懂得| 亚洲精品国产成人久久av盗摄| 国内久久精品视频| 欧美大片一区二区三区| 丝袜美腿高跟呻吟高潮一区| 91久久精品网| 中文字幕一区av| 国产成人aaaa| 亚洲国产成人在线| 国产成人精品亚洲日本在线桃色| 日韩欧美一级二级三级久久久| 天堂蜜桃91精品| 欧美日本一区二区三区四区| 亚洲一区二区三区四区五区黄| 99国产精品国产精品毛片| 国产精品情趣视频| 大美女一区二区三区| 久久久久久97三级| 国产成人在线电影| 国产女人aaa级久久久级| 国产精品亚洲午夜一区二区三区| 精品国产乱码久久久久久牛牛| 麻豆国产精品视频| 精品国产乱码久久久久久久| 黄色日韩网站视频| 久久久久久97三级| 不卡av在线免费观看| 国产精品伦一区| 99这里只有精品| 亚洲免费观看视频| 欧美精品1区2区3区| 日本va欧美va欧美va精品| 精品国产99国产精品| 大陆成人av片| 亚洲成人av电影在线| 日韩一区和二区| 国产成人综合亚洲网站| 日韩国产精品大片| 精品毛片乱码1区2区3区| 国产精品亚洲专一区二区三区 | 欧美一二区视频| 国产成人久久精品77777最新版本| 中文字幕 久热精品 视频在线| 91香蕉视频mp4| 亚洲超碰97人人做人人爱| 欧美日韩国产一二三| 免费日本视频一区| 亚洲国产精品av| 91国偷自产一区二区三区观看| 免费成人深夜小野草| 国产精品欧美久久久久无广告 | 久久精品无码一区二区三区| av电影在线观看完整版一区二区| 亚洲永久精品大片| 久久综合精品国产一区二区三区 | 青娱乐精品在线视频| 国产午夜亚洲精品羞羞网站| 色综合久久久网| 国产一区二区三区四区五区入口 | 日韩视频一区二区在线观看| 国产一区二区按摩在线观看| 成人欧美一区二区三区小说| 欧美精品久久久久久久多人混战| 国产成人无遮挡在线视频| 亚洲不卡在线观看| 亚洲视频1区2区| 久久久久久久久一| 欧美精品成人一区二区三区四区| 成人不卡免费av| 韩国精品免费视频| 天堂精品中文字幕在线| 最新日韩av在线| 国产亚洲精品福利| 精品国免费一区二区三区| 欧美无乱码久久久免费午夜一区| 国产69精品久久久久毛片 | 精品美女被调教视频大全网站| 欧美丝袜丝交足nylons| www.色综合.com| 国产精品一区二区久久不卡| 亚洲二区视频在线| 亚洲人成网站影音先锋播放| 久久精品视频免费观看| 日韩精品综合一本久道在线视频| 欧美伊人精品成人久久综合97| 99re成人在线| 成人午夜av在线| 国产精品白丝av| 国产一区久久久| 久久99精品久久久久久国产越南| 亚洲成人精品影院| 亚洲综合在线免费观看| 中文字幕一区二区5566日韩| 国产精品亲子乱子伦xxxx裸| 中文字幕精品一区二区三区精品| 2017欧美狠狠色| 国产午夜久久久久| 国产日韩欧美高清在线| 国产精品美女久久久久av爽李琼 | 精品国产一区二区三区av性色| 91精品在线观看入口| 欧美高清视频一二三区 | 日韩欧美高清一区| 日韩午夜电影av| 精品99一区二区三区| 久久网站最新地址| 国产三级欧美三级| 国产精品美女久久久久久久久久久 | 亚洲一区二区三区四区在线观看 | 国产精品热久久久久夜色精品三区| 国产日韩成人精品| 中文字幕在线观看不卡| 亚洲人成亚洲人成在线观看图片| 亚洲乱码一区二区三区在线观看| 亚洲亚洲人成综合网络| 日韩av电影一区| 国产精品99久久久久| 99久久精品一区二区| 欧美日韩aaaaa| 国产欧美综合在线| 亚洲一区二区精品久久av| 另类人妖一区二区av| 成人动漫一区二区三区| 欧美日韩一级视频| 精品国产乱码久久久久久免费 | 亚洲一区二区三区四区在线 | 国产欧美一区二区精品秋霞影院| 中文字幕一区不卡| 天堂影院一区二区| 成人国产一区二区三区精品| 日本高清成人免费播放| 26uuuu精品一区二区| 亚洲色图欧洲色图婷婷| 蜜臀av一区二区在线观看 | 午夜一区二区三区在线观看| 国产资源精品在线观看| 91黄色免费版| 亚洲国产高清aⅴ视频| 午夜影院久久久| 成人av先锋影音| 欧美大胆人体bbbb| 亚洲美女视频在线观看| 国产精品一区二区无线| 欧美福利视频导航|