80 lines
1.8 KiB
C++
80 lines
1.8 KiB
C++
#ifndef BASE_H
|
|
#define BASE_H
|
|
|
|
|
|
#include "QByteArray"
|
|
#include "QList"
|
|
|
|
|
|
class myarray:public QByteArray
|
|
{
|
|
public:
|
|
myarray(){}
|
|
myarray(const char *data,int len):QByteArray(data,len){}
|
|
myarray(const char *data):QByteArray(){
|
|
int len=strlen(data)+1;
|
|
QByteArray::append(data,len);
|
|
}
|
|
myarray(int size,char data):QByteArray(size,data){}
|
|
myarray(const myarray &data):QByteArray(data){}
|
|
virtual ~myarray(){}
|
|
char operator [](int index){
|
|
int size=this->size();
|
|
if(index<0) index=size+index;
|
|
if(index<0||index>=size) return char(0);
|
|
return QByteArray::operator [](index);
|
|
}
|
|
myarray &operator =(const myarray &b){
|
|
QByteArray::operator =(b);
|
|
return *this;
|
|
}
|
|
// myarray &operator =(const myarray b){
|
|
// QByteArray::operator =(b);
|
|
// return *this;
|
|
// }
|
|
myarray &operator =(const QByteArray &b){
|
|
QByteArray::operator =(b);
|
|
return *this;
|
|
}
|
|
// myarray &operator =(const QByteArray b){
|
|
// QByteArray::operator =(b);
|
|
// return *this;
|
|
// }
|
|
|
|
};
|
|
|
|
|
|
|
|
class mystring:public QString
|
|
{
|
|
public:
|
|
mystring(){}
|
|
mystring(const char *data):QString(data){}
|
|
mystring(myarray &data):QString(data.data()){}
|
|
mystring(QByteArray &data):QString(data.data()){}
|
|
mystring(QByteArray data):QString(data.data()){}
|
|
mystring(QString &data):QString(data){}
|
|
mystring(QString data):QString(data){}
|
|
virtual ~mystring(){}
|
|
const char *data(){
|
|
localdata=QString::toLocal8Bit();
|
|
return localdata.data();
|
|
}
|
|
mystring &operator =(const QString &b){
|
|
QString::operator =(b);
|
|
return *this;
|
|
}
|
|
protected:
|
|
myarray localdata;
|
|
};
|
|
|
|
|
|
template<typename T>
|
|
QList<T> str_to_nums(mystring str,char c);
|
|
|
|
myarray str_to_data(mystring str,char c);
|
|
|
|
|
|
|
|
#endif // BASE_H
|