ultimatepp/uppdev/MyDbase/compare.cpp
cxl 4a1c627474 Adding uppdev....
git-svn-id: svn://ultimatepp.org/upp/trunk@328 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2008-08-15 08:36:24 +00:00

83 lines
2 KiB
C++

#include <Core/Core.h>
#include "dbase.h"
#include "compare.h"
bool IsEqual(const Value &val1, const String &s) {
if(val1.GetType() == INT_V) {
Value val2 = (int)atoi(~s);
return(bool)((int)val1==(int)val2);
}
else if(val1.GetType() == DOUBLE_V) {
Value val2 = (double)atof(~s);
return(bool)((double)val1==(double)val2);
}
else if(val1.GetType() == STRING_V) {
return(bool)(strcmp((String)val1, s)==0);
}
else return false;
}
bool IsBigger(const Value &val1, const String &s) {
if(val1.GetType() == INT_V) {
Value val2 = (int)atoi(~s);
return(bool)((int)val1>(int)val2);
}
else if(val1.GetType() == DOUBLE_V) {
Value val2 = (double)atof(~s);
return(bool)((double)val1>(double)val2);
}
else if(val1.GetType() == STRING_V) {
return(bool)(strcmp((String)val1, s)>0);
}
else return false;
}
bool IsSmaller(const Value &val1, const String &s) {
if(val1.GetType() == INT_V) {
Value val2 = (int)atoi(~s);
return(bool)((int)val1<(int)val2);
}
else if(val1.GetType() == DOUBLE_V) {
Value val2 = (double)atof(~s);
return(bool)((double)val1<(double)val2);
}
else if(val1.GetType() == STRING_V) {
return(bool)(strcmp((String)val1, s)<0);
}
else return false;
}
bool IsBiggerEqual(const Value &val1, const String &s) {
if(val1.GetType() == INT_V) {
Value val2 = (int)atoi(~s);
return(bool)((int)val1>=(int)val2);
}
else if(val1.GetType() == DOUBLE_V) {
Value val2 = (double)atof(~s);
return(bool)((double)val1>=(double)val2);
}
else if(val1.GetType() == STRING_V) {
return(bool)(strcmp((String)val1, s)>=0);
}
else return false;
}
bool IsSmallerEqual(const Value &val1, const String &s) {
if(val1.GetType() == INT_V) {
Value val2 = (int)atoi(~s);
return(bool)((int)val1<=(int)val2);
}
else if(val1.GetType() == DOUBLE_V) {
Value val2 = (double)atof(~s);
return(bool)((double)val1<=(double)val2);
}
else if(val1.GetType() == STRING_V) {
return(bool)(strcmp((String)val1, s)<=0);
}
else return false;
}