Написать класс на С++ Qt
Имеется базовый класс FExportManager.
Необходимо наследовать от него классы FTXTExportManager,FDBFExportManager,FXLSExportManager реализующие экспорт в CSV,DBF и XLS соответственно.
В конструктор класса передаётся карта содержащая параметры экспорта.
Входными данными является модель QAbstractTableModel.
class FExportManager
{
FExportManager(QMap mapParams);
~FExportManager();
void setModel(QAbstractTableModel* pModel);
virtual bool startExport();
}
class FDBFExportManager
{
FDBFExportManager(QMap mapParams);
~FDBFExportManager();
virtual bool startExport() override;
}
class FTXTExportManager
{
FDBFExportManager(QMap mapParams);
~FDBFExportManager();
virtual bool startExport() override;
}
Описание параметров:
TXT:
FILE=out.csv
Параметр принимает путь к выходному файлу и его название.
DELIMITER=;
Определяет разделитель для значений
ENCLOSE_SEQUENCE="
Определяет
ESCAPE_SEQUENCE=\
Определяет символ экранирования
PRINT_HEADER=FALSE
Определяет необходимо-ли выводить названия колонок
ENCODING=CP1251
Определяет кодировку файла
DBF
FILE=out.dbf
Параметр принимает путь к выходному файлу и его название.
STRUCTURE=NAME{C15},COUNT{N9.14},DTADD{D}
Определяет структуру файла
ENCODING=CP866
Определяет кодировку файла
Описание структуры DBF файла
Должны поддерживаться следующе типы полей:
Строка: "C"
формат: C
пример: "{C15},{C80}"
Число: "N"
формат: N
пример: "{N5},{N15.3}"
Дата: "D"
формат D
пример: "{D}"