File: px-create-fp.xml

package info (click to toggle)
php-doc 20100521-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze, wheezy
  • size: 59,992 kB
  • ctags: 4,085
  • sloc: xml: 796,833; php: 21,338; cpp: 500; sh: 117; makefile: 58; awk: 28
file content (151 lines) | stat: -rw-r--r-- 4,643 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 297028 $ -->
<!-- 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
-->