php-doc-en/reference/paradox/functions/px-create-fp.xml
Daniel Egeberg 96c9d88bad Converted to utf-8
git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@297028 c90b9560-bf6c-de11-be94-00142212c4b1
2010-03-28 22:10:10 +00:00

151 lines
4.5 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- 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>Create a new paradox database</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>
Create a new paradox database file. The actual file has to be opened before
with <function>fopen</function>. Make sure the file is writable.
</para>
<note>
<para>Calling this functions issues a warning about an empty tablename which
can be safely ignored. Just set the tablename afterwards with
<function>px_set_parameter</function>.</para>
</note>
<note>
<para>This function is highly experimental, due to insufficient
documentation of the paradox file format. Database files created with this
function can be opened by <function>px_open_fp</function> and has been
successfully opened by the Paradox software, but your milage may vary.
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>pxdoc</parameter></term>
<listitem>
<para>
Resource identifier of the paradox database
as returned by <function>px_new</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>file</parameter></term>
<listitem>
<para>File handle as returned by <function>fopen</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>fielddesc</parameter></term>
<listitem>
<para>
<option>fielddesc</option> is an array containing one element for each
field specification. A field specification is an array itself with
either two or three elements.The first element is always a string value
used as the name of the field. It may not be larger than ten
characters. The second element contains the field type which is one of
the constants listed in the table <link
linkend="paradox.table-fieldtypes">Constants for field types</link>.
In the case of a character field or bcd field, you will have to provide
a third element specifying the length respectively the precesion of the
field. If your field specification contains blob fields, you will have
to make sure to either make the field large enough for all field values
to fit or specify a blob file with
<function>px_set_blob_file</function> for storing the blobs. If this is
not done the field data is truncated.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Creating a Paradox database with two fields</title>
<programlisting role="php">
<![CDATA[
<?php
if(!$pxdoc = px_new()) {
/* Error handling */
}
$fp = fopen("test.db", "w+");
$fields = array(array("col1", "S"), array("col2", "I"));
if(!px_create_fp($pxdoc, $fp, $fields)) {
/* Error handling */
}
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
-->