Difference between revisions of "CsvDocument/ru"
m (→Обратная связь: Removed redundant link) |
|||
Line 24: | Line 24: | ||
=== Изменения === | === Изменения === | ||
− | + | Версия 0.1 (22.01.2010) | |
+ | * первый выпуск | ||
+ | Версия 0.2 (31.05.2010) | ||
+ | * исправлено некорректное преобразование символов конца строки | ||
+ | * исправлена компиляция со включенными проверками диапазона (Range checks) | ||
+ | * стала доступна функция QuoteCSVString, упрощающая генерацию CSV без использования класса TCsvDocument | ||
+ | * небольшая чистка кода | ||
=== Статус === | === Статус === | ||
− | Ранняя Beta | + | Ранняя Beta |
=== Загрузка === | === Загрузка === | ||
Последнюю версию можно загрузить с lazarus-ccr: | Последнюю версию можно загрузить с lazarus-ccr: | ||
− | http://sourceforge.net/projects/lazarus-ccr/files/CsvDocument/ | + | http://sourceforge.net/projects/lazarus-ccr/files/CsvDocument/CvsDocument%200.2/csvdocument-0.2.zip/download |
Архив содержит саму библиотеку и демонстрационное приложение. | Архив содержит саму библиотеку и демонстрационное приложение. |
Revision as of 16:36, 1 June 2010
│
English (en) │
русский (ru) │
О библиотеке
Библиотека CsvDocument - это модуль Free Pascal, содержащий набор классов для работы с файлами в формате CSV. Библиотека была разработана для обмена табличными данными с OpenOffice Calc / MS Office Excel с использованием CSV в качестве промежуточного формата.
Возможности:
- Последовательное чтение CSV файла (поле за полем) с помощью класса TCSVParser. Не очень удобно, зато позволяет экономить память при обработке больших файлов.
- Чтение/запись произвольного поля с помощью класса TCsvDocument. Данный подход основан на объектной модели документа, поэтому требует больше памяти.
- Реализация CSV совместима с реализацией в OpenOffice Calc / MS Office Excel, т.е. CSV-файлы, сохранённые из Calc/Excel, можно читать с помощью CsvDocument, и наоборот.
- Поддерживается как кодировка UTF-8, так и кодовые страницы windows-xxx. Библиотека использует тип string для всех строковых операций и сама не осуществляет каких-либо преобразований. Следует помнить, что Excel не поддерживает CSV-файлы в кодировке UTF-8.
- Поддержка переводов строки внутри полей CSV. В том числе из-за этого пришлось изобретать велосипед. Следует помнить, что из пары OO Calc / MS Excel переводы строки в полях поддерживает только Calc.
- Доступ к полям по аналогии с компонентом StringGrid: TCsvDocument.Cells[ACol, ARow]. Доступ к полям безопасен, т.е. при чтении несуществующего поля возвращается пустая строка, а не вызывается исключение типа "Index out of bounds". Для того, чтобы отличить пустое поле от несуществующего, можно воспользоваться методами HasRow/HasCell и свойствами RowCount/ColCount.
- Нет искусственных ограничений на длину поля, число строк/столбцов, и т.д. Естественные ограничения сохраняются: производительность системы, объём свободной памяти, ограничение в 2 Гб на длину строки типа string, и ограничение на максимальное значение 32-разрядного знакового целого типа.
Автор
Владимир Жиров
Лицензия
modified LGPL (та же, что у FPC RTL и Lazarus LCL).
Зависимости
Библиотека представляет собой один файл с исходным кодом и зависит только от FPC RTL и FCL.
Изменения
Версия 0.1 (22.01.2010) * первый выпуск Версия 0.2 (31.05.2010) * исправлено некорректное преобразование символов конца строки * исправлена компиляция со включенными проверками диапазона (Range checks) * стала доступна функция QuoteCSVString, упрощающая генерацию CSV без использования класса TCsvDocument * небольшая чистка кода
Статус
Ранняя Beta
Загрузка
Последнюю версию можно загрузить с lazarus-ccr:
Архив содержит саму библиотеку и демонстрационное приложение.
Установка и использование
Достаточно добавить модуль CsvDocument в секцию uses. Если необходимо, можно установить путь к модулю в свойствах проекта.
Обратная связь
Просьба отправлять сообщения об ошибках и патчи по адресу, указанному в исходном коде библиотеки.