ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП |
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы. |
Часть 9
С выпуском 3.0 , Clarion становится независимым от базы данных . Обратитесь к обеспечиваемым файловым системам ясен для и Разработчики и конечные пользователи . При определении структуры файла В редакторе Словаря Данных вы просто выбираете файл Драйвер из список зарегистрированный драйверы ( см. Руководство Пользователю ) . Когда вы записываете код руки , добавляя атрибут ДРАЙВЕРА к Структура файла вся что требуется чтобы получать доступ к Этот файл ( см. Языковое Справочное Описание ) . Прикладные Программы вы разрабатывают using обеспечиваемый драйвер не может легко Транспереноситься к любому другому драйверу базы данных - с небольшим или Никаким изменением к исходному тексту вашего применения . Модификации кода Программы могут быть необходимы для SQL двигателей . Применение может одновременно обращаться к файлам сохраненным в любым Обеспечиваемый формат . К этим файловым системам можно обращаться в A Многопользовательская среда с законченным файлом и захватом записей Возможности ( обеспечили файловую систему обеспечивает те функции ) . Выяснять какой показывает индивидуальные поддержки файловой системы , Идите к " Система Setup " под Clarion меню . Выбор " Драйверы Базы Данных " и тогда нажимают Properties кнопки . Clarion прикладные программы прямо обращаются к исходному файлу данных . Это создает совместную среду обработки где данные Может совместно использоваться среди многократных прикладных программ , даже когда некоторые из Те прикладные программы однако не преобразовались в Clarion . Файловые Системы Обеспечиваемые Имеются ряд драйверов файла включенных с Clarion Базой Данных Разработчик . Имеются также большее количество доступный из Clarion Программного Обеспечения . Документация для следующих форматов файла содержится в Этот файл : Clarion - Создает , читается и файлы записей определенные для Clarion Профессиональный Разработчик ( v. 2.1 ) частная файловая система . Btrieve - Создает , читается и записывает Btrieve файлы , using прямой доступ низкого уровня . Clarion также поддержки обращаются к Btrieve файлам в режиме пользователя / спецпроцессора ( using Brequest ) на сети Novell . Dbase3 - Создает , читается и записывает dBase III совместимые данные и индексные файлы . Dbase4 - Создает , читается и записывает dBase IV совместимые данные и индексные файлы . FoxPro - Создает , читает и записи FoxPro 2.0 совместимые данные и индексные файлы . Paradox3 - Создает , читает и Парадокс записей ключевые и не-ключевые таблицы для версий Парадокса до v4.0 . ASCII - Создает , читается и записывает стандартные файлы ASCII без разделителей поля . Записи разграничиваются возвратом каретки / перевод строки . Базисный - Создает , читает и разграниченная кавычка запятой записей файлы ASCII . Записи разграничиваются возвратом каретки / перевод строки . DOS - Создает , читается и записывает любой двоичный , адресуемый по байту файл . Требования Файловой Системы Некоторые из Обеспечиваемые файловые системы имеют специальные соображения во время выполнения . Не все файловые системы обеспечивают всю совокупность Clarion ВВОДА - ВЫВОДА файла языковые операторы . Исключения находятся благодаря различиям между файловыми системами в памяти данных , и методах используемых для доступа по ключу . Каждый драйвер описывается отдельно , и любые специальные требования отмечаются . Clarion атрибут ДРАЙВЕРА Драйвера : ДРАЙВЕР ( "Clarion" ) Библиотеки : DXVCLA21.LIB Статическая Компоновка DOVCLA21.LIB Оверлейная Компоновка DDVCLA21.LIB Динамическая Библиотека Компоновок (DLL) DDVCLA21.DLL Динамическая Библиотека Компоновок (DLL) Типы Данных БАЙТ КОРОТКИЙ ДЛИННЫЙ РЕАЛЬНЫЙ ДЕСЯТИЧНОЕ ЧИСЛО СТРОКА ( максимум 255 байтов ) ЗАПИСКА ГРУППА Спецификации Файла Спецификации Файла - Максимумы Размер Файла : ограничивается только дисковым пространством Записи на Файл : Без знака Длинный (4,294,967,295) Размер Записи : 64 КБ Размер Поля : 64 КБ Поля в соответствии c Записью : 64 КБ КЛАВИШИ / ИНДЕКСИР. на Файл : 251 Клавиша(Ключ) Size : 245 байты Поля Записки на Файл : 1 Размер Поля Записки : 64 КБ Откройте Файлы Данных : Операционная Система зависимый Общие Характеристики Clarion драйвер полностью совместим с файловой системой Когда используется Clarion Профессионального Разработчика 2.1 и обеспечивают для Совместимость снизу вверх целей . Записи сохраняются фиксированная длина . Файл может быть БЛОКИРОВАЛ , или каждый пользователь может HOLD одна запись в каждом открытом файле . Файлы Данных по умолчанию. к .DAT расширению . Это может Отменяться с атрибутом ИМЕНИ . KEYS И INDEXES сохраняются отдельно из файлов данных . Файлы КЛАВИШИ(КЛЮЧА) используют метку файла данных , с .K ** расширением . ИНДЕКСНЫЕ ФАЙЛЫ используют метку файла данных , с .I ** Расширением ( ** представляет уникальный шестнадцатеричный номер ) . КЛАВИША(КЛЮЧ) и ИНДЕКСНЫЕ ФАЙЛЫ пронумер. в порядке в котором они Появляются в обьявлении структуры FILE . Если атрибут ИМЕНИ Определяется , КЛАВИША(КЛЮЧ) или ИНДЕКСНЫЙ ФАЙЛ будет использовать первые 8 Символов ИМЕНИ с соответствующим расширением ( .K ** или .I ** ) . KEYS динамический - они автоматически модифицируются когда Файл данных изменяется( заменяется) . INDEXES статический - они Автоматически не модифицируются когда файл данных изменяется( заменяется) . INDEXES Создаются и модифицируются с оператором BUILD . Поля ЗАПИСКИ также сохраняются в раздельном файле . Файл записки Использует метку структуры файла с .MEM расширением . Если атрибут ИМЕНИ определяется , файл записки будет использовать Первые 8 символов атрибута ИМЕНИ с .MEM расширением . Диалоговая Обработка Запросов обеспечивается . Команды SEND и Строки ДРАЙВЕРА SEND(file,'RECOVER=n') Файл - имя файла чтобы действовать на N - Значение целого числа для числа секунд чтобы Ждать перед вызовом восстановления ВОССТАНАВЛИВАЮЩАЯСЯ строка , когда n больший чем 0 , вызывает Процесс который НЕБЛОКИРУЕТ файл данных , или ВЫПУСКАЕТ задержанную Запись . Это - обычно результат аварийного отказа системы . Когда n равен 1 , процесс восстановления вызывается Немедленно . Когда n равен 0 , процесс восстановления - disarmed . RECOVER не может использоваться как строка ДРАЙВЕРА - это может только Использоваться в ПОСЫЛАЮЩЕМСЯ . Чтобы ВЫПУСКАТЬ задержанную запись , вы должны читать ту запись в Память . Если имеются многократные задержанные записи , вы можете требовать К циклу через всего файла после ПОСЫЛКИ RECOVER= Сообщение к драйверу . BTRIEVE атрибут ДРАЙВЕРА Драйвера : ДРАЙВЕР ( "Btrieve" ) Библиотеки : DXVBTRV.LIB Статическая Компоновка Компоновка Оверлея DOVBTRV.LIB DDVBTRV.LIB Динамическая Библиотека Компоновок (DLL) DDVBTRV.DLL Динамическая Библиотека Компоновок (DLL) Типы Данных Clarion тип данных Btrieve внутренний тип данных СТРОКА БАЙТА ( 1 байт ) КОРОТКОЕ ЦЕЛОЕ ЧИСЛО ( 2 байта ) ДЛИННОЕ ЦЕЛОЕ ЧИСЛО ( 4 байта ) РЕАЛЬНЫЙ С ПЛАВАЮЩЕЙ ТОЧКОЙ ( 8 байтов ) BFLOAT BFLOAT ( 8 байтов ) PDECIMAL ДЕСЯТИЧНОЕ ЧИСЛО СТРОКА СТРОКИ CSTRING ZSTRING PSTRING LSTRING SREAL С ПЛАВАЮЩЕЙ ТОЧКОЙ ( 4 байта ) ДАТА ДАТЫ ВРЕМЯ ВРЕМЕНИ ULONG БЕЗ ЗНАКА ДВОИЧНЫЙ ( 4 байта ) USHORT БЕЗ ЗНАКА ДВОИЧНЫЙ ( 2 байта ) СТРОКА ЗАПИСКИ ( сохраненный в раздельном файле данных ) Btrieve типы данных : ЛОГИЧЕСКИЙ , ДЕНЬГИ , и ЧИСЛОВОЙ Не обеспечиваются . Спецификации Файла Спецификации Файла - Максимумы Размер Файла : 4 Миллиарда Байтов Записи на Файл : Ограничивается размером файла Размер Записи Когда оснуется По пользователю : переменная длина 64 КБ Основанный спецпроцессор : переменная длина 54 КБ Размер Поля : 64 КБ Поля в соответствии c Записью : 64 КБ КЛАВИШИ / ИНДЕКСИР. на Файл : 24 Клавиша(Ключ) Size : 245 байты Поля Записки на Файл : память Системы зависимый Размер поля Записки : 64 КБ Открытые Файлы : Операционная Система зависимый Общие Характеристики Данные и весь KEYS сохраняются в одиночном файле . Файлы Данных по умолчанию. к расширению файла .DAT , это могут Отменяться применением атрибута ИМЕНИ . Записи < 4 КБ сохраняются как фиксированная длина . Записи > 4 КБ - сохраненная переменная длина . Минимальная длина записи - 4 байта . Одна запись может задерживаться в каждом открытом файле каждым пользователем . KEYS сохраняются в файле данных . KEYS динамический , Они автоматически модифицируются когда файл данных Изменяется( заменяется) . Они создаются как Btrieve "дополнительные" клавиши(ключи) , Так что оператор BUILD может восстанавливать одну КЛАВИШУ(КЛЮЧ) без Требование всех КЛАВИШ(КЛЮЧЕЙ) восстанавливать . INDEXES сохраняются отдельно из файлов данных . ИНДЕКСНЫЕ ФАЙЛЫ Создаются using временное имя файла , и они Перемещаются из диска когда программа завершается обычно . INDEXES статический - они автоматически не модифицируются Когда файл данных изменяется( заменяется) . INDEXES создаются и Модифицируются с оператором BUILD . Все поля ЗАПИСКИ сохраняются в одном файле отдельно из данных . Файл ЗАПИСКИ именуется при конкатенации "MEM" к первым пяти Символам метки файла тогда добавляющей .DAT расширение . Любой атрибут ИМЕНИ на поле ЗАПИСКИ игнорируется . BTrieve не сохраняет любую информацию структуры файла в файле . Следовательно , вы должны делать определенным что ваш файл и описания клавиши(ключа) Точно соответствуйте( согласуйте) файлу BTrieve . Если вы не делаете это , BTrieve Драйвер будет успешно открывать файл и возможно разрушать достоверные данные . Btrieve выполняется как резидент (TSR) программа . Для автономного Btrieve и ДОСА 3.1 совместимые сети , Btrieve администратор записи BTRIEVE.EXE должен загружаться прежде, чем Вы начинаете ваше применение . Автоматизированные Рабочие Места выполняющиеся на ДОСЕ 3.1 Совместимые сети должны каждая загрузка их собственная копия Btrieve . BTRIEVE.EXE остается резидентным пока вы не перемещаете это из памяти Using BSTOP ( отправленный с Clarion ) или BUTIL ( из Novell ) . Для CLIENT/SERVER-ZБАЗИРОВАЛА Btrieve , Сетевое Обеспечение Btrieve основано по спецпроцессору Версия Btrieve который выполняется на Novell спецпроцессоре . Btrieve Requester программа BREQUEST.EXE должен загружаться в каждом автоматизированном рабочем месте . BREQUEST.EXE остается резидентным пока вы не перемещаете это из памяти Using утилита BUTIL . Мы рекомендуем using командный файл загружать Btrieve ( любая версия ) сначала , Тогда начните ваше применение , и тогда переместите Btrieve из памяти . Проверьте ваше руководство Btrieve для опций запуска . Btrieve размер Страницы ДОЛЖЕН УСТАНАВЛИВАТЬСЯ к байтам 4096 . Командные Файлы Примера : Автономный CLIENT/SERVER-ZБАЗИРОВАЛ Btrieve /M:48 /P:4096 Brequest Program.exe Program.exe BSTOP Butil ОСТАНОВ Соображения Btrieve имеет опцию запуска которая позволяет вам определять A Размер буфера кэша . Объем памяти вы резервируют для Буфер кэшей прямо воздействует на эффективность ваш Применение . Btrieve использует без знака длинный для внутренней записи Указатель ; отрицательные значения удаляются их знака . Мы Рекомендуйте что вы используют ULONG тип данных для вашей записи Указатель . Btrieve поддержка ВВОДА - ВЫВОДА Файла : Установите ( файл , filepointer ) Установите ( клавиша(ключ) , keypointer ) Если файл или указатель клавиши(ключа) имеет значение нуля , или любой Другое значение которое не существует в файле , указатель Параметр игнорируется . Обработка устанавливается к или файлу или Порядок клавиши(ключа) , и указатель записи устанавливается к первому Элемент . Установите ( клавиша(ключ) , клавиша(ключ) , filepointer ) Если filepointer имеет значение нуля , или любой другой Значение которое не существует в файле , обработка будет Начинаться в первом значении клавиши(ключа) равном , или больший чем , Значение в структуре RECORD . Неподдерживаемое Управление Буферизации Функций : ПОТОК , ПОТОК Там не никакое управление буферизации в пределах Btrieve драйвера . Доступ Записи : ПОПАДИТЕ ( файл , fileptr , len ) ДОБАВЛЯЮТ ( файл , len ) КОНКАТЕНИРУЙТЕ ( файл , len ) Функции доступа Записи которые берут параметр длины не Выполняются , & могли мешать индексации для Таблицы . Информация Файла : модификации Файла БАЙТОВ : ПОМЕСТИТЕ ( файл , fileptr ) ПОМЕЩЕННЫЙ ( файл , fileptr , len ) DBase3 Драйвер . Атрибут Драйвера : ДРАЙВЕР ( "dBase3" ) Библиотеки : DXVDB3.LIB Статическая Компоновка DOVDB3.LIB Оверлей Компонуют DDVDB3.LIB Динамическую Библиотеку Компоновок (DLL) DDVDB3.DLL Динамическая Библиотека Компоновок (DLL) Типы Данных Clarion тип данных dBase III СТРОКА Типа данных СТРОКА Даты (@D12) ( ) Числовая СТРОКА ( ) Строка С ПЛАВАЮЩЕЙ ТОЧКОЙ (1) Логический Символ СТРОКИ ( максимум. 254 ) Записка ЗАПИСКИ Для Числовых и С плавающей точкой типов выше , p - длина Всего номера , и d - число десятичных мест ( максимум Из 20 символов может сохраняться в Числовом или С плавающей точкой ) . Подчеркивающийся (_) требуется между и номером p чтобы Гарантировать что никакие запятые не сохраняются в данных . В Редакторе Словаря , СТРОКА обьявленная с изображением Памяти должна определяться с ИЗОБРАЖЕНИЕМ " тип данных . " Это Создает определение поля с лексемой(маркером) изображения вместо Длины строки . Вы ДОЛЖНЫ использовать этот чтобы обьявлять Дату , Числовой , и С плавающей точкой dBase III типы данных . Поле ЗАПИСКИ также требует распределения указателя 10 Байтов в структуре записи . Указатель должен Определяться как СТРОКА (10) . Спецификации Файла Спецификаций Файла - Размер Файла Максимумов : 2GBytes Записи на Файл : 1GByte Размер Записи : символ размера Поля 4,000 Байтов : дата 254 Байта : 8 байтов Логический : 1 байт Числовой : 20 байтов включающие десятичную точку С плавающей точкой : 20 байтов включающие десятичную точку Записка : 64 КБ ( см. примечание ) Поля в соответствии c Записью : 255 КЛАВИШИ / ИНДЕКСИР. на Файл : Никакое Ограничение Размеры Клавиши(Ключа) Символ : 100 байты Числовой , С плавающей точкой , Датируйтесь : 8 байты Поля Записки на Файл : зависимый от доступной памяти Открытые Файлы : Операционная Система зависимый Общие Характеристики DBase3 только обеспечивает максимум из 10 символов в имени поля . Если вы требуете ваши имена поля чтобы иметь большее количество символов , вы можете Использовать NAME() атрибут чтобы давать dBase 10 символьных имени Вашему полю . Например : MyLongNamedField STRING(23),NAME('MyField') Все поля ЗАПИСКИ должны определяться с атрибутом ИМЕНИ . Атрибут ИМЕНИ для MEMO должен быть имя поля записки Поле указателя используемое в dBase описании . Например : DBFile FILE,DRIVER('dBase3') ЗАПИСКА Записки (300) ,NAME ( "MemPtr" ) ЗАПИСЬ СТРОКА MemPtr (10) КОНЕЦ DBase III не обеспечивает двоичные ЗАПИСКИ . Clarion может только обрабатывать ЗАПИСКИ максимального размера из 64 КБ . Если вы Имейте существующий файл с ЗАПИСКАМИ больше чем 64 КБ , вы будете Способный использовать файл но не изменяют эти большие ЗАПИСКИ . Большой С ЗАПИСКОЙ столкнулись когда ваша переменная указателя записки - Не-пустой , но записка кажется пуст . Записи сохраняются фиксированная длина . КЛАВИША(КЛЮЧ) и ИНДЕКСНЫЕ ФАЙЛЫ сохраняются отдельно из файлов данных . Индексные Файлы именуются using меткой КЛАВИШИ(КЛЮЧА) или оператора INDEX или атрибута ИМЕНИ КЛАВИШИ(КЛЮЧА) или ИНДЕКСА , с .NDX расширением . Файлы Данных создаваемые / управля. dBase III драйвер : .DBF файл Данных .NDX Индексный Файл .DBT файл Записки .DD файл словаря Данных для применения dBase IV Clarion принимает что удаленная запись не в ИНДЕКСЕ . Это - эквивалент чтобы УСТАНАВЛИВАТЬ УДАЛЕННЫЙ НА в dBase . Когда using DBase3 драйвер вы может рассматривать Clarion чтобы быть эквивалентным к DBase с НАБОРОМ УДАЛЕННЫМ НА . DBase3 драйвер не обеспечивает Отвергающееся(Отрицающееся) Чтение совместно используют атрибут . Любой Файл открытый с этим режимом будет открываться поскольку Не отвергают( Отрицают) Ни один . DBase III не перемещает ссылки к записи из индекса до Файл - УПАКОВАЛ . Это имеет эффект что , для КЛАВИШ(КЛЮЧЕЙ) без DUP Атрибут , функция DUPLICATE будет возвращать TRUE , если клавиша дублирования Обнаружен , даже если та двойная запись удалилась . ADD будет также Терпеть неудачу с СОЗДАЕТ ошибку КЛАВИШИ ДУБЛИРОВАНИЯ если удаленная запись с тем же самым Значением клавиши(ключа) существует . Команды SEND и строки ДРАЙВЕРА ПОСЫЛАЮТ ( файл , "FILEBUFFERS=nn" ) DBase драйверы распределяют внутренние буфера чтобы сохранять восстановленный(отысканный) Файл . Вы должны использовать эту команду SEND перед вызовом чтобы ОТКРЫВАТЬ или СОЗДАВАТЬ Если вы хотите использовать различный число буферов из по умолчанию . По умолчанию - 5 для открытых файлов при отрицании записи обращаются другим пользователям И 2 для всех других открытых режимов . Это не может использоваться в строке ДРАЙВЕРА . ПОШЛИТЕ ( файл , "INDEXBUFFERS=nn" ) DBase драйверы распределяют внутренние буфера чтобы сохранять восстановленный(отысканный) Индексы для файла . Вы должны использовать эту команду SEND перед вызовом ОТКРЫВАТЬ или СОЗДАВАТЬ если вы хотите использовать различный число буферов Из по умолчанию . По умолчанию - 5 для открытых файлов при отрицании записи Обратитесь другим пользователям и 2 для всех других открытых режимов . Это не может использоваться в строке ДРАЙВЕРА . SEND (file, 'QUICKSCAN=[ON|OFF]') DBase драйверы не читают запись одновременно . Взамен они читают Буфер одновременно . Это может учитывать значительно более быстрый доступ . Однако , В многопользовательской среде эти буфера не могут рассматриваться Точный для последующего читается поскольку кто -то иначе может измениться База данных начиная с последнего чтения . Из-за этого буфера Снова читаются всегда . Если вы не хотите делать это , вы можете устанавливать QUICKSCAN к НА с командой SEND ( имя файла , "QUICKSCAN=ON" ) . По умолчанию для QUICKSCAN находится НА для открытых файлов при отрицании записи Обращаются другим пользователям и ВЫКЛ. для всех других открытых режимов . QUICKSCAN не может устанавливаться пока файл не открылся . Это не может использоваться в строке ДРАЙВЕРА . Команды Манипулирования Файла COPY ( файл , newfile ) Это будет копировать .DBF файл , файл записки и любые индексные файлы Это имеют то же самое имя как .DBF файлом . Если вы имеете индексы В файлах с различными именами вы будете должны использовать специальный Версия КОПИИ . Формат для этого - COPY(file,'| ') Это будет возвращать Файл Не Обнаруженный если недопустимый индекс передан . Пример : Given the file structure Clar2 ФАЙЛ , СОЗДАЙТЕ , ДРАЙВЕР ( "dBase3" ) КЛАВИША(КЛЮЧ) NumKey (Цифровой) ,DUP КЛАВИША(КЛЮЧ) StrKey (Str1) StrKey2 КЛАВИША(КЛЮЧ) (Str2) ЗАПИСКА AMemo (100) , ИМЯ ( "mem" ) ЗАПИСЬ Записи Цифровая СТРОКА ( ) STR1 СТРОКА (2) STR2 СТРОКА (2) Mem СТРОКА (10) . . Команды чтобы копировать это описание файла к A: будут : COPY(Clar2,'A:\CLAR2') COPY(Clar2,'StrKey|A:\STRKEY') COPY(Clar2,'StrKey2|A:\STRKEY2') COPY(Clar2,'NumKey|A:\NumKEY') После этих вызовов вы будете иметь следующие файлы на ваш Дисковод : CLAR2.DBF , CLAR2.DBT , STRKEY.NDX , STRKEY2.NDX , NUMKEY.NDX ПЕРЕИМЕНУЙТЕ ( файл , newfile ) Это будет переименовывать DBF файл , файл записки и любые индексные файлы Это имеют то же самое имя как DBF файлом . Если вы имеете индексы В файлах с различными именами вы будете должны использовать специальный Версия ПЕРЕИМЕНОВЫВАЮТ . Формат для этого - RENAME(file,' | ') Это будет возвращать Файл Не Обнаруженный если недопустимый индекс передан Пример : Given the file structure Clar2 ФАЙЛ , СОЗДАЙТЕ , ДРАЙВЕР ( "dBase3" ) КЛАВИША(КЛЮЧ) NumKey (Цифровой) ,DUP КЛАВИША(КЛЮЧ) StrKey (Str1) StrKey2 КЛАВИША(КЛЮЧ) (Str2) ЗАПИСКА AMemo (100) , ИМЯ ( "mem" ) ЗАПИСЬ Записи Цифровая СТРОКА ( ) STR1 СТРОКА (2) STR2 СТРОКА (2) Mem СТРОКА (10) . . Команды чтобы переименовывать это описание файла будут : RENAMECOPY (Clar2,'CLAR3') RENAME(Clar2,'NumKey2|NUMKEY3') RENAME(Clar2,'StrKey|STRKEY3') RENAME(Clar2,'StrKey2|STRKEY23') После этих вызовов вы будете иметь следующие файлы на ваш Система : CLAR3.DBF , CLAR3.DBT , STRKEY3.NDX , STRKEY23.NDX , NUMKEY3.NDX ФОРМИРУЙТЕ ( индекс , компоненты ) DBase3 драйвер позволяет динамический индекс формироваться В возрастании или decending порядок . Однако мульти-компонент Индексы должны быть все возрастание или весь decending . Драйвер Использует порядок первого компонента только . Неподдерживаемые Функции Записки : ДВОИЧНЫЙ Keys: NOCASE, OPT, ascending|decending DBase3 драйвер позволяет клавишам(ключам) формироваться с в возрастании или Decending порядок . Однако клавиши(ключи) мульти-компонента должны быть все Возрастание или весь decending . Драйвер использует порядок Первый компонент только чтобы решать порядок . клавишей(ключом) Файл : ШИФРУЙТЕ , ВЛАДЕЛЕЦ , СНОВА ТРЕБУЙТЕ DBase3 драйвер не может читать файлы которые шифровались DBase . Чтобы снова требовать пробела из удаленных записей это необходимо Называть BUILD (файлом) . Поля : ПО , DIM Вы не можете иметь dimensioned поля или применение ПО atttribute В обьявлении записи для dBase файла . Однако , вы можете Создавать другую ГРУППУ снаружи обьявления файла ПО структуре RECORD ФАЙЛА и делайте любой вы нуждаетесь к в этой группе . Диалоговая Обработка Запросов : ПЕРЕДАЙТЕ(СОВЕРШИТЕ) , ВЫХОД ИЗ СИСТЕМЫ , Доступ Записи ОБРАТНОЙ ПЕРЕМОТКИ : ПОПАДИТЕ ( файл , fileptr , len ) ДОБАВЬТЕ ( файл , len ) КОНКАТЕНИРУЙТЕ ( файл , len ) Функции доступа Записи которые берут параметр длины не Выполняются , & могли мешать индексации для Таблицы . Модификации Файла : ПОМЕСТИТЕ ( файл , fileptr ) ПОМЕЩЕННЫЙ ( файл , fileptr , len ) DBase4 Драйвер . Атрибут ДРАЙВЕРА : ДРАЙВЕР ( "dBase4" ) Библиотеки : DXVDB4.LIB Статическая Компоновка DOVDB4.LIB Оверлей Компонуют DDVDB4.LIB Динамическую Библиотеку Компоновок (DLL) DDVDB4.LIB Динамическая Библиотека Компоновок (DLL) Типы Данных Clarion тип данных dBase IV СТРОКА Типа данных СТРОКА Даты (@D12) ( ) Числовая СТРОКА ( ) Строка С ПЛАВАЮЩЕЙ ТОЧКОЙ (1) Логический Символ СТРОКИ ( максимум. 254 ) Записка ЗАПИСКИ Для Числовых и С плавающей точкой типов выше , p - длина Всего номера , и d - число десятичных мест ( максимальный Из 20 символов может сохраняться в Числовом или С плавающей точкой ) . Подчеркивающийся (_) требуется между и номером p чтобы Гарантировать что никакие запятые не сохраняются в данных . В Редакторе Словаря , СТРОКА обьявленная с изображением Памяти должна определяться с ИЗОБРАЖЕНИЕМ " тип данных . " Это Создает определение поля с лексемой(маркером) изображения вместо Длины строки . Вы ДОЛЖНЫ использовать этот чтобы обьявлять Дату , Числовой , и С плавающей точкой dBase III типы данных . Поле ЗАПИСКИ также требует распределения указателя 10 Байтов в структуре записи . Указатель должен Определяться как СТРОКА (10) . Спецификации Файла Спецификаций Файла - Размер Файла Максимумов : 2GBytes Записи на Файл : 1GByte Размер Записи : символ размера Поля 4,000 Байтов : дата 254 Байта : 8 байтов Логический : 1 байт Числовой : 20 байтов включающие десятичную точку С плавающей точкой : 20 байтов включающие десятичную точку Записка : 64 КБ ( см. примечание ниже ) Поля в соответствии c Записью : 255 КЛАВИШИ / ИНДЕКСИР. на Файл : .Ndx : Никакое Ограничение .Mdx : 47 отметок на .MDX файл Размеры Клавиши(Ключа) .Ndx : Символ : 100 байты .Ndx : Числовой , С плавающей точкой , Датируйтесь : 8 байты .Mdx : Символ : 100 байты .Mdx : Числовой , С плавающей точкой : 12 байты .Mdx : Датируйтесь : 8 байты Поля Записки на Файл : зависимый от доступной памяти Открытые Файлы : Операционная Система зависимый Общие Характеристики Все поля ЗАПИСКИ должны определяться с атрибутом ИМЕНИ . Атрибут ИМЕНИ для MEMO должен быть имя поля записки Поле указателя используемое в dBase описании . Например : DBFile FILE,DRIVER('dBase4') ЗАПИСКА Записки (300) ,NAME ( "MemPtr" ) ЗАПИСЬ СТРОКА MemPtr (10) КОНЕЦ DBase IV не обеспечивает двоичные записки . Clarion может только обрабатывать ЗАПИСКИ максимального размера из 64 КБ . Если вы Имейте существующий файл с ЗАПИСКАМИ больше чем 64 КБ , вы будете Способный использовать файл но не изменяют эти большие ЗАПИСКИ . Большой С ЗАПИСКОЙ столкнулись когда ваша переменная указателя записки - Не-пустой , но записка кажется пуст . Записи сохраняются фиксированная длина . КЛАВИША(КЛЮЧ) и ИНДЕКСНЫЕ ФАЙЛЫ сохраняются отдельно из файлов данных . Индексные Файлы именуются using меткой КЛАВИШИ(КЛЮЧА) или оператора INDEX или атрибута ИМЕНИ КЛАВИШИ(КЛЮЧА) или ИНДЕКСА , с .NDX расширением . Атрибут ИМЕНИ для КЛАВИШИ(КЛЮЧА) или ИНДЕКСА сохраненного в .MDX файле должен take the form ' | '. The Tag name Является dBase идентификатором индекса ( обычно тот же самый как метка Из КЛАВИШИ(КЛЮЧА) или оператора INDEX ) . В следующем обьявлении файла NumKey и KEYS StrKey также сохраняются в CLAR2.MDX файле , В то время как StrKey2 сохраняется в STRKEY2.NDX файле . Clar2 ФАЙЛ , СОЗДАЙТЕ , ДРАЙВЕР ( "dBase4" ) NumKey KEY(Num),DUP,NAME('NumKey|Clar2') StrKey KEY(Str1),NAME('StrKey|Clar2') StrKey2 КЛАВИША(КЛЮЧ) (Str2) ЗАПИСКА AMemo (100) , ИМЯ ( "mem" ) ЗАПИСЬ Записи Цифровая СТРОКА ( ) STR1 СТРОКА (2) STR2 СТРОКА (2) Mem СТРОКА (10) . . Файлы Данных создаваемые / управля. dBase IV драйвер .DBF файл Данных .NDX Индексный Файл .MDX Многократный Индексный Файл .DBT файл Записки .DD файл словаря Данных для применения dBase IV Clarion принимает что удаленная запись не в индексе . Это - эквивалент чтобы УСТАНАВЛИВАТЬ УДАЛЕННЫЙ НА в dBase . Когда using DBase4 драйвер вы может рассматривать Clarion чтобы быть эквивалентным к DBase с НАБОРОМ УДАЛЕННЫМ НА . DBase4 драйвер не обеспечивает Отвергающееся(Отрицающееся) Чтение совместно используют атрибут . Любой Файл открытый с этим режимом будет открываться поскольку Не отвергают( Отрицают) Ни один . DBase IV не перемещает ссылки к записи из индекса до Файл - УПАКОВАЛ . Это имеет эффект что , для КЛАВИШ(КЛЮЧЕЙ) без DUP Атрибут , функция DUPLICATE будет возвращать TRUE , если клавиша дублирования Обнаружен , даже если та двойная запись удалилась . ADD будет также Терпите неудачу с СОЗДАЕТ ошибку КЛАВИШИ ДУБЛИРОВАНИЯ если удаленная запись с тот же самый Значение клавиши(ключа) существует . Команды SEND и строки ДРАЙВЕРА ПОШЛИТЕ ( файл , "FILEBUFFERS=nn" ) DBase драйверы распределяют внутренние буфера чтобы сохранять восстановленный(отысканный) Файл . Вы должны использовать эту команду SEND перед вызовом чтобы ОТКРЫВАТЬ или СОЗДАВАТЬ Если вы хотите использовать различный число буферов из по умолчанию . По умолчанию - 5 для открытых файлов при отрицании записи обращаются другим пользователям И 2 для всех других открытых режимов . Это не может использоваться в строке ДРАЙВЕРА . ПОШЛИТЕ ( файл , "INDEXBUFFERS=nn" ) DBase драйверы распределяют внутренние буфера чтобы сохранять восстановленный(отысканный) Индексы для файла . Вы должны использовать эту команду SEND перед вызовом ОТКРЫВАТЬ или СОЗДАВАТЬ если вы хотите использовать различный число буферов Из по умолчанию . По умолчанию - 5 для открытых файлов при отрицании записи Обратитесь другим пользователям и 2 для всех других открытых режимов . Это не может использоваться в строке ДРАЙВЕРА . SEND (file, 'QUICKSCAN=[ON|OFF]') DBase драйверы не читают запись одновременно . Взамен они читают Буфер одновременно . Это может учитывать значительно более быстрый доступ . Однако , В многопользовательской среде эти буфера не могут рассматриваться Точный для последующего читается поскольку кто -то иначе может измениться База данных начиная с последнего чтения . Из-за этого буфера Снова читаются всегда . Если вы не хотите делать это , вы можете устанавливать QUICKSCAN к НА с командой SEND ( имя файла , "QUICKSCAN=ON" ) . По умолчанию для QUICKSCAN находится НА для открытых файлов при отрицании записи Обращаются другим пользователям и ВЫКЛ. для всех других открытых режимов . QUICKSCAN не может устанавливаться пока файл не открылся . Это не может использоваться в строке ДРАЙВЕРА . Команды Манипулирования Файла COPY ( файл , newfile ) Это будет копировать .DBF файл , файл записки и любые индексные файлы Это имеют то же самое имя как .DBF файлом . Если вы имеете индексы В файлах с различными именами вы будете должны использовать специальный Версия КОПИИ . Формат для этого - COPY(file,' | ') Это будет возвращать Файл Не Обнаруженный если недопустимый индекс передан . Пример : Given the file structure Clar2 ФАЙЛ , СОЗДАЙТЕ , ДРАЙВЕР ( "dBase4" ) NumKey KEY(Num),DUP,NAME('NumKey|Clar2') StrKey KEY(Str1),NAME('StrKey|Clar2') StrKey2 КЛАВИША(КЛЮЧ) (Str2) ЗАПИСКА AMemo (100) , ИМЯ ( "mem" ) ЗАПИСЬ Записи Цифровая СТРОКА ( ) STR1 СТРОКА (2) STR2 СТРОКА (2) Mem СТРОКА (10) . . Команды чтобы копировать это описание файла к A: будут КОПИЯ (Clar2,'A:\CLAR2') COPY(Clar2,'StrKey2|A:\STRKEY2') После этих вызовов вы будете иметь следующие файлы на ваш Дисковод : CLAR2.DBF , CLAR2.DBT , CLAR2.MDX , STRKEY2.NDX ПЕРЕИМЕНУЙТЕ ( файл , newfile ) Это будет переименовывать DBF файл , файл записки и любые индексные файлы Это имеют то же самое имя как DBF файлом . Если вы имеете индексы В файлах с различными именами вы будете должны использовать специальный Версия ПЕРЕИМЕНОВЫВАЮТ . Формат для этого - RENAME(file,' | ') Это будет возвращать Файл Не Обнаруженный если недопустимый индекс передан Пример : Given the file structure Clar2 ФАЙЛ , СОЗДАЙТЕ , ДРАЙВЕР ( "dBase4" ) NumKey KEY(Num),DUP,NAME('NumKey|Clar2') StrKey KEY(Str1),NAME('StrKey|Clar2') StrKey2 КЛАВИША(КЛЮЧ) (Str2) ,NAME ( "Str" ) ЗАПИСКА AMemo (100) , ИМЯ ( "mem" ) ЗАПИСЬ Записи Цифровая СТРОКА ( ) STR1 СТРОКА (2) STR2 СТРОКА (2) Mem СТРОКА (10) . . Команды чтобы переименовывать это описание файла будут RENAMECOPY (Clar2,'CLAR3') RENAME(Clar2,'StrKey2|STRKEY') После этих вызовов вы будете иметь следующие файлы на ваш Система : CLAR3.DBF , CLAR3.DBT , CLAR3.MDX , STRKEY.NDX ФОРМИРУЙТЕ ( индекс , компоненты ) DBase4 драйвер позволяет динамический индекс формироваться В возрастании или decending порядок . Однако мульти-компонент Индексы должны быть все возрастание или весь decending . Драйвер Использует порядок первого компонента только . Неподдерживаемые Функции Записки : ДВОИЧНЫЙ Keys: NOCASE, OPT, ascending|decending DBase4 драйвер позволяет клавишам(ключам) формироваться с в возрастании или Decending порядок . Однако клавиши(ключи) мульти-компонента должны быть все Возрастание или весь decending . Драйвер использует порядок Первый компонент только чтобы решать порядок . клавишей(ключом) Файл : ШИФРУЙТЕ , ВЛАДЕЛЕЦ , СНОВА ТРЕБУЙТЕ DBase4 драйвер не может читать файлы которые шифровались DBase . Чтобы снова требовать пробела из удаленных записей это необходимо Называть BUILD (файлом) . Поля : ПО , DIM Вы не можете иметь dimensioned поля или применение ПО atttribute В обьявлении записи для dBase файла . Однако , вы можете Создавать другую ГРУППУ снаружи обьявления файла ПО структуре RECORD ФАЙЛА и делайте любой вы нуждаетесь к в этой группе . Диалоговая Обработка Запросов : ПЕРЕДАЙТЕ(СОВЕРШИТЕ) , ВЫХОД ИЗ СИСТЕМЫ , Доступ Записи ОБРАТНОЙ ПЕРЕМОТКИ : ПОПАДИТЕ ( файл , fileptr , len ) ДОБАВЬТЕ ( файл , len ) КОНКАТЕНИРУЙТЕ ( файл , len ) Функции доступа Записи которые берут параметр длины не Выполняются , & могли мешать индексации для Таблицы . Модификации Файла : ПОМЕСТИТЕ ( файл , fileptr ) ПОМЕЩЕННЫЙ ( файл , fileptr , len ) Драйвер FoxPro . Атрибут ДРАЙВЕРА : ДРАЙВЕР (FoxPro') Библиотеки : DXVFOX.LIB Статическая Компоновка Компоновка Оверлея DOVFOX.LIB DDVFOX.LIB Динамическая Библиотека Компоновок (DLL) DDVFOX.DLL Динамическая Библиотека Компоновок (DLL) Типы Данных Clarion тип данных dBase III СТРОКА Типа данных СТРОКА Даты (@D12) ( ) Числовая СТРОКА ( ) Строка С ПЛАВАЮЩЕЙ ТОЧКОЙ (1) Логический Символ СТРОКИ ( максимум. 254 ) Записка ЗАПИСКИ Для Числовых и С плавающей точкой типов выше , p - длина Всего номера , и d - число десятичных мест ( максимум Из 20 символов может сохраняться в Числовом или С плавающей точкой ) . Подчеркивающийся (_) требуется между и номером p чтобы Гарантировать что никакие запятые не сохраняются в данных . В Редакторе Словаря , СТРОКА обьявленная с изображением Памяти должна определяться с ИЗОБРАЖЕНИЕМ " тип данных . " Это Создает определение поля с лексемой(маркером) изображения вместо Длины строки . Вы ДОЛЖНЫ использовать этот чтобы обьявлять Дату , Числовой , и С плавающей точкой dBase III типы данных . Поле ЗАПИСКИ также требует распределения указателя 10 Байтов в структуре записи . Указатель должен Определяться как СТРОКА (10) . Спецификации Файла Спецификаций Файла - Размер Файла Максимумов : 2GBytes Записи на Файл : 1GByte Размер Записи : символ размера Поля 4,000 Байтов : дата 254 Байта : 8 байтов Логический : 1 байт Числовой : 20 байтов включающие десятичную точку С плавающей точкой : 20 байтов включающие десятичную точку Записка : 64 КБ ( см. примечание ниже ) Поля в соответствии c Записью : 255 КЛАВИШИ / ИНДЕКСИР. на Файл : .IDX : Никакое Ограничение .CDX : Неограниченный число отметок на CDX файл Размеры Клавиши(Ключа) .IDX : Символ : 100 байты .IDX : Числовой , С плавающей точкой , Датируйтесь : 8 байты .CDX : Символ : 254 байты .CDX : Числовой , С плавающей точкой : 12 байты .CDX : Датируйтесь : 8 байты Поля Записки на Файл : зависимый от доступной памяти Открытые Файлы : Операционная Система зависимый Общие Характеристики Все поля ЗАПИСКИ должны определяться с атрибутом ИМЕНИ . Атрибут ИМЕНИ для MEMO должен быть имя поля записки Поле указателя используемое в описании FoxPro . Например : DBFile FILE,DRIVER('FoxPro') ЗАПИСКА Записки (300) ,NAME ( "MemPtr" ) ЗАПИСЬ СТРОКА MemPtr (10) КОНЕЦ FoxPro обеспечивает двоичные записки . Clarion может только обрабатывать ЗАПИСКИ максимального размера из 64 КБ . Если вы Имейте существующий файл с ЗАПИСКАМИ больше чем 64 КБ , вы будете Способный использовать файл но не изменяют эти большие ЗАПИСКИ . Большой С ЗАПИСКОЙ столкнулись когда ваша переменная указателя записки - Не-пустой , но записка кажется пуст . Записи сохраняются фиксированная длина . КЛАВИША(КЛЮЧ) и ИНДЕКСНЫЕ ФАЙЛЫ сохраняются отдельно из файлов данных . Индексные Файлы именуются using меткой КЛАВИШИ(КЛЮЧА) или оператора INDEX или атрибута ИМЕНИ КЛАВИШИ(КЛЮЧА) или ИНДЕКСА , с .IDX расширением . Все .IDX файлы созданные Clarion программами сжимаются индексы . Атрибут ИМЕНИ для КЛАВИШИ(КЛЮЧА) или ИНДЕКСА сохраненного в .CDX файле должен take the form ' | '. The Tag name Является идентификатором FoxPro индекса ( обычно тот же самый как метка Из КЛАВИШИ(КЛЮЧА) или оператора INDEX ) . В следующем обьявлении файла NumKey и KEYS StrKey также сохраняются в CLAR2.CDX файле , В то время как StrKey2 сохраняется в STRKEY2.IDX файле . Clar2 ФАЙЛ , СОЗДАЙТЕ , ДРАЙВЕР ( "FoxPro" ) NumKey KEY(Num),DUP,NAME('NumKey|Clar2') StrKey KEY(Str1),NAME('StrKey|Clar2') StrKey2 КЛАВИША(КЛЮЧ) (Str2) ЗАПИСКА AMemo (100) , ИМЯ ( "mem" ) ЗАПИСЬ Записи Цифровая СТРОКА ( ) STR1 СТРОКА (2) STR2 СТРОКА (2) Mem СТРОКА (10) . . Файлы Данных создаваемые / управля. FoxPro 2.0 драйвер .DBF файл Данных .IDX Индексный Файл .CDX Многократный Индексный Файл .FPT файл Записки .DD файл словаря Данных для применения dBase IV Clarion принимает что удаленная запись не в индексе . Это - эквивалент чтобы УСТАНАВЛИВАТЬ УДАЛЕННЫЙ НА в FoxPro . Когда using Драйвер FoxPro вы может рассматривать Clarion чтобы быть эквивалентным к С FoxPro НАБОРОМ УДАЛЕННЫМ НА . Драйвер FoxPro не обеспечивает Отвергающееся(Отрицающееся) Чтение совместно используют атрибут . Любой Файл открытый с этим режимом будет открываться поскольку Не отвергают( Отрицают) Ни один . FoxPro не перемещает ссылки к записи из индекса до Файл - УПАКОВАЛ . Это имеет эффект что , для КЛАВИШ(КЛЮЧЕЙ) без DUP Атрибут , функция DUPLICATE будет возвращать TRUE , если клавиша дублирования Обнаружен , даже если та двойная запись удалилась . ADD будет также Терпите неудачу с СОЗДАЕТ ошибку КЛАВИШИ ДУБЛИРОВАНИЯ если удаленная запись с тот же самый Значение клавиши(ключа) существует . Команды SEND и строки ДРАЙВЕРА ПОШЛИТЕ ( файл , "FILEBUFFERS=nn" ) Драйвер FoxPro распределяет внутренние буфера чтобы сохранять восстановленный(отысканный) Файл . Вы должны использовать эту команду SEND перед вызовом чтобы ОТКРЫВАТЬ или СОЗДАВАТЬ Если вы хотите использовать различный число буферов из по умолчанию . По умолчанию - 5 для открытых файлов при отрицании записи обращаются другим пользователям И 2 для всех других открытых режимов . Это не может использоваться в строке ДРАЙВЕРА . ПОШЛИТЕ ( файл , "INDEXBUFFERS=nn" ) Драйвер FoxPro распределяет внутренние буфера чтобы сохранять восстановленный(отысканный) Индексы для файла . Вы должны использовать эту команду SEND перед вызовом ОТКРЫВАТЬ или СОЗДАВАТЬ если вы хотите использовать различный число буферов Из по умолчанию . По умолчанию - 5 для открытых файлов при отрицании записи Обратитесь другим пользователям и 2 для всех других открытых режимов . Это не может использоваться в строке ДРАЙВЕРА . SEND (file, 'QUICKSCAN=[ON|OFF]') Драйвер FoxPro не читает запись одновременно . Взамен это читается Буфер одновременно . Это может учитывать значительно более быстрый доступ . Однако , В многопользовательской среде эти буфера не могут рассматриваться Точный для последующего читается поскольку кто -то иначе может измениться База данных начиная с последнего чтения . Из-за этого , буфера Снова читаются всегда . Если вы не хотите делать это , вы можете устанавливать QUICKSCAN к НА с командой SEND ( имя файла , "QUICKSCAN=ON" ) . По умолчанию для QUICKSCAN находится НА для открытых файлов при отрицании записи Обращаются другим пользователям и ВЫКЛ. для всех других открытых режимов . QUICKSCAN не может устанавливаться пока файл не открылся . Это не может использоваться в строке ДРАЙВЕРА . Команды Манипулирования Файла COPY ( файл , newfile ) Это будет копировать .DBF файл , файл записки и любые индексные файлы Это имеют то же самое имя как .DBF файлом . Если вы имеете индексы В файлах с различными именами вы будете должны использовать специальный Версия КОПИИ . Формат для этого - COPY(file,' | ') Это будет возвращать Файл Не Обнаруженный если недопустимый индекс передан . Пример : Given the file structure Clar2 ФАЙЛ , СОЗДАЙТЕ , ДРАЙВЕР ( "FoxPro" ) NumKey KEY(Num),DUP,NAME('NumKey|Clar2') StrKey KEY(Str1),NAME('StrKey|Clar2') StrKey2 КЛАВИША(КЛЮЧ) (Str2) ЗАПИСКА AMemo (100) , ИМЯ ( "mem" ) ЗАПИСЬ Записи Цифровая СТРОКА ( ) STR1 СТРОКА (2) STR2 СТРОКА (2) Mem СТРОКА (10) . . Команды чтобы копировать это описание файла к A: будут КОПИЯ (Clar2,'A:\CLAR2') COPY(Clar2,'StrKey2|A:\STRKEY2') После этих вызовов вы будете иметь следующие файлы на ваш Дисковод : CLAR2.DBF , CLAR2.FPT , CLAR2.CDX , STRKEY2.IDX ПЕРЕИМЕНУЙТЕ ( файл , newfile ) Это будет переименовывать DBF файл , файл записки и любые индексные файлы Это имеют то же самое имя как DBF файлом . Если вы имеете индексы В файлах с различными именами вы будете должны использовать специальный Версия ПЕРЕИМЕНОВЫВАЮТ . Формат для этого находится RENAME(file,' | ') Это будет возвращать Файл Не Обнаруженный если недопустимый индекс передан Пример : Given the file structure Clar2 ФАЙЛ , СОЗДАЙТЕ , ДРАЙВЕР ( "FoxPro" ) NumKey KEY(Num),DUP,NAME('NumKey|Clar2') StrKey KEY(Str1),NAME('StrKey|Clar2') StrKey2 КЛАВИША(КЛЮЧ) (Str2) ,NAME ( "Str" ) ЗАПИСКА AMemo (100) , ИМЯ ( "mem" ) ЗАПИСЬ Записи Цифровая СТРОКА ( ) STR1 СТРОКА (2) STR2 СТРОКА (2) Mem СТРОКА (10) . . Команды чтобы переименовывать это описание файла будут RENAMECOPY (Clar2,'CLAR3') RENAME(Clar2,'StrKey2|STRKEY') После этих вызовов вы будете иметь следующие файлы на ваш Система : CLAR3.DBF , CLAR3.FPT , CLAR3.CDX , STRKEY.IDX ФОРМИРУЙТЕ ( индекс , компоненты ) Драйвер FoxPro позволяет динамический индекс формироваться В возрастании или decending порядок . Однако мульти-компонент Индексы должны быть все возрастание или весь decending . Драйвер Использует порядок первого компонента только . Неподдерживаемые Функции Keys: NOCASE, OPT, ascending|decending Драйвер FoxPro позволяет клавишам(ключам) формироваться с в возрастании или Decending порядок . Однако клавиши(ключи) мульти-компонента должны быть все Возрастание или весь decending . Драйвер использует порядок Первый компонент только чтобы решать порядок клавиши(ключа) . Файл : ШИФРУЙТЕ , ВЛАДЕЛЕЦ , СНОВА ТРЕБУЙТЕ Драйвер FoxPro не может читать файлы которые шифровались . FoxPro Чтобы снова требовать пробела из удаленных записей это необходимо Называть BUILD (файлом) . Поля : ПО , DIM Вы не можете иметь dimensioned поля или применение ПО atttribute В обьявлении записи для файла FoxPro . Однако , вы можете Создавать другую ГРУППУ снаружи обьявления файла ПО структуре RECORD ФАЙЛА и делайте любой вы нуждаетесь к в этой группе . Диалоговая Обработка Запросов : ПЕРЕДАЙТЕ(СОВЕРШИТЕ) , ВЫХОД ИЗ СИСТЕМЫ , Доступ Записи ОБРАТНОЙ ПЕРЕМОТКИ : ПОПАДИТЕ ( файл , fileptr , len ) ДОБАВЬТЕ ( файл , len ) КОНКАТЕНИРУЙТЕ ( файл , len ) Функции доступа Записи которые берут параметр длины не Выполняются , & могли мешать индексации для Таблицы . Модификации Файла : ПОМЕСТИТЕ ( файл , fileptr ) ПОМЕЩЕННЫЙ ( файл , fileptr , len ) Парадокс 3 Драйвер. . Атрибут ДРАЙВЕРА : ДРАЙВЕР ( "Paradox3" ) Библиотеки : DXVPDOX3.LIB Статическая Компоновка DOVPDOX3.LIB Оверлей Компонуют DDVPDOX3.LIB Динамическую Библиотеку Компоновок (DLL) DDVPDOX3.DLL Динамическая Библиотека Компоновок (DLL) Типы Данных Clarion тип данных Парадокса Типа Данных CSTRING АЛФАВИТНО-ЦИФРОВОЕ ВЕЩЕСТВЕННОЕ ЧИСЛО РЕАЛЬНАЯ ДАТА ВАЛЮТЫ ДАТИРУЮТ КОРОТКИЕ КОРОТКИЕ Спецификации Файла Спецификаций Файла - Размер Файла Максимумов : 4 Миллиарда Записей Байтов на Файл : 2 Миллиарда Размера Записи Не-ключевая таблица : байты 4000 Ключевая таблица : 1350 Имена Поля байтов : 25 печатаемых символов Поля в соответствии c Записью : 255 КЛАВИШ / ИНДЕКСИРУЮЩИЙ на Файл : 255 или Число полей Открытые Файлы : Операционная Система зависимый Общие Характеристики Таблица Парадокса ( файл данных ) сохраняется в файле с .DB расширение . Первичная клавиша(ключ) сохраняется в файле С .PX расширением . Вторичные клавиши(ключи) сохраняются в файлах С расширением .X ** и .Y ** где ** обозначает номер Поле используемое в . клавишей(ключом) Записи сохраняются в фиксированной длине . "Ключевая" таблица всегда содержит первичную клавишу(ключ) . Все модификации к A Ключевой результат в таблицы первичном индексном файле модифицировали . Имеется 1:1 связь между записями в индексном файле и записях в ключевом файле таблицы . Никакие дубликаты не позволяются . Следовательно , Парадокс первичная клавиша(ключ) - уникальная КЛАВИША(КЛЮЧ) которая не исключает пустые указатели . Парадокс первичная клавиша(ключ) должен содержать первое поле ( или поля ) В структуре записи . Если первичная клавиша(ключ) содержит многократный Поля , они ДОЛЖНЫ БЫТЬ непрерывные поля в начале Структура RECORD , и компоненты KEY должна Появляться в том же самом порядке поскольку они делают в записи . Вторичные клавиши(ключи) создаются для любых полей клавиши(ключа) других чем Первое поле в записи . Те автоматически модифицируются если Таблица содержит первичную клавишу(ключ) , иначе они будут только Модифицироваться когда BUILD вызывается . Вторичная клавиша(ключ) не может содержать Многократные поля компонента . ВАЖНЫЙ : При создании кода чтобы модифицировать существующие Таблицы Парадокса , Вы должны гарантировать что структуру записи точно пары тот Используемый Парадоксом . Если Таблица Парадокса имеет первичную клавишу( ключ) , гарантируйте Этот клавиша(ключ) существует для первого поля в структуре записи , Иначе может быть возможно вводить записи которые создают Клавиши дублирования . Вы можете использовать утилиту PDXREC чтобы формировать файл для включения содержащий описание записи для определяемой таблицы . Напечатайте PDXREC без параметров для команд использования . Внутреннее представление Clarion РЕАЛЬНЫЙ , КОРОТКИЙ , и DATE немного различно от Парадокса ЧИСЛОВОЙ , ВАЛЮТЫ , КОРОТКОЕ , и формата памяти ДАТЫ . Следовательно , имеется некоторое количество автоматической трансляции данных между Clarion и Парадоксом который обрабатывается драйвером . Этот драйвер файла Парадокса только обеспечивает два ОТКРЫТЫХ режима : ДЛЯ ЧТЕНИЯ - ЗАПИСИ Отвергают(Отрицают) Запись ДЛЯ ЧТЕНИЯ - ЗАПИСИ (22-ого) Не отвергают(Отрицают) Ни один (42-ый) Другой Парадокс Соображений "ключевые" файлы и клавиши(ключи) ВСЕГДА переупорядочиваются ( физически Когда обращается ) всякий раз, когда запись записывается к файлу . Это имеет Несколько следствий : * Значения возвращенные функцией POINTER не могут быть допустимые после ДОБАВЛЯЮЩИЙСЯ , ПОМЕСТИТЕ , или DELETE - применение POSITION взамен . * Функция POSITION возвращает строку которая является всей длиной Из записи . Это - потому что единственый способ размещения записи Reliably в Парадоксе ( для и ключевых и не-ключевых файлов ) должен Использовать точную копию записи . * Диалоговая Обработка Запросов не может выполняться без огромного Наверху ( это не выполняется в этом драйвере ) . * Состояние файла что касается EOF() и BOF() может изменяться В течение модификации . Команды SEND и Парадокс строк ДРАЙВЕРА требует инициализации до using любой из Сетевые функции поддержки . Это достигается using SEND Функция . ПОШЛИТЕ ( файл , " USERID= " ) Это обеспечивает UserId который нужно использовать для многопользовательских прикладных программ . ПОШЛИТЕ ( файл , " PARADOX.NET= " ) Это обеспечивает полный маршрут для управляющего файла PARADOX.NET . До открытия файла Парадокса на Сети , вы должны SEND и Из этих сообщений , к драйверу : ПОШЛИТЕ ( файл , "USERID=WHOEVER" ) ПОШЛИТЕ ( файл , "PARADOX.NET=Z:\PARADOX\DATA" ) ОБЩИЙ (файл) Неподдерживаемые Функции Атрибуты Файла : СНОВА ТРЕБОВАНИЕ , ВЛАДЕЛЕЦ , ШИФРУЮТ RECLAIM игнорируется так как Парадокс выполняет это - собственная упаковка Диалоговая Обработка Запросов : ПЕРЕДАЙТЕ(СОВЕРШИТЕ) , ХРАНЕНИЕ , ВЫХОД ИЗ СИСТЕМЫ , ОБРАТНАЯ ПЕРЕМОТКА Парадокс не обеспечивает диалоговую обработку запросов , имеется никакой способ Из выполнения этого для драйвера . Управление Буферизации : ПОТОК , ПОТОК Не имеется никакое управление буферизации в пределах драйвера Парадокса . Доступ Записи : ПОПАДИТЕ ( файл , fileptr , len ) ДОБАВЬТЕ ( файл , len ) КОНКАТЕНИРУЙТЕ ( файл , len ) ДВОЙНАЯ (Клавиша)((Ключ)) Record обращаются к функциям которые берут параметр длины не Выполняются , они могли мешать индексации для Таблицы . Модификации Файла : ПОМЕСТИТЕ ( файл , fileptr ) ПОМЕЩЕННЫЙ ( файл , fileptr , len ) Драйвер ASCII . Атрибут ДРАЙВЕРА : ДРАЙВЕР ( "ASCII" ) Библиотеки : DXVASCII.LIB Статическая Компоновка Компоновка Оверлея DOVASCII.LIB DDVASCII.LIB Динамическая Библиотека Компоновок (DLL) DDVASCII.DLL Динамическая Библиотека Компоновок (DLL) СТРОКА Типов Данных ГРУППИРУЮТ Спецификации Файла Спецификаций Файла - Размер Файла Максимумов : Без знака Длинные Записи (4,294,967,295) на Файл : Без знака Длинный Размер Записи (4,294,967,295) : размер поля 64 КБ : поля 64 КБ в соответствии c Записью : 64 КБ КЛАВИШИ / ИНДЕКСИР. на Файл : Клавиша(Ключ) Size : Поля Записки на Файл : 0 Размер Поля Записки : Откройте Файлы Данных : Операционная Система зависимый Общие Характеристики Драйвер ASCII создает , читается и записывает стандартные файлы без ASCII разделителей поля . Команды SEND и Строки ДРАЙВЕРА ПОШЛИТЕ ( файл , "FILEBUFFERS=n" ) Драйвер ASCII распределяет внутренние буфера из 512 байтов чтобы сохранять Восстановленный(отысканный) файл . Вы должны использовать эту команду SEND прежде A Вызовите чтобы ОТКРЫВАТЬ или СОЗДАВАТЬ если вы хотите использовать различный число Буфера из по умолчанию . По умолчанию - 2 для открытых файлов Отрицание записи обращаются другим пользователям и 1 для всех других открытых режимов . Обратите Внимание что информация буферов потеряна когда вы закрываете файл . Вы Будет должны использовать SEND() снова если вы хотите вновь zоткрывать файл . Драйвер ASCII также позволяет вам определять буфера файлов в Строка драйвера при определении файла . Формат : ДРАЙВЕР ( "ASCII" , "/FILEBUFFERS=n" ) Буферный размер определяемый в строке драйвера будет игнорироваться если ПОСЫЛАЮЩАЯСЯ (FILEBUFFERS) команда используется перед вызовом чтобы ОТКРЫВАТЬСЯ . oldquickstate = SEND (file, 'QUICKSCAN=[ON|OFF]') Драйвер ASCII не читает запись одновременно . Взамен это читается Буфер одновременно . Это может учитывать значительно более быстрый доступ . Однако , В многопользовательской среде эти буфера не могут рассматриваться Точный для последующего читается поскольку кто -то иначе может измениться База данных начиная с последнего чтения . Из-за этого буфера Снова читаются всегда . Если вы не хотите делать это , вы можете устанавливать QUICKSCAN к НА с командой SEND ( имя файла , "QUICKSCAN=ON" ) . Команда SEND возвращает старое состояние QUICKSCAN . 0 для ОТ И 1 для НА . По умолчанию для QUICKSCAN находится НА для открытых файлов при отрицании записи Обращаются другим пользователям и ВЫКЛ. для всех других открытых режимов . QUICKSCAN не может устанавливаться пока файл не открылся . Могут не иметься никакие пробелы в используемой строке как второй параметр . ПОШЛИТЕ ( файл , " ENDOFRECORD=n <,m> " ) N - число символов которые являются частью zзаканчивает - of-record Seperator . Это сопровождается номерами m представляющими Код ASCII в течение zзаканчивает - of-record символы . По умолчанию Является 2,13,10 индикацией два символа отмечают zзаканчиваете - of-record - Возврат Каретки (13) и Перевод Строки (10) . Это может также помещаться в строку ДРАЙВЕРА : ДРАЙВЕР ( "ASCII" , " /ENDOFRECORD=n, " ) Разделитель определяемый в строке ДРАЙВЕРА не может отменяться SEND() командой пока файл не OPEN . oldclipstate = SEND (file, 'CLIP=[ON|OFF]') Драйвер ASCII будет автоматически перемещать конечные пробелы из A Запись перед записью записи на файл . Это может вызывать Compatability проблемы с определенными системами универсальной ЭВМ . Если вы потребность Строки чтобы всегда быть фиксированной длины вами могут использовать : ПОШЛИТЕ (file,'CLIP=OFF') Команда SEND возвращается старое состояние ОТСЕКАЮТ . 0 для ОТ И 1 для НА . Это может также помещаться в строку ДРАЙВЕРА : DRIVER ('ASCII', '/CLIP=[ON|OFF]') Установка определяемая в строке ДРАЙВЕРА не может отменяться SEND() командой пока файл не OPEN . ПОШЛИТЕ ( файл , "TAB=n" ) Драйвер ASCII расширяется ТАБУЛИРУЕТ ( символ ASCII 9 ) к пробелам . N указывает число пробелов с который заменять МЕТКУ ТАБУЛЯЦИИ . Значение по умолчанию - 8 . Если n> 0 , тогда TABS будет заполнять запись с пробелами до Символьный указатель двигается к следующему многократный из n . Например , С по умолчанию из 8 , если символ МЕТКИ ТАБУЛЯЦИИ - третий символ В записи , 6 пробелов будут заменять МЕТКУ ТАБУЛЯЦИИ . Если n = 0 , TABS перемещаются без замены . Если n = -100 , TABS оставлены как МЕТКИ ТАБУЛЯЦИИ и не замененным с пробелами . Если n < 0 но не равняются к -100 , тогда метки табуляции заменяются n пробелами . Например : ПОШЛИТЕ (file,'TAB=-4') заставляет 4 пробела заменять каждый МЕТКА ТАБУЛЯЦИИ , независимо от позиции МЕТКИ ТАБУЛЯЦИИ в записи . Это может также помещаться в строку ДРАЙВЕРА : ДРАЙВЕР ( "ASCII" , "/TAB=n" ) Установка определяемая в строке ДРАЙВЕРА не может отменяться SEND() командой пока файл не OPEN . Неподдерживаемые Функции Диалоговая Обработка Запросов : ПЕРЕДАЙТЕ(СОВЕРШИТЕ) , ВЫХОД ИЗ СИСТЕМЫ , ОБРАТНАЯ ПЕРЕМОТКА Обработка Клавиши(Ключа) : BUILD (клавиша)((ключ)) BUILD (индекс) GET ( файл , клавиша(ключ) ) ПОПАДИТЕ ( клавиша(ключ) , keypointer ) СБРОСЬТЕ ( клавиша(ключ) , строка ) УСТАНОВИТЕ ( файл , клавиша(ключ) ) SET (клавиша)((ключ)) SET ( клавиша(ключ) , клавиша(ключ) ) УСТАНОВИТЕ ( клавиша(ключ) , keypointer ) УСТАНОВИТЕ ( клавиша(ключ) , клавиша(ключ) , filepointer ) DUPLICATE() POINTER (клавиша)((ключ)) POSITION (клавиша)((ключ)) RECORDS (клавиша)((ключ)) File Блокируя : ХРАНЕНИЕ ВЫПУСК БЛОКИРОВКА НЕБЛОКИРОВКА Буферизация Файла : ПОТОК Информация Файла : ЗАПИСИ (файл) Последовательная Обработка : ПРЕДЫДУЩИЙ BOF ПРОПУСК Манипулирование Файла : УДАЛИТЕ ПАКЕТ Драйвер БЕЙСИКА . Атрибут ДРАЙВЕРА : ДРАЙВЕР ( "Базисный" ) Библиотеки : DXVBASIC.LIB Статическая Компоновка Компоновка Оверлея DOVBASIC.LIB DDVBASIC.LIB Динамическая Библиотека Компоновок (DLL) DDVBASIC.DLL Динамическая Библиотека Компоновок (DLL) Типы Данных БАЙТ КОРОТКИЙ USHORT ДЛИННЫЙ ULONG SREAL РЕАЛЬНЫЙ BFLOAT ДЕСЯТИЧНОЕ ЧИСЛО PDECIMAL СТРОКА CSTRING PSTRING ДАТА ВРЕМЯ ГРУППА Спецификации Файла Спецификаций Файла - Размер Файла Максимумов : Без знака Длинные Записи (4,294,967,295) на Файл : Без знака Длинный Размер Записи (4,294,967,295) : размер поля 64 КБ : поля 64 КБ в соответствии c Записью : клавиши / индексир. 64 КБ на Файл : Клавиша(Ключ) Size : поля Записки на Файл : 0 Размера Поля Записки : Открытые Файлы Данных : Операционная Система зависимые Общие Характеристики Базисный которые драйвер создает , читается и разграниченная кавычка запятой записей Файлы , как первоначально определенный в соответствии c языком программирования БЕЙСИКА . Команды SEND и Строки ДРАЙВЕРА ПОШЛИТЕ ( файл , "FILEBUFFERS=n" ) Базисный драйвер распределяет внутренние буфера из 512 байтов чтобы сохранять Восстановленный(отысканный) файл . Вы должны использовать эту команду SEND прежде A Вызовите чтобы ОТКРЫВАТЬ или СОЗДАВАТЬ если вы хотите использовать различный номер Буфера из по умолчанию . По умолчанию - 2 для открытых файлов Отрицание записи обращаются другим пользователям и 1 для всех других открытых режимов . Обратите Внимание что информация буферов потеряна когда вы закрываете файл . Вы Будет должны использовать SEND() снова если вы хотите вновь zоткрывать файл . Базисный драйвер также позволяет вам определять буфера файлов в Строка драйвера при определении файла . Формат : ДРАЙВЕР ( "Базисный" , "/FILEBUFFERS=n" ) Буферный размер определяемый в строке драйвера будет игнорироваться если ПОСЫЛАЮЩАЯСЯ (FILEBUFFERS) команда используется перед вызовом чтобы ОТКРЫВАТЬСЯ . oldquickstate = SEND (file, 'QUICKSCAN=[ON|OFF]') Базисный драйвер не читает запись одновременно . Взамен это читается Буфер одновременно . Это может учитывать значительно более быстрый доступ . Однако , В многопользовательской среде эти буфера не могут рассматриваться Точный для последующего читается поскольку кто -то иначе может измениться База данных начиная с последнего чтения . Из-за этого буфера Снова читаются всегда . Если вы не хотите делать это , вы можете устанавливать QUICKSCAN к НА с командой SEND ( имя файла , "QUICKSCAN=ON" ) . Команда SEND возвращает старое состояние QUICKSCAN . 0 для ОТ И 1 для НА . По умолчанию для QUICKSCAN находится НА для открытых файлов при отрицании записи Обращаются другим пользователям и ВЫКЛ. для всех других открытых режимов . QUICKSCAN не может устанавливаться пока файл не открылся . Могут не иметься никакие пробелы в используемой строке как второй параметр . ПОШЛИТЕ ( файл , " ENDOFRECORD=n <,m> " ) N - число символов которые являются частью zзаканчивает - of-record Seperator . Это сопровождается номерами m представляющими Код ASCII в течение zзаканчивает - of-record символы . По умолчанию Является 2,13,10 индикацией два символа отмечают zзаканчиваете - of-record - Возврат Каретки (13) и Перевод Строки (10) . Это может также помещаться в строку ДРАЙВЕРА : ДРАЙВЕР ( "Базисный" , " /ENDOFRECORD=n, " ) Разделитель определяемый в строке ДРАЙВЕРА не может отменяться SEND() командой пока файл не OPEN . ПОШЛИТЕ ( файл , " FIELDDELIMITER=n <,m> " ) N - число символов которые являются частью zзаканчивает - of-field Разделитель . Это сопровождается номерами m представляющими Десятичный код ASCII в течение zзаканчивает - of-field символы . По умолчанию Является 1,44 индикацией одного символьного разделителя , разделителя Запятая (,) . Это может также помещаться в строку ДРАЙВЕРА : ДРАЙВЕР ( "Базисный" , " /FIELDDELIMITER=n, " ) Разделитель определяемый в строке ДРАЙВЕРА не может отменяться SEND() командой пока файл не OPEN . ПОШЛИТЕ ( файл , "COMMA=n" ) N - код ASCII для символа разделителя поля . По умолчанию Является 44 , запятой (,) . Это подобно чтобы ПОСЫЛАТЬ ( файл , " FIELDDELIMITER=1 , m " ) Но только позволяет одному символу определяться как разделитель поля . Это может также помещаться в строку ДРАЙВЕРА : ДРАЙВЕР ( "Базисный" , "/COMMA=n" ) Разделитель определяемый в строке ДРАЙВЕРА не может отменяться SEND() командой пока файл не OPEN . ПОШЛИТЕ ( файл , "QUOTE=n" ) Файлы БЕЙСИКА - обычно запятая разграниченная с двойными кавычками вокруг И СТРОК linefeed возврат каретки отмечающий конец записи . N - код ASCII для символа разделителя строки . По умолчанию Является 34 , двойная кавычка (") . Это может также помещаться в строку ДРАЙВЕРА : ДРАЙВЕР ( "Базисный" , "/QUOTE=n" ) Разделитель определяемый в строке ДРАЙВЕРА не может отменяться SEND() командой пока файл не OPEN . oldquotestate = SEND (file, 'ALWAYSQUOTE=[ON|OFF]') Поля СТРОКИ в Базисном формате могут содержаться в кавычке Символы или нет , в зависимости от изделия(программы) записывающего файл . Если вы требуете СТРОКИ чтобы не содержаться в символах кавычек , Вы можете использовать ПОСЫЛАЮЩУЮСЯ команду (ALWAYSQUOTE=OFF) . По умолчанию Значение ALWAYSQUOTE ВЫКЛЮЧЕНО . Когда ALWAYSQUOTE ВЫКЛЮЧЕН , некоторое количество полей СТРОКИ могли содержать запятую Или символы кавычки , который будет "смешивать" драйвер . Следовательно , Базисный драйвер будет автоматически помещать кавычки вокруг СТРОКИ когда Запись к файл если та строка содержит или символ кавычки Или символ запятой определенный FIELDDELIMITER , ЗАПЯТАЯ , или Команды QUOTE SEND ( или их значения по умолчанию ) . В случае ЗАПЯТОЙ Символ в СТРОКЕ , символ автоматически повторяется для Вы в СТРОКЕ прежде, чем это помещается в кавычки . Это также происходит Автоматически если ALWAYSQUOTE ВЫКЛЮЧЕННЫЙ и символ запятой Сталкивается с в СТРОКЕ . Например , с значениями по умолчанию использовали ( Запятая и двойная кавычка ) и ALWAYSQUOTE ОТ , поле СТРОКИ которое Содержит значение : 123 Mockingbird Lane , Способный . 33 Автоматически сохраняется в файле как : " 123 Mockingbird Lane , Способный . 33 " Команда SEND возвращает старое состояние ALWAYSQUOTE . 0 для ОТ И 1 для НА . Могут не иметься никакие пробелы в используемой строке как второй параметр . Это может также помещаться в строку ДРАЙВЕРА : DRIVER ('Basic', '/ALWAYSQUOTE=[ON|OFF]') Разделитель определяемый в строке ДРАЙВЕРА не может отменяться SEND() командой пока файл не OPEN . Строки ДРАЙВЕРА Примера и операторы SEND Строки Driver могут конкатенироваться чтобы определять многократные опции . Так Открывать файл БЕЙСИКА с 10 буферами и строками разграниченными tilde (~) Вы будете иметь : ДРАЙВЕР ( "Базисный" , " /FILEBUFFERS=10 /QUOTE=126 " ) Дублирование значений по умолчанию : ДРАЙВЕР ( "Базисный" , " /QUOTE=34 /COMMA=44 /ENDOFRECORD=2,13,10 " ) Табулируйте Разграниченный файл с кавычками вокруг всех строк : ДРАЙВЕР ( "Базисный" , " /ALWAYSQUOTE=ON /COMMA=9 " ) Слово ФИРМЫ MICROSOFT для файла Составления Стандартных писем Окон : ДРАЙВЕР ( "Basic','/FIELDDELIMITER=2,13,7" ) ПОШЛИТЕ ( файл , "QUOTE=255" ) ПОШЛИТЕ ( файл , "ENDOFRECORD=4,13,7,13,7" ) Команда QUOTE будет останавливать кавычки поместили вокруг полей WordPerfect 5.0 файл Составления Стандартных писем : ДРАЙВЕР ( "Базисный" , " /COMMA=18 /QUOTE=255 /ENDOFRECORD=3,5,13,10 " ) Команда QUOTE будет останавливать кавычки поместили вокруг полей WordPerfect 5.1 файл Составления Стандартных писем : ДРАЙВЕР ( "Базисный" , " /FIELDDELIMITER=9,222,49,4,0,4,0,49,222 10 " ) ПОШЛИТЕ (file,'QUOTE=255) ) ПОШЛИТЕ ( file,'ENDOFRECORD=22,0,0,0,0,0,0,0,0,0,4 ,42,48,42,48,42,176,4,28,0,0,212,12' ) Команда QUOTE будет останавливать кавычки поместили вокруг полей . Zзаканчивать - of-record маркер в WordPerfect 5.1 имеет маркер Индикация номера записи . Пример выше только покрытий Фиксированная часть этого маркера . Добавлять переменную часть вы Будет должны добавлять к вашей структуре записи два поля EndOfRecord СТРОКА (18) БАЙТ NextRecNo EndOfRecord должен задерживать строку '<222,52,6,0,3,0,6,0,52,222,212,0,28,0,0,22,144,1>' NextRecNo должен задерживать номер записи + 1 Неподдерживаемые Функции Диалоговая Обработка Запросов : ПЕРЕДАЙТЕ(СОВЕРШИТЕ) , ВЫХОД ИЗ СИСТЕМЫ , ОБРАТНАЯ ПЕРЕМОТКА Обработка Клавиши(Ключа) : BUILD (клавиша)((ключ)) BUILD (индекс) GET ( файл , клавиша(ключ) ) ПОПАДИТЕ ( клавиша(ключ) , keypointer ) СБРОСЬТЕ ( клавиша(ключ) , строка ) УСТАНОВИТЕ ( файл , клавиша(ключ) ) SET (клавиша)((ключ)) SET ( клавиша(ключ) , клавиша(ключ) ) УСТАНОВИТЕ ( клавиша(ключ) , keypointer ) УСТАНОВИТЕ ( клавиша(ключ) , клавиша(ключ) , filepointer ) ДУБЛИКАТ POINTER (клавиша)((ключ)) POSITION (клавиша)((ключ)) RECORDS (клавиша)((ключ)) File Блокируя : ХРАНЕНИЕ ВЫПУСК БЛОКИРОВКА НЕБЛОКИРОВКА Буферизация Файла : ПОТОК Обход Файла : ПРЕДЫДУЩИЙ BOF ПРОПУСК Манипулирование Файла : ФОРМИРУЙТЕ (файл) УДАЛИТЕ ПАКЕТ Драйвер ДОСА . Атрибут ДРАЙВЕРА : ДРАЙВЕР ( "ДОС" ) Библиотеки : DXVDOS.LIB Статическая Компоновка Компоновка Оверлея DOVDOS.LIB DDVDOS.LIB Динамическая Библиотека Компоновок (DLL) DDVDOS.DLL Динамическая Библиотека Компоновок (DLL) БАЙТ Типов Данных КОРОТКИЙ USHORT ДЛИННЫЙ ULONG SREAL РЕАЛЬНЫЙ BFLOAT ДЕСЯТИЧНОЕ ЧИСЛО PDECIMAL СТРОКА CSTRING PSTRING ДАТА ВРЕМЯ ГРУППА Спецификации Файла Спецификации Файла - Максимумы Размер Файла : Без знака Длинный (4,294,967,295) Записи на Файл : Без знака Длинный (4,294,967,295) Размер Записи : 64 КБ Размер Поля : 64 КБ Поля в соответствии c Записью : 64 КБ КЛАВИШИ / ИНДЕКСИР. на Файл : Клавиша(Ключ) Size : Поля Записки на Файл : 0 Размер Поля Записки : Откройте Файлы Данных : Операционная Система зависимый Общие Характеристики Драйвер файла ДОСА создает , читается и записывает любой двоичный , Файл адресуемый по байту . Ни поля ни записи не Когда разграничивается . Следовательно , когда запись читается , число Байтов определяемый(определенный) как структура RECORD ФАЙЛА - число Байты чита.(чтения) , если параметр длины не spcified в GET Оператор . Драйвер ДОСА обеспечивает параметр длины ДОБАВЛЯЮЩЕГОСЯ , КОНКАТЕНИРОВАТЬ , ПОПАДИТЕ , и операторы PUT - это позволяет вам иметь записи переменной длины в файле ДОСА . Значение возвращенное функцией POINTER - относительная позиция байта в пределах файла начала последней записи доступный ДОБАВЛЯЮЩИЙСЯ , КОНКАТЕНИРОВАТЬ , ПОЛУЧАТЬ , или оператор NEXT . Этот драйвер файла разрабатывается для прямой последовательной обработки только . Следовательно , никакая клавиша(ключ) или функции диалоговой обработки запросов не обеспечиваются , и оператор PREVIOUS не обеспечивается . Команды SEND и Строки ДРАЙВЕРА ПОСЫЛАЮТ ( файл , "FILEBUFFERS=n" ) Драйвер ДОСА распределяет внутренние буфера из 512 байтов чтобы сохранять Восстановленный(отысканный) файл . Вы должны использовать эту команду SEND прежде A Вызовите чтобы ОТКРЫВАТЬ или СОЗДАВАТЬ если вы хотите использовать различный номер Буфера из по умолчанию . По умолчанию - 2 для открытых файлов Отрицание записи обращаются другим пользователям и 1 для всех других открытых режимов . Обратите Внимание что информация буферов потеряна когда вы закрываете файл . Вы Будет должны использовать SEND() снова если вы хотите вновь zоткрывать файл . Драйвер ДОСА также позволяет вам определять буфера файлов в Строка атрибута ДРАЙВЕРА . Формат : ДРАЙВЕР ( идентификатор типа файла , "/FILEBUFFERS=n" ) Буферный размер определяемый в строке ДРАЙВЕРА игнорируется если A ПОШЛИТЕ (FILEBUFFERS) команду используется перед вызовом чтобы ОТКРЫВАТЬСЯ . oldquickstate = SEND (file, 'QUICKSCAN=[ON|OFF]') Драйвер ДОСА не читает запись одновременно . Взамен это читается Буфер одновременно . Это может учитывать значительно более быстрый доступ . Однако , В многопользовательской среде эти буфера не могут рассматриваться Точный для последующего читается поскольку кто -то иначе может измениться База данных начиная с последнего чтения . Из-за этого буфера Снова читаются всегда . Если вы не хотите делать это , вы можете устанавливать QUICKSCAN к НА с командой SEND ( имя файла , "QUICKSCAN=ON" ) . По умолчанию для QUICKSCAN находится НА для открытых файлов при отрицании записи Обращаются другим пользователям и ВЫКЛ. для всех других открытых режимов . Функция SEND возвращает старое состояние QUICKSCAN : 0 Для ОТ 1 Для НА . QUICKSCAN не может устанавливаться пока файл не был ОТКРЫЛСЯ . Могут не иметься никакие пробелы в используемой строке как второй параметр . Неподдерживаемые Функции Диалоговая Обработка Запросов : ПЕРЕДАЙТЕ(СОВЕРШИТЕ) , ВЫХОД ИЗ СИСТЕМЫ , ОБРАТНАЯ ПЕРЕМОТКА Обработка Клавиши(Ключа) : BUILD (клавиша)((ключ)) BUILD (индекс) GET ( файл , клавиша(ключ) ) ПОПАДИТЕ ( клавиша(ключ) , keypointer ) СБРОСЬТЕ ( клавиша(ключ) , строка ) УСТАНОВИТЕ ( файл , клавиша(ключ) ) SET (клавиша)((ключ)) SET ( клавиша(ключ) , клавиша(ключ) ) УСТАНОВИТЕ ( клавиша(ключ) , keypointer ) УСТАНОВИТЕ ( клавиша(ключ) , клавиша(ключ) , filepointer ) DUPLICATE() POINTER (клавиша)((ключ)) POSITION (клавиша)((ключ)) RECORDS (клавиша)((ключ)) File Блокируя : ХРАНЕНИЕ ВЫПУСК БЛОКИРОВКА НЕБЛОКИРОВКА Буферизация Файла : ПОТОК Информация Файла : ЗАПИСИ (файл) Последовательная Обработка : ПРЕДЫДУЩИЙ BOF ПРОПУСК Манипулирование Файла : УДАЛИТЕ ПАКЕТ