txt純文字讀寫,按行追加,按日期自增
#ifndef textwriter_h
#define textwriter_h
;#endif // textwriter_h
#include "textwriter.h"
textwriter::textwriter(qstring basedir,qstring tag,qstring ext,qobject *parent) : qobject(parent)
qstring textwriter::getbasedir()
void textwriter::setbasedir(qstring basedir)
else
}void textwriter::write(qstring msg)
_mutex.unlock();
}}
sqlite資料庫讀寫,可實現介面,固定讀寫內容,用表物件呼叫介面,呼叫時不必頻繁生成sql命令.檔案按日期自增;
分為三個部分:檔案操作類dbfile,表介面類dbtableinte***ce,資料表物件管理類dbmanager
#ifndef dbfile_h
#define dbfile_h
#include #include #include #include #include #include #include class dbfile : public qobject
;#endif // dbfile_h
#include "dbfile.h"
qobject(parent)
qsqlquery dbfile::getqsqlquery()
void dbfile::setdbdir(qstring dir)
}dbdir = _dir.absolutepath();
}catch(_exception)
return ;
}qstring dbfile::getdbdir()
void dbfile::init()
qstring dbname = qstring("%1/%2_v%3.db").arg(dbdir).arg(tag).arg(db_version);
if(database.databasename() != dbname)
else
database.setdatabasename(dbname);
if(!database.open())
emit onloaddb(dbname);
if(!dbfile_exist)
}}void dbfile::writedb(qstring sql_cmd)
}sqlmutex.unlock();
}}void dbfile::writedb1(qsqlquery sql_query)};}
}sqlmutex.unlock();
}count = tabindex;
return ;
}int dbfile::tablerowcount(qstring table)}}
sqlmutex.unlock();
}return count;
}qstringlist dbfile::gettablecolumnnames(qstring table)};}
}sqlmutex.unlock();
}return tabcolname;
}void dbfile::readtable(qstring table,
qstringlist &tabcolname,
qlist&tabrowdata,
int &count,
int start_index,
int max_count,qstring orderby,qstring where)
if(where!= "")
if(start_index!=0 || max_count!=-1)
if(sql_query.exec(select));
class dbtableinte***ce : public qobject
;#endif // dbtableinte***ce_h
#include "dbtableinte***ce.h"
dbtableinte***ce::dbtableinte***ce(dbfile* datasource,qstring table,qobject *parent) : qobject(parent)
void dbtableinte***ce::checktableexistsql(qstring)
void dbtableinte***ce::addtestdata(qstring)
}void dbtableinte***ce::add(teststrudbtableinte***ce data)
void dbtableinte***ce::add(qstring tag,qstring value)
int dbtableinte***ce::count()
qstring dbtableinte***ce::gettablename()
void dbtableinte***ce::remove(int rowid)
void dbtableinte***ce::clear()
void dbtableinte***ce::query(qlist&data,int start_index,int query_count);
#endif // dbmanager_h
#include "dbmanager.h"
void dbmanager::init()
dbfile* dbmanager::datasource;
dbtableinte***ce* dbmanager::table1;
dbtableinte***ce* dbmanager::table2;
檔案讀寫的一些坑
r 開啟並唯讀檔案,該檔案必須存在。r 開啟並且可讀可寫檔案,該檔案必須存在。w 開啟並只寫檔案,若檔案存在則檔案長度清為0,即該檔案內容會消失。若檔案不存在則建立該檔案。w 開啟可讀寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失。若檔案不存在則建立該檔案。a 以附加的方式開啟只寫檔案。若檔...
matlab讀,寫檔案函式的一些理解
檔案讀寫函式 fid fopen 指定的路徑 test.dat r dat mat txt 等其他檔案格式 r 開啟檔案,並讀取資料。w 開啟檔案,並寫資料,如果檔案不存在,則系統自動建立乙個檔案。a 開啟我檔案,並在檔案結尾新增資料 r 開啟檔案,可以讀和寫資料,w a wb 為二進位制方式向fi...
Qt 的一些心得
一.背景刷成黑色,前景色設為白色。方法一 paltette方式,經測試,該方法不會影響到其他控制項,推薦使用 qpalette bgpal palette bgpal.setcolor qpalette background,qcolor 0,0 0,255 qpalette background,...