LINUX.ORG.RU

commaText на C++ или QT


0

0

Вообщем, в билдере есть такая штука как commaText, которая работает с TStringList. Вообщем проблема в том, что я написал уже две функцииЮ но они не очень правильно работают, т.е. гдето норм, а гдето косячут. Может кто нить предложит новое решение ?.
Привожу мои функции :
QString MyMath::commaText(QPtrList<TStringList>& List)
{
QString res = "\"";
QChar c;
for (int i = 0, j; i < List.count(); i++){
if (i != 0) res += "\",\"";
for (j = 0; j < List.at(i)->Strings().length(); j++){
switch (c = List.at(i)->Strings().at(j)){
case '"':
res += "\"\"";
break;
default:
res += c;
}
}
}
res += '"';
return res;
}
и вторая :
QString MyMath::commaText(QPtrList<TStringList>& List)
{
QString res, tmp;
QChar c;
QPtrList<TStringList> tmpList;
for(int i = 0; i < List.count(); i++){
tmp = List.at(i)->Strings();
if(tmp == ""){
tmpList.append(new TStringList(tmp));
}
else{
if(tmp.find(" ") < 0){
tmpList.append(new TStringList(tmp));
}
if(tmp.find(" ") >= 0){
tmp.replace("\"","\"\"");
tmpList.append(new TStringList("\""+tmp+"\""));
}
}
}
for(int i = 0; i < tmpList.count(); i++){
res += tmpList.at(i)->Strings();
if(i != tmpList.count()-1){
res += ",";
}
else{
//res += "\"";
}
}
return res;
}

anonymous

тут все конечно работают с билдером и знаю что такое commaText и TStringList

Reset ★★★★★
()

вообщем эти функции норм работают, оказался в другом косяк. Лучше использовать вторую :)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.