![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
PVGDRK |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 49 Регистрация: 27.4.2010 Пользователь №: 1662 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Помогите советом... есть таблица 3 столбца и 100 строк... некоторые из них являются заполненными пользователем... мне нужно сохранить эту таблицу в файл, так,чтобы потом из этого файла данные снова можно было загрузить в tableWidget в той же последовательности.
Вопрос первый: В какой файл лучше сохранять данные? Я сохраняю в текстовом виде в экселе, но данные сохраняются в строчку... И второе При выводе дынных из tableWidget в поток при обнаружении пустой строки выдается ошибка, как я поняла из-за того,что item(i,j) возвращает 0, а не String. Как это отслеживать? Я писала так: Цитата str_txt=ui.tableWidget->item(i,j)->text(); if (!str_txt.isEmpty()) {...} Но ошибка возникает раньше чем сама проверка.... Если кто может - подскажите как это правильно написать... |
|
|
![]() |
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
пробегай по всем строкам таблицы и сохраняй данные из элементов в файл.
|
|
|
PVGDRK |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 49 Регистрация: 27.4.2010 Пользователь №: 1662 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Litkevich Yuriy @ 1.6.2010, 10:39) Link пробегай по всем строкам таблицы и сохраняй данные из элементов в файл. Так я так и делаю.... Проблема в том, что когда строка пустая возникает ошибка. Как это отслеживать? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#4
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(PVGDRK @ 1.6.2010, 13:57) Link Так я так и делаю покажи код обхода таблицы
|
|
|
BRE |
![]()
Сообщение
#5
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(PVGDRK @ 1.6.2010, 10:57) Link Так я так и делаю.... Проблема в том, что когда строка пустая возникает ошибка. Как это отслеживать?
|
|
|
PVGDRK |
![]()
Сообщение
#6
|
Студент ![]() Группа: Участник Сообщений: 49 Регистрация: 27.4.2010 Пользователь №: 1662 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Litkevich Yuriy @ 1.6.2010, 11:02) Link Цитата(PVGDRK @ 1.6.2010, 13:57) Link Так я так и делаю покажи код обхода таблицы
Ошибка возникает при прохождении первого столбца, разу,как только считыавем пустую строку... |
|
|
Litkevich Yuriy |
![]()
Сообщение
#7
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
PVGDRK, как ты всё сложно делаешь. А если столбцов будет -дцать?
BRE, показал как проверять элемент, таблица может вернуть нулевой указатель. |
|
|
PVGDRK |
![]()
Сообщение
#8
|
Студент ![]() Группа: Участник Сообщений: 49 Регистрация: 27.4.2010 Пользователь №: 1662 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Litkevich Yuriy @ 1.6.2010, 11:41) Link PVGDRK, как ты всё сложно делаешь. А если столбцов будет -дцать? BRE, показал как проверять элемент, таблица может вернуть нулевой указатель. Да я знаю что можно сразу и строку и столбец проверять... это проще ... пока так написалось... в процессе отладки... просто я еще только учусь.... а вот то что написал BRE прокомментируйте пожалуйста... [code] QTableWidgetItem *itm = ui.tableWidget->item(i,j); str_txt = itm? itm->text() : ""; if (!str_txt.isEmpty()) {...}[ /code] Что означает знак "?" после itm? Спасибо ![]() |
|
|
BRE |
![]()
Сообщение
#9
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(PVGDRK @ 1.6.2010, 11:47) Link Что означает знак "?" после itm? Спасибо ![]() Дык, лучше вначале изучить язык на котором пытаешься программировать... ![]() Почитай сам, что означает эта конструкция. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#10
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(PVGDRK @ 1.6.2010, 14:47) Link Что означает знак "?" после itm? это так называемый тернарный оператор, т.е. у которого три аргумента:выражение ? первый_вариант : второй_вариант смотри в книге по Си/Си++ |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 6.8.2025, 3:16 |