<?
 
/**
 
* ----------------------------------------------------------------
 
*            XBase
 
*            test_api.php    
 
* 
 
*  Developer        : Erwin Kooi
 
*  released at      : Jan 2005
 
*  last modified by : Erwin Kooi
 
*  date modified    : Jan 2005
 
*                                                               
 
*  Info? Mail to [email protected]
 
* 
 
* --------------------------------------------------------------
 
*
 
* R/W with api demonstration / compare with PHP integrated dbase functions
 
*
 
**/
 
 
    require_once "api_conversion.php";
 
 
    $fields = array(
 
        array("bool" , DBFFIELD_TYPE_LOGICAL),
 
        array("memo" , DBFFIELD_TYPE_MEMO),
 
        array("date" , DBFFIELD_TYPE_DATE),
 
        array("number" , DBFFIELD_TYPE_NUMERIC, 3, 0),
 
        array("string" , DBFFIELD_TYPE_CHAR, 50),
 
    );
 
 
    $di = dbase_create("test/dbase.dbf",$fields);
 
    $xi = xbase_create("test/xbase.dbf",$fields);
 
    
 
 
    dbase_add_record($di,array("T","abc","20060120",123,"string one"));
 
    dbase_add_record($di,array("F","def","20060121",321,"string two"));
 
    dbase_add_record($di,array("F","ghi","20060121",111,"string trio"));
 
    xbase_add_record($xi,array("T","abc","20060120",123,"string one"));
 
    xbase_add_record($xi,array("F","def","20060121",321,"string two"));
 
    xbase_add_record($xi,array("F","ghi","20060121",111,"string trio"));
 
    
 
    dbase_close($di);
 
    xbase_close($xi);
 
    $di = dbase_open("test/dbase.dbf",2);
 
    $xi = xbase_open("test/xbase.dbf",2);
 
 
    dbase_delete_record($di,2);
 
    xbase_delete_record($xi,2);
 
    dbase_pack($di);
 
    xbase_pack($xi);
 
    
 
    dbase_close($di);
 
    xbase_close($xi);
 
    $di = dbase_open("test/dbase.dbf",2);
 
    $xi = xbase_open("test/xbase.dbf",2);
 
 
    
 
    echo "dbase<br>";
 
    echo "index = $di <br>";
 
    
 
    echo "<br>";
 
    echo "xbase<br>";
 
    echo "index = $xi <br>";
 
    echo "header info: "; print_r(xbase_get_header_info($xi));
 
    
 
    dbase_close($di);
 
    xbase_close($xi);
 
    
 
    echo "<br><br>";
 
    
 
    $di = dbase_open("test/xbase.dbf",0);
 
    $xi = xbase_open("test/dbase.dbf",0);
 
 
    echo "dbase<br>";
 
    echo "index = $di <br>";
 
    echo "column count = ".dbase_numfields($di)." <br>";
 
    echo "record count = ".dbase_numrecords($di)." <br>";
 
    echo "<table>";
 
    for ($i=0;$i<dbase_numrecords($di);$i++) { echo "<tr>"; $r = dbase_get_record_with_names($di,$i+1); foreach ($r as $c=>$v) { echo "<td> $c=$v </td>"; } echo "</tr>"; }
 
    echo "</table>";
 
 
    
 
    echo "<br>";
 
    echo "xbase<br>";
 
    echo "index = $xi <br>";
 
    echo "column count = ".xbase_numfields($xi)." <br>";
 
    echo "record count = ".xbase_numrecords($xi)." <br>";
 
    echo "<table>";
 
    for ($i=0;$i<xbase_numrecords($xi);$i++) { echo "<tr>"; $r = xbase_get_record_with_names($xi,$i+1); foreach ($r as $c=>$v) { echo "<td> $c=$v </td>"; } echo "</tr>"; }
 
    echo "</table>";
 
    
 
    dbase_close($di);
 
    xbase_close($xi);
 
    
 
    echo "<br><br>";
 
    $table =& new XBaseTable("test/dbase.dbf");
 
    $table->open();
 
    echo "name: ".$table->name."<br />";
 
    echo "version: ".$table->version."<br />";
 
    echo "foxpro: ".($table->foxpro?"yes":"no")."<br />";
 
    echo "modifyDate: ".date("r",$table->modifyDate)."<br />";
 
    echo "recordCount: ".$table->recordCount."<br />";
 
    echo "headerLength: ".$table->headerLength."<br />";
 
    echo "recordByteLength: ".$table->recordByteLength."<br />";
 
    echo "inTransaction: ".($table->inTransaction?"yes":"no")."<br />";
 
    echo "encrypted: ".($table->encrypted?"yes":"no")."<br />";
 
    echo "mdxFlag: ".ord($table->mdxFlag)."<br />";
 
    echo "languageCode: ".ord($table->languageCode)."<br />";
 
    echo $table->toHTML();
 
    $table->close();
 
    echo "<br>";
 
    
 
    $table =& new XBaseTable("test/xbase.dbf");
 
    $table->open();
 
    echo "name: ".$table->name."<br />";
 
    echo "version: ".$table->version."<br />";
 
    echo "foxpro: ".($table->foxpro?"yes":"no")."<br />";
 
    echo "modifyDate: ".date("r",$table->modifyDate)."<br />";
 
    echo "recordCount: ".$table->recordCount."<br />";
 
    echo "headerLength: ".$table->headerLength."<br />";
 
    echo "recordByteLength: ".$table->recordByteLength."<br />";
 
    echo "inTransaction: ".($table->inTransaction?"yes":"no")."<br />";
 
    echo "encrypted: ".($table->encrypted?"yes":"no")."<br />";
 
    echo "mdxFlag: ".ord($table->mdxFlag)."<br />";
 
    echo "languageCode: ".ord($table->languageCode)."<br />";
 
    echo $table->toHTML();
 
    $table->close();
 
    
 
?>
 
 |