Files
php-doc-ru/reference/paradox/functions/px-create-fp.xml
sergey 80cce0edd4 docs(ru): Review
Review paradox section

git-svn-id: https://svn.php.net/repository/phpdoc/ru/trunk@348073 c90b9560-bf6c-de11-be94-00142212c4b1
2019-09-27 05:28:33 +00:00

149 lines
5.9 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: lex Status: ready -->
<!-- Reviewed: yes Maintainer: sergey -->
<!-- splitted from ./en/functions/paradox.xml, last change in rev -->
<refentry xml:id="function.px-create-fp" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>px_create_fp</refname>
<refpurpose>Создать новую базу данных paradox</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>px_create_fp</methodname>
<methodparam><type>resource</type><parameter>pxdoc</parameter></methodparam>
<methodparam><type>resource</type><parameter>file</parameter></methodparam>
<methodparam><type>array</type><parameter>fielddesc</parameter></methodparam>
</methodsynopsis>
<para>
Создать новый файл базы данных paradox. Перед вызовом данной функции фактический файл нужно открыть
с помощью <function>fopen</function>. Убедитесь, что этот файл доступен для записи.
</para>
<note>
<para>Вызов этих функций вызывает предупреждение о пустом имени таблицы,
которое можно безопасно игнорировать.
Просто установите tablename после этого вызова с помощью <function>px_set_parameter</function>.</para>
</note>
<note>
<para>Эта функция очень экспериментальна из-за недостаточной документации формата файла paradox.
Файлы базы данных, созданные с помощью данной функции, могут быть открыты с помощью <function>px_open_fp</function>, а также
могут быть открыты программным обеспечением Paradox, но ваш сценарий использования может отличаться.
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>pxdoc</parameter></term>
<listitem>
<para>
Идентификатор ресурса базы данных paradox, возвращаемый
функцией <function>px_new</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>file</parameter></term>
<listitem>
<para>Дескриптор файла, возвращаемый функцией <function>fopen</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>fielddesc</parameter></term>
<listitem>
<para>
<option>fielddesc</option> - это массив, содержащий один элемент для каждой спецификации поля.
Спецификация поля - это массив с двумя или тремя элементами.
Первый элемент всегда строковое значение, используемое как имя поля. Он не может быть длиной более десяти символов.
Второй элемент содержит тип поля, который является одной из констант, перечисленных в таблице <link
linkend="paradox.table-fieldtypes">Константы типов полей</link>.
В случае поля символа или поля bcd вам нужно будет предоставить третий элемент, определяющий длину, соответственно, точности поля.
Если спецификация поля содержит поля blob, вам нужно будет либо сделать поле достаточно большим для всех значений полей,
либо указать blob-файл с помощью <function>px_set_blob_file</function> для хранения blob-файлов.
Если это не сделано, данные поля обрезаются.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Создание базы данных Paradox с помощью двух полей</title>
<programlisting role="php">
<![CDATA[
<?php
if(!$pxdoc = px_new()) {
/* Обработка ошибки */
}
$fp = fopen("test.db", "w+");
$fields = array(array("col1", "S"), array("col2", "I"));
if(!px_create_fp($pxdoc, $fp, $fields)) {
/* Обработка ошибки */
}
px_set_parameter($pxdoc, "tablename", "testtable");
for($i=-50; $i<50; $i++) {
$rec = array($i, -$i);
px_put_record($pxdoc, $rec);
}
px_close($pxdoc);
px_delete($pxdoc);
fclose($fp);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>px_new</function></member>
<member><function>px_put_record</function></member>
<member><function>fopen</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->