Название: Удаление пустых столбцов в таблице. Отправлено: 1Skazochnik от Январь 26, 2011, 13:17 Добрый день ! Я еще только учусь Qt, пишу программу, которая читает файл с запятыми в качестве разделителей и помещает это все в таблицу. Принцип действия(можете посоветовать более оптимальный):
1. Открываю файл, считываю в строку content. 2. Разбиваю строку в StringList(команда QString::split), в качестве символа разбивки выбираю "\n". Теперь я имею массив из строк. 3. Далее получаю таким же образом массив из полей, символ разбивки - это запятая. Получаю массив из полей. 4. Далее избавляюсь от кавычек в каждом поле, использую QStringList::replaceInStrings("\"","\0"); 5. Затем заношу так данные, используя цикл: Код: tmp = slFields.at(j); // берем поле по счету j, tmp это QString Сделал CheckBox, по которому должны удаляться пустые столбцы, вот функция: Код: void CsvCon::on_delEmptyColsCheckBox_clicked() На деле же выходит так: часть столбцов удалилась, часть нет. Если например взять 4 пустых столбцов, идущих друг за другом то удалятся 1 и 3. Помогите пожалуйста, с утра ничего не получается. Название: Re: Удаление пустых столбцов в таблице. Отправлено: shirushizo от Январь 26, 2011, 20:31 ... Если у тебя столбцы 1,2,3 - пустые, то твой алгоритм работает так:На деле же выходит так: часть столбцов удалилась, часть нет. Если например взять 4 пустых столбцов, идущих друг за другом то удалятся 1 и 3. Помогите пожалуйста, с утра ничего не получается. i=0. Проверяем столбец 0 - все ок i=1. Проверяем столбец 1 - он пустой, след - удаляем. Столбец, который изначально был 2 становиться столбцом 1 i=2. Проверяем столбец 2 (который изначально был 3) - удаляем ... Поэтому у тебя удалились не все столбцы. Решение: Код: if (del == true) Название: Re: Удаление пустых столбцов в таблице. Отправлено: 1Skazochnik от Январь 27, 2011, 11:50 Спасибо, разобрался. Теперь не удаляет только последнюю колонку, в ней почему-то даже после очищения что то находится, не пробел. Буду думать.
Название: Re: Удаление пустых столбцов в таблице. Отправлено: 1Skazochnik от Январь 27, 2011, 12:01 В конце строки оказался символ "Возврат каретки - \r"
|