adding support for the inequality sign in formulas

git-svn-id: https://svn.php.net/repository/pear/packages/Spreadsheet_Excel_Writer/trunk@118345 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Xavier Noguer Gallego 2003-02-27 22:36:43 +00:00
parent d81fdac711
commit 2eaa143855
1 changed files with 19 additions and 6 deletions

View File

@ -32,11 +32,6 @@ define('SPREADSHEET_EXCEL_WRITER_ADD',"+");
*/ */
define('SPREADSHEET_EXCEL_WRITER_SUB',"-"); define('SPREADSHEET_EXCEL_WRITER_SUB',"-");
/**
* @const SPREADSHEET_EXCEL_WRITER_EQUAL token identifier for character "="
*/
define('SPREADSHEET_EXCEL_WRITER_EQUAL',"=");
/** /**
* @const SPREADSHEET_EXCEL_WRITER_MUL token identifier for character "*" * @const SPREADSHEET_EXCEL_WRITER_MUL token identifier for character "*"
*/ */
@ -87,6 +82,11 @@ define('SPREADSHEET_EXCEL_WRITER_GE',">=");
*/ */
define('SPREADSHEET_EXCEL_WRITER_EQ',"="); define('SPREADSHEET_EXCEL_WRITER_EQ',"=");
/**
* @const SPREADSHEET_EXCEL_WRITER_NE token identifier for character "<>"
*/
define('SPREADSHEET_EXCEL_WRITER_NE',"<>");
require_once('PEAR.php'); require_once('PEAR.php');
@ -1028,7 +1028,8 @@ class Parser extends PEAR
return($token); return($token);
break; break;
case SPREADSHEET_EXCEL_WRITER_LT: case SPREADSHEET_EXCEL_WRITER_LT:
if ($this->_lookahead == '=') { // it's a LE token // it's a LE or a NE token
if (($this->_lookahead == '=') or ($this->_lookahead == '>')) {
break; break;
} }
return($token); return($token);
@ -1042,6 +1043,9 @@ class Parser extends PEAR
case SPREADSHEET_EXCEL_WRITER_EQ: case SPREADSHEET_EXCEL_WRITER_EQ:
return($token); return($token);
break; break;
case SPREADSHEET_EXCEL_WRITER_NE:
return($token);
break;
default: default:
// if it's a reference // if it's a reference
if(eregi("^[A-I]?[A-Z][0-9]+$",$token) and if(eregi("^[A-I]?[A-Z][0-9]+$",$token) and
@ -1170,6 +1174,15 @@ class Parser extends PEAR
} }
$result = $this->_createTree('ptgEQ', $result, $result2); $result = $this->_createTree('ptgEQ', $result, $result2);
} }
elseif ($this->_current_token == SPREADSHEET_EXCEL_WRITER_NE)
{
$this->_advance();
$result2 = $this->_expression();
if($this->isError($result2)) {
return $result2;
}
$result = $this->_createTree('ptgNE', $result, $result2);
}
return $result; return $result;
} }
/** /**