Советы по Delphi

Металлические конструкции заказать металлоконструкция ооо в Новосибирске и пригороде. Металлоконструкции на заказ.

ASCII драйвер для CSV-файлов


Использование драйвера ASCII для файлов с разделительной запятой

Delphi (и BDE) имеют способность использовать ASCII файлы для хранения таблиц. Драйвер ASCII имеет возможность транслировать значения данных ASCII-поля фиксированной длины или файла с разделительной запятой в поля и величины, которые могут отображаться компонентом TTable. Трансляция ASCII файла целиком зависит от сопровождающего файла схемы (Schema File). Файл схемы для файла ASCII данных определяет различные атрибуты, необходимые для преобразования данных ASCII файла в значения отдельных полей. Определения полей для файла с ASCII полями фиксированной длины достаточно простая задача, необходимо знать позиции всех полей, для всех строк они одинаковы. Для файлов с разделительной запятой данный процесс чуть более усложнен из-за того, что не все данные в таком файле во всех строках имеют одинаковую длину. Данный совет как раз и концентрируется на описании этой трудной темы, связанной с чтением данных из файлов с разделительной запятой, имеющих варьируемую длину поля.

Файл схемы

Файл схемы для файла данных ASCII содержит информацию, которая определяет оба типа файла (версии с разделительной запятой и полем с фиксированной длиной), а также определяет поля, которые представлены значениями данных в каждой строке файла данных ASCII. (Все поля файла схемы нечуствительны к регистру, поэтому написание "ascii" равнозначно написанию "ASCII".) Для того, чтобы файл схемы был признан в качестве такового, он должен иметь то же имя, что и файл данных ASCII, для которого он содержит схему, но иметь расширение .SCH (SCHema - схема). Атрибуты описания файла:

File name: Располагаемый в квадратных скобках, данный атрибут определяет имя файла ASCII данных (с расширением имени файла, которое должно быть .TXT). Filetype: Определяет, имеет ли файл ASCII данных структуру файла с полями фиксированной длины (используется атрибут FIXED) или файлом с разделительной запятой (со значениями данных, которые потенциально могут изменять длину (используется атрибут VARYING). Delimiter: Определяет символ, которым "окантуривают" значения данных типа String (обычно двойные кавычки, десятичный ASCII код 34). Separator: Определяет символ, который используется для разделения отдельных значений данных (обычно запятая). Данный символ должен быть видимым символом, т.е. не может быть пробелом (десятичный ASCII код 32). CharSet: Определяет драйвер языка (используется атрибут ASCII). Расположенные ниже атрибуты файла являются определениями поля, задающими правила для каждой строки файла данных ASCII. Данные определения служат источником информации для Delphi и BDE, первоначально необходимой для создания виртуального поля в памяти, в свою очередь служащее для хранения значений данных; тип данных виртуального поля определяется после чтения и трансляции данных из ASCII файла, определения размера и применения атрибутов. Различные атрибуты, определяющие поле файла данных ASCII:




Начало  Назад  Вперед



Книжный магазин

Поставка
вертикальные шторы качественно.