当前位置: 首页>>代码示例>>C++>>正文


C++ DBIndexItem::setSymbol方法代码示例

本文整理汇总了C++中DBIndexItem::setSymbol方法的典型用法代码示例。如果您正苦于以下问题:C++ DBIndexItem::setSymbol方法的具体用法?C++ DBIndexItem::setSymbol怎么用?C++ DBIndexItem::setSymbol使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在DBIndexItem的用法示例。


在下文中一共展示了DBIndexItem::setSymbol方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: openDb

bool CSV::openDb (QString &path, QString &symbol, QString &type, bool tickFlag)
{
  if (db.open(path, chartIndex))
  {
    qDebug("CSV::openDb:can't open chart");
    QString ss("CSV::OpenDb:Could not open db.");
    printStatusLogMessage(ss);
    db.close();
    return TRUE;
  }

  QString s;
  DBIndexItem item;
  chartIndex->getIndexItem(symbol, item);
  item.getSymbol(s);
  if (! s.length())
  {
    if (! type.compare("Futures"))
    {
      db.setType(DbPlugin::Futures1);
      if (db.createNewFutures())
      {
        db.close();
        return TRUE;
      }
    }
    else
    {
      if(db.createNewStock())
      {
        db.close();
        return TRUE;
      }
    }

    item.setSymbol(symbol);
    item.setBarType(tickFlag);
    chartIndex->setIndexItem(symbol, item);
  }

  // verify if this chart can be updated by this plugin
  item.getQuotePlugin(s);
  if (! s.length())
  {
    item.setQuotePlugin(pluginName);
    chartIndex->setIndexItem(symbol, item);
  }
  else
  {
    if (s.compare(pluginName))
    {
      s = symbol + " - skipping update. Source does not match destination.";
      printStatusLogMessage(s);
      db.close();
      return TRUE;
    }
  }

  return FALSE;
}
开发者ID:braimp,项目名称:qtstalker-qt4,代码行数:60,代码来源:CSV.cpp

示例2: createNewFutures

bool DbPlugin::createNewFutures ()
{
  QString s;
  DBIndexItem item;
  chartIndex->getIndexItem(indexKey, item);
  item.getSymbol(s);
  if (s.length())
  {
    qDebug("DbPlugin::createNewStock: duplicate symbol %s", s.latin1());
    return TRUE;
  }

  type = Futures1;
  FuturesData fd;
  if (fd.setSymbolPath(symbol))
    return TRUE;

  s = "Futures";
  item.setType(s);

  fd.getName(s);
  item.setTitle(s);

  item.setSymbol(indexKey);
      
  fd.getSymbol(s);
  item.setFuturesType(s);
      
  s = symbol.right(1);
  item.setFuturesMonth(s);

  chartIndex->setIndexItem(indexKey, item);

  return FALSE;
}
开发者ID:botvs,项目名称:FinancialAnalytics,代码行数:35,代码来源:DbPlugin.cpp

示例3: createNewStock

bool DbPlugin::createNewStock ()
{
  QString s;
  DBIndexItem item;
  chartIndex->getIndexItem(indexKey, item);
  item.getSymbol(s);
  if (s.length())
  {
    qDebug("DbPlugin::createNewStock: duplicate symbol %s", s.latin1());
    return TRUE;
  }

  type = Stock1;
  s = "Stock";
  item.setType(s);
  item.setTitle(indexKey);
  item.setSymbol(indexKey);
  chartIndex->setIndexItem(indexKey, item);
  return FALSE;
}
开发者ID:botvs,项目名称:FinancialAnalytics,代码行数:20,代码来源:DbPlugin.cpp

示例4: createNewCC

