Написать класс на С++ Qt

Андрей6 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
20.11.2019

Имеется базовый класс 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}"