!===================================================================================== ! Класс для работы с CSV-файлами. ! Вячеслав Черников, г.Рязань, 2017г. !===================================================================================== !===================================================================================== ! Класс: работа с CSV-файлами. ! Пример вызова. ! ! FsCSVL FsCSV ! ! FsCSVL.Kill !уничтожаем класс (необязательно) ! !===================================================================================== QueueCSVType Queue, type !буфер для формирования строки BufStr STRING(1024) !строка буфера end QueueStructCSVType Queue, type !структуры StructName STRING(20) !наименование структуры StructFields LONG !количество полей в структуре StructNums BYTE, DIM(100) !переназначение полей при загрузке StructRef &QUEUE !ссылка на структуру StructField ANY, DIM(100) !ссылки на поля структуры end FsCSV CLASS,TYPE,MODULE('FsCSV.CLW'),LINK('FsCSV.CLW') Active BYTE, PRIVATE !флаг активности BufPoint LONG !указатель в буфере BufPointMax LONG !максимальное значение указателя StructFieldsMax LONG !максимальное количество полей в структуре FileNameCSV STRING(128) !имя csv-файла ErrorCode BYTE !код ошибки ErrorMessage STRING(1024) !сообщение об ошибке QueueBuf &QueueCSVType !буфер для формирования строки QueueStructCSV &QueueStructCSVType !структуры Init PROCEDURE !инициализация класса Kill PROCEDURE !отключение класса Destruct PROCEDURE !деструктор SetStruct PROCEDURE (STRING pName, *QUEUE pQueue) !установить структуру группы ExportGroup PROCEDURE (STRING pName, *GROUP pGroup) !экспортировать группу ExportQueue PROCEDURE (STRING pName, *QUEUE pQueue) !экспортировать очередь ImportFile PROCEDURE (STRING pName, BYTE pReg) !импортировать файл ImportRec FUNCTION (STRING Str), STRING !импортировать запись AddStrInt PROCEDURE (STRING Str) !добавить строку в буфер AddStrInt2 PROCEDURE (STRING Str) !добавить фрагмент строки в буфер MakeFile PROCEDURE (STRING pName) !сформировать файл StrReplace FUNCTION (STRING Str, STRING StrSource, STRING StrTarg), STRING !замена символов в строке StrReplaceSpec FUNCTION (STRING Str), STRING !замена специальных символов в строке (экспорт) StrReplaceSpecImp FUNCTION (STRING Str), STRING !замена специальных символов в строке (импорт) END