bool DbPlugin::createNewCC (DBIndex *i)
{
  FuturesData fd;
  QStringList l;
  fd.getSymbolList(l);

  QString pl = QObject::tr("Parms");
  QString fsl = QObject::tr("Futures Symbol");
  QString gl = QObject::tr("Gapless");

  PrefDialog *dialog = new PrefDialog(0);
  dialog->setCaption(QObject::tr("New CC"));
  dialog->createPage (pl);
  dialog->setHelpFile(helpFile);

  dialog->addComboItem(fsl, pl, l, 0);
  dialog->addCheckItem(gl, pl, TRUE);

  int rc = dialog->exec();
  if (rc != QDialog::Accepted)
  {
    delete dialog;
    return TRUE;
  }

  QString sym;
  dialog->getCombo(fsl, sym);
  bool f = dialog->getCheck(gl);

  delete dialog;

  QDir dir;
  Config config;
  QString s;
  config.getData(Config::DataPath, s);
  s.append("/CC");
  if (! dir.exists(s))
  {
    if (! dir.mkdir(s, TRUE))
    {
      QMessageBox::information(0,
                               QObject::tr("Qtstalker: Error"),
                               QObject::tr("Could not create ~/.qtstalker/data/CC directory."));
      return TRUE;
    }
  }

  DBIndexItem item;
  QString ts;
  chartIndex->getIndexItem(sym, item);
  item.getSymbol(ts);
  if (ts.length())
  {
    qDebug("DbPlugin::createNewStock: duplicate symbol %s", ts.latin1());
    return TRUE;
  }

  
  s.append("/" + sym);
  if (open(s, i))
  {
    QMessageBox::information(0,
                             QObject::tr("Qtstalker: Error"),
                             QObject::tr("Disk error, cannot create chart"));
    return TRUE;
  }

  type = CC1;
  item.setSymbol(sym);
  s = "CC";
  item.setType(s);
  s = sym + " - " + QObject::tr("Continuous Adjusted");
  item.setTitle(s);
  chartIndex->setIndexItem(indexKey, item);

  s = QString::number(f);
  sym = "Adjustment";
  setData(sym, s);

  return FALSE;
}
开发者ID:botvs,项目名称:FinancialAnalytics,代码行数:81,代码来源:DbPlugin.cpp

示例5: createNewSpread

bool DbPlugin::createNewSpread (DBIndex *i)
{
  bool ok = FALSE;
  QString sn = QInputDialog::getText(QObject::tr("New Spread"),
                                     QObject::tr("Enter symbol name for the new Spread"),
                                     QLineEdit::Normal,
                                     QString::null,
                                     &ok,
                                     0);
  if (! sn.length() || ok == FALSE)
    return TRUE;

  QDir dir;
  Config config;
  QString s;
  config.getData(Config::DataPath, s);
  s.append("/Spread");
  if (! dir.exists(s))
  {
    if (! dir.mkdir(s, TRUE))
    {
      QMessageBox::information(0, QObject::tr("Qtstalker: Error"), QObject::tr("Could not create Spread directory."));
      return TRUE;
    }
  }
 
  s.append("/" + sn);
  if (dir.exists(s))
  {
    QMessageBox::information(0, QObject::tr("Qtstalker: Error"), QObject::tr("This Spread already exists."));
    return TRUE;
  }

  DBIndexItem item;
  QString ts;
  chartIndex->getIndexItem(sn, item);
  item.getSymbol(ts);
  if (ts.length())
  {
    qDebug("DbPlugin::createNewStock: duplicate symbol %s", sn.latin1());
    return TRUE;
  }


  if (open(s, i))
  {
    QMessageBox::information(0,
                             QObject::tr("Qtstalker: Error"),
                             QObject::tr("Disk error, cannot create chart"));
    return TRUE;
  }

  type = Spread1;
  item.setSymbol(indexKey);
  s = "Spread";
  item.setType(s);
  item.setTitle(indexKey);
  chartIndex->setIndexItem(indexKey, item);

  spreadPref();
  return FALSE;
}
开发者ID:botvs,项目名称:FinancialAnalytics,代码行数:62,代码来源:DbPlugin.cpp

示例6: saveHeaderData

void UpgradeMessage::saveHeaderData (DbPlugin &db, QString &k, QString &d, QString &sym, DBIndexItem &item)
{
  // is this a co key?
  bool ok = FALSE;
  double t = k.toDouble(&ok);
  if (ok)
  {
    if (t < 10000)
    {
      // its a chart object
      Setting t;
      t.parse(d);
      QString s = "Plugin";
      QString s2;
      t.getData(s,s2);
      if (s2.length())
      {
        t.remove(s);
        s = "Type";
        t.setData(s, s2);
      }

      s = "Plot";
      t.getData(s, s2);
      if (! s2.compare("Main Plot"))
      {
        s2 = "Bars";
        t.setData(s, s2);
      }
      else
        return;

      index.setChartObject(sym, k, t);
      return;
    }
  }

  if (! k.compare("Type"))
  {
    item.setType(d);
    return;
  }

  if (! k.compare("FuturesType"))
  {
    item.setFuturesType(d);
    return;
  }

  if (! k.compare("FuturesMonth"))
  {
    item.setFuturesMonth(d);
    return;
  }

  if (! k.compare("BarType"))
  {
    item.setBarType(d);
    return;
  }

  if (! k.compare("Fundamentals"))
  {
    index.setFundamentals(sym, d);
    return;
  }

  if (! k.compare("LocalIndicators"))
  {
    index.addIndicator(sym, d);
    return;
  }

  if (! k.compare("QuotePlugin"))
  {
    item.setQuotePlugin(d);
    return;
  }

  if (! k.compare("Symbol"))
  {
    item.setSymbol(d);
    return;
  }

  if (! k.compare("Title"))
  {
    item.setTitle(d);
    return;
  }

  if (! k.compare("Path"))
  {
    item.setPath(d);
    return;
  }

  if (! k.compare("SpreadFirstSymbol"))
  {
    int t = d.find("/data0/", 0, TRUE);
//.........这里部分代码省略.........
开发者ID:botvs,项目名称:FinancialAnalytics,代码行数:101,代码来源:UpgradeMessage.cpp

示例7: parseFundamental

void Yahoo::parseFundamental ()
{
  if (! data.length())
    return;

  if (data.contains("no data available"))
    return;

  QStringList l = QStringList::split("yfnc_tablehead1", data, FALSE);
  int loop;
  Setting fund;
  for (loop = 1; loop < (int) l.count(); loop++)
  {
    QString k = l[loop];
    int p = k.find(">", 0, TRUE);
    if (p == -1)
      continue;
    p++;
    k.remove(0, p);
    p = k.find("<", 0, TRUE);
    if (p == -1)
      continue;
    k.truncate(p);

    if (k.contains("&sup"))
      k.truncate(k.length() - 6);
    if (k.contains("&amp"))
      k.remove(k.find("&", 0, TRUE), 5);
    k = k.stripWhiteSpace();
    if (! k.length())
      continue;

    QString d = l[loop];
    p = d.find("yfnc_tabledata1", 0, TRUE);
    if (p == -1)
      continue;
    p = d.find(">", p, TRUE);
    if (p == -1)
      continue;
    p++;
    d.remove(0, p);
    p = d.find("<", 0, TRUE);
    if (p == -1)
      continue;
    d.truncate(p);
    d = d.stripWhiteSpace();
    if (! d.length())
      continue;

    fund.setData(k, d);
  }

  QString s = dataPath + "/";
  QString ts = "symbol";
  QString ts2;
  currentUrl->getData(ts, ts2);
  QFileInfo fi(ts2);
  if (fi.extension(FALSE).length())
    s.append(fi.extension(FALSE).upper());
  else
    s.append("US");
  s.append("/");
  s.append(ts2);

  if (plug.open(s, chartIndex))
  {
    QString ss(tr("Could not open db"));
    printStatusLogMessage(ss);
    return;
  }

  QString fn = ts2;

  // verify if this chart can be updated by this plugin
  DBIndexItem item;
  chartIndex->getIndexItem(fn, item);
  item.getSymbol(s);
  if (! s.length())
  {
    if(plug.createNewStock())
    {
      plug.close();
      return;
    }

    chartIndex->getIndexItem(fn, item);

    item.setQuotePlugin(pluginName);
    item.setSymbol(ts2);
    QString title = ts2;
    int p = data.find("yfnc_leftnav1", 0, TRUE);
    if (p != -1)
    {
      p = data.find("b>", p, TRUE);
      if (p != -1)
      {
        p = p + 2;
        int p2 = data.find("<", p, TRUE);
        if (p2 != -1)
	{
//.........这里部分代码省略.........
开发者ID:DigitalPig,项目名称:qtstalker-qt4,代码行数:101,代码来源:Yahoo.cpp

示例8: parseQuote

void Yahoo::parseQuote ()
{
  if (! data.length())
    return;

  QFile f(file);
  if (! f.open(QIODevice::WriteOnly))
    return;
  Q3TextStream stream(&f);
  stream << data;
  f.close();

  f.setName(file);
  if (! f.open(QIODevice::ReadOnly))
    return;
  stream.setDevice(&f);

  QString s = dataPath + "/";
  QString ts = "symbol";
  QString ts2;
  currentUrl->getData(ts, ts2);
  QFileInfo fi(ts2);
  if (fi.extension(FALSE).length())
    s.append(fi.extension(FALSE).upper());
  else
    s.append("US");
  s.append("/");
  s.append(ts2);

  if (plug.open(s, chartIndex))
  {
    QString ss(tr("Could not open db"));
    printStatusLogMessage(ss);
    f.close();
    return;
  }

  QString fn = ts2;

  // verify if this chart can be updated by this plugin
  DBIndexItem item;
  chartIndex->getIndexItem(fn, item);
  item.getSymbol(s);
  if (! s.length())
  {
    if (plug.createNewStock())
    {
      f.close();
      plug.close();
      return;
    }

    chartIndex->getIndexItem(fn, item);

    item.setSymbol(ts2);
    item.setTitle(ts2);
    item.setQuotePlugin(pluginName);

    chartIndex->setIndexItem(fn, item);
  }

//  item.getQuotePlugin(s);
//  if (s.compare(pluginName))
//  {
//    s = ts2 + " - " + tr("skipping update. Source does not match destination");
//    printStatusLogMessage(s);
//    f.close();
//    plug.close();
//    return;
//  }

  while(stream.atEnd() == 0)
  {
    ts = stream.readLine();
    QStringList l = QStringList::split( '\n', substituteSeparator( ts, ',', '\n' ), FALSE);

    if (l.count() < 9 || l.count() > 10)
    {
      QString ss = tr("Parse: invalid number of parameters") + " '" + ts2 + "' " + tr("skipped");
      printStatusLogMessage(ss);
      errorList.append(ts2);
      continue;
    }

    // get date
    QStringList l2 = QStringList::split("/", l[3], FALSE);
    if (l2.count() != 3)
      continue;
    QString date = l2[2];
    if (l2[0].toInt() < 10)
      date.append("0");
    date.append(l2[0]);
    if (l2[1].toInt() < 10)
      date.append("0");
    date.append(l2[1]);
    date.append("000000");

    Bar bar;
    if (bar.setDate(date))
    {
//.........这里部分代码省略.........
开发者ID:DigitalPig,项目名称:qtstalker-qt4,代码行数:101,代码来源:Yahoo.cpp

示例9: parseHistory

void Yahoo::parseHistory ()
{
  if (! data.length())
    return;

  if (data.contains("No data available"))
    return;

  if (data.contains("No Prices in this date range"))
    return;

  // strip off the header
  QString s = "Date,Open,High,Low,Close,Volume,Adj Close\n";
  int p = data.find(s, 0, TRUE);
  if (p != -1)
    data.remove(0, p + s.length());

  QFile f(file);
  if (! f.open(QIODevice::WriteOnly))
    return;
  Q3TextStream stream(&f);
  stream << data;
  f.close();

  f.setName(file);
  if (! f.open(QIODevice::ReadOnly))
    return;
  stream.setDevice(&f);

  s = dataPath + "/";
  QString ts = "symbol";
  QString ts2;
  currentUrl->getData(ts, ts2);
  QFileInfo fi(ts2);
  if (fi.extension(FALSE).length())
    s.append(fi.extension(FALSE).upper());
  else
    s.append("US");
  s.append("/");
  s.append(ts2);

  if (plug.open(s, chartIndex))
  {
    QString ss(tr("Could not open db"));
    printStatusLogMessage(ss);
    f.close();
    return;
  }

  QString fn = ts2;

  // verify if this chart can be updated by this plugin
  DBIndexItem item;
  chartIndex->getIndexItem(fn, item);
  item.getSymbol(s);
  if (! s.length())
  {
    if (plug.createNewStock())
    {
      f.close();
      plug.close();
      return;
    }

    chartIndex->getIndexItem(fn, item);

    item.setSymbol(ts2);
    item.setTitle(ts2);
    item.setQuotePlugin(pluginName);

    chartIndex->setIndexItem(fn, item);
  }

//  item.getQuotePlugin(s);
//  if (s.compare(pluginName))
//  {
//    s = ts2 + " - " + tr("skipping update. Source does not match destination");
//    printStatusLogMessage(s);
//    f.close();
//    plug.close();
//    return;
//  }

  while(stream.atEnd() == 0)
  {
    ts = stream.readLine();
    QStringList l = QStringList::split( '\n', substituteSeparator( ts, ',', '\n' ), FALSE);

    if (l.count() < 5)
    {
      QString ss = tr("Parse: invalid number of parameters") + " '" + ts2 + "' " + tr("skipped");
      printStatusLogMessage(ss);
      errorList.append(ts2);
      continue;
    }
    // date
    QString date = parseDate(l[0]);
    Bar bar;
    if (bar.setDate(date))
    {
//.........这里部分代码省略.........
开发者ID:DigitalPig,项目名称:qtstalker-qt4,代码行数:101,代码来源:Yahoo.cpp


注:本文中的DBIndexItem::setSymbol方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。