Unity3D (Csharp) version
using UnityEngine;
using System.Collections;
using System.Runtime.InteropServices;
public class Cheetah2 : MonoBehaviour
{
//***********************************************************************************************************
// CHEETAH2 DECLARATIONS *
//***********************************************************************************************************
// DATABASE ROUTINES - Creation/Opening/Closing *
//***********************************************************************************************************
[DllImport ("Cheetah2", EntryPoint = "XDBCREATE_Z")] private static extern void xdbCreate(string dbFile, string AllFields);
[DllImport ("Cheetah2", EntryPoint = "XDBCREATEEXTENDED_Z")] private static extern void xdbCreateExtended(string tFileName, string AllFields, int MemoBlockSize, int Algorithm, string EncryptionKey);
[DllImport ("Cheetah2", EntryPoint = "XDBOPEN_Z")] private static extern int xdbOpen(string dbFile, string EncryptionKey);
[DllImport ("Cheetah2", EntryPoint = "XDBOPENEX_Z")] private static extern int xdbOpenEX(string dbFile, int AccessMode, int ShareMode, string EncryptionKey);
[DllImport ("Cheetah2", EntryPoint = "XDBALIAS_Z")] private static extern int xdbAlias(int dbHandle);
[DllImport ("Cheetah2", EntryPoint = "XDBSETALIAS_Z")] private static extern void xdbSetAlias(int dbHandle, string AliasName);
[DllImport ("Cheetah2", EntryPoint = "XDBCREATEFIELDS_Z")] private static extern void xdbCreateFields(string mFileName);
[DllImport ("Cheetah2", EntryPoint = "XDBCREATEFIELDSEXTENDED_Z")] private static extern void xdbCreateFieldsExtended(string mFileName, int MemoBlockSize, int Algorithm, string EncryptionKey);
[DllImport ("Cheetah2", EntryPoint = "XDBADDFIELD_Z")] private static extern void xdbAddField(string FieldInfoString);
[DllImport ("Cheetah2", EntryPoint = "XDBCLOSE_Z")] private static extern void xdbClose(int dbHandle);
[DllImport ("Cheetah2", EntryPoint = "XDBCLOSEALLINDEXES_Z")] private static extern void xdbCloseAllIndexes(int dbHandle);
//***********************************************************************************************************
// DATABASE ROUTINES - MultiUser % Locking *
//***********************************************************************************************************
[DllImport ("Cheetah2", EntryPoint = "XDBMULTIUSER_Z")] private static extern void xdbMultiUser(int TrueFalse, int NumRetries, int WaitTime);
[DllImport ("Cheetah2", EntryPoint = "XDBFAILEDLOCKINFO_Z")] private static extern void xdbFailedLockInfo(int DBFhandle, int zReason, int zUsername, int zWorkstation, int zLockDate, int zLockTime);
[DllImport ("Cheetah2", EntryPoint = "XDBSETEXCLUSIVELOCK_Z")] private static extern int xdbSetExclusiveLock(int DBFhandle);
[DllImport ("Cheetah2", EntryPoint = "XDBREMOVEEXCLUSIVELOCK_Z")] private static extern void xdbRemoveExclusiveLock(int DBFhandle, int LOCK_NUM);
[DllImport ("Cheetah2", EntryPoint = "XDBSETEDITLOCK_Z")] private static extern int xdbSetEditLock(int DBFhandle, int RecordNumber);
[DllImport ("Cheetah2", EntryPoint = "XDBREMOVEEDITLOCK_Z")] private static extern void xdbRemoveEditLock(int DBFhandle, int LOCK_NUM);
[DllImport ("Cheetah2", EntryPoint = "XDBISEDITLOCK_Z")] private static extern int xdbIsEditLock(int DBFhandle, int RecordNumber);
//***********************************************************************************************************
// DATABASE ROUTINES - Adding/Deleting Records *
//***********************************************************************************************************
[DllImport ("Cheetah2", EntryPoint = "XDBADDRECORD_Z")] private static extern void xdbAddRecord(int dbHandle);
[DllImport ("Cheetah2", EntryPoint = "XDBAPPENDRECORD_Z")] private static extern void xdbAppendRecord(int DBFhandle);
[DllImport ("Cheetah2", EntryPoint = "XDBCLEARBUFFER_Z")] private static extern void xdbClearBuffer(int dbHandle);
[DllImport ("Cheetah2", EntryPoint = "XDBPUTRECORD_Z")] private static extern void xdbPutRecord(int dbHandle, int RN);
[DllImport ("Cheetah2", EntryPoint = "XDBGETRECORD_Z")] private static extern void xdbGetRecord(int dbHandle, int RN);
[DllImport ("Cheetah2", EntryPoint = "XDBDELETERECORD_Z")] private static extern void xdbDeleteRecord(int DBFhandle, int RecordNumber);
[DllImport ("Cheetah2", EntryPoint = "XDBRECALLRECORD_Z")] private static extern void xdbRecallRecord(int DBFhandle, int RecordNumber);
[DllImport ("Cheetah2", EntryPoint = "XDBDELETED_Z")] private static extern int xdbDeleted(int DBFhandle, int RecordNumber);
[DllImport ("Cheetah2", EntryPoint = "XDBFLUSHDATABASE_Z")] private static extern void xdbFlushDatabase(int dbHandle);
[DllImport ("Cheetah2", EntryPoint = "XDBPACK_Z")] private static extern void xdbPack(int DBFhandle);
[DllImport ("Cheetah2", EntryPoint = "XDBZAP_Z")] private static extern void xdbZap(int DBFhandle);
[DllImport ("Cheetah2", EntryPoint = "XDBRECORDBUFFER_Z")] private static extern int xdbRecordBuffer(int DBFhandle);
[DllImport ("Cheetah2", EntryPoint = "XDBSPEEDAPPEND_Z")] private static extern void xdbSpeedAppend(int DBFhandle, int TrueFalse);
//***********************************************************************************************************
// DATABASE ROUTINES - Database Information *
//***********************************************************************************************************
[DllImport ("Cheetah2", EntryPoint = "XDBRECORDCOUNT_Z")] private static extern int xdbRecordCount(int dbHandle);
[DllImport ("Cheetah2", EntryPoint = "XDBFIELDCOUNT_Z")] private static extern int xdbFieldCount(int dbHandle);
[DllImport ("Cheetah2", EntryPoint = "XDBFIELDNUMBER_Z")] private static extern int xdbFieldNumber(int dbHandle, string FieldName);
[DllImport ("Cheetah2", EntryPoint = "XDBRECORDNUMBER_Z")] private static extern int xdbRecordNumber(int DBFhandle);
[DllImport ("Cheetah2", EntryPoint = "XDBLASTUPDATED_Z")] private static extern void xdbLastUpdated(int dbHandle, int YearNr, int MonthNr, int DayNr);
[DllImport ("Cheetah2", EntryPoint = "XDBFIELDINFO_Z")] private static extern void xdbFieldInfo(int DBFhandle, int FieldNumber, int zFieldName, int zFieldType, int FieldLength, int FieldDecimals);
[DllImport ("Cheetah2", EntryPoint = "XDBFIELDNAME_Z")] private static extern int xdbFieldName(int DBFhandle, int FieldNumber);
[DllImport ("Cheetah2", EntryPoint = "XDBFIELDTYPE_Z")] private static extern int xdbFieldType(int DBFhandle, int FieldNumber);
[DllImport ("Cheetah2", EntryPoint = "XDBFIELDLENGTH_Z")] private static extern int xdbFieldLength(int DBFhandle, int FieldNumber);
[DllImport ("Cheetah2", EntryPoint = "XDBFIELDDECIMALS_Z")] private static extern int xdbFieldDecimals(int DBFhandle, int FieldNumber);
[DllImport ("Cheetah2", EntryPoint = "XDBDATABASEHANDLES_Z")] private static extern void xdbDatabaseHandles(string DBFfilename, int CheetahHandle, int WindowsHandle);
[DllImport ("Cheetah2", EntryPoint = "XDBINDEXHANDLES_Z")] private static extern void xdbIndexHandles(string IDXfilename, int CheetahHandle, int WindowsHandle);
//***********************************************************************************************************
// DATABASE ROUTINES - Navigating the Database *
//***********************************************************************************************************
[DllImport ("Cheetah2", EntryPoint = "XDBEOF_Z")] private static extern int xdbEOF(int DBFhandle);
[DllImport ("Cheetah2", EntryPoint = "XDBBOF_Z")] private static extern int xdbBOF(int DBFhandle);
[DllImport ("Cheetah2", EntryPoint = "XDBMOVEFIRST_Z")] private static extern void xdbMoveFirst(int DBFhandle, int idxHandle);
[DllImport ("Cheetah2", EntryPoint = "XDBMOVENEXT_Z")] private static extern void xdbMoveNext(int DBFhandle, int idxHandle);
[DllImport ("Cheetah2", EntryPoint = "XDBMOVELAST_Z")] private static extern void xdbMoveLast(int DBFhandle, int idxHandle);
[DllImport ("Cheetah2", EntryPoint = "XDBMOVEPREV_Z")] private static extern void xdbMovePrev(int DBFhandle, int idxHandle);
[DllImport ("Cheetah2", EntryPoint = "XDBSKIPDELETED_Z")] private static extern void xdbSkipDeleted(int DBFhandle, int TrueFalse);
[DllImport ("Cheetah2", EntryPoint = "XDBKEYPOSITION_Z")] private static extern int xdbKeyPosition(int IDXhandle, int KeyPosition);
//***********************************************************************************************************
// DATABASE ROUTINES - Assigning Field Values *
//***********************************************************************************************************
[DllImport ("Cheetah2", EntryPoint = "XDBASSIGNFIELD_Z")] private static extern void xdbAssignField(int dbHandle, string FieldName, int FieldNumber, string FieldString);
[DllImport ("Cheetah2", EntryPoint = "XDBASSIGNFIELDINT_Z")] private static extern void xdbAssignFieldINT(int dbHandle, string FieldName, int FieldNumber, int FieldInteger);
[DllImport ("Cheetah2", EntryPoint = "XDBASSIGNFIELDLNG_Z")] private static extern void xdbAssignFieldLNG(int dbHandle, string FieldName, int FieldNumber, int FieldLong);
[DllImport ("Cheetah2", EntryPoint = "XDBASSIGNFIELDSNG_Z")] private static extern void xdbAssignFieldSNG(int dbHandle, string FieldName, int FieldNumber, float FieldSingle);
//***********************************************************************************************************
// DATABASE ROUTINES - Retrieving Field Values *
//***********************************************************************************************************
[DllImport ("Cheetah2", EntryPoint = "XDBFIELDVALUE_Z")] private static extern string xdbFieldValue(int DBFhandle, string FieldName, int FieldCode);
[DllImport ("Cheetah2", EntryPoint = "XDBFIELDVALUEINT_Z")] private static extern int xdbFieldValueINT(int DBFhandle, string FieldName, int FieldCode);
[DllImport ("Cheetah2", EntryPoint = "XDBFIELDVALUELNG_Z")] private static extern int xdbFieldValueLNG(int DBFhandle, string FieldName, int FieldCode);
[DllImport ("Cheetah2", EntryPoint = "XDBFIELDVALUESNG_Z")] private static extern float xdbFieldValueSNG(int DBFhandle, string FieldName, int FieldCode);
[DllImport ("Cheetah2", EntryPoint = "XDBFIELDPADDING_Z")] private static extern void xdbFieldPadding(int DBFhandle, int TrueFalse);
//***********************************************************************************************************
// INDEX ROUTINES - Creation/Opening/Closing *
//***********************************************************************************************************
[DllImport ("Cheetah2", EntryPoint = "XDBCREATEINDEX_Z")] private static extern void xdbCreateIndex(string iFilename, int dbHandle, string IndexExpression, int Duplicates);
[DllImport ("Cheetah2", EntryPoint = "XDBOPENINDEX_Z")] private static extern int xdbOpenIndex(string iFilename, int dbHandle);
[DllImport ("Cheetah2", EntryPoint = "XDBCLOSEINDEX_Z")] private static extern void xdbCloseIndex(int DBFhandle, int idxHandle);
[DllImport ("Cheetah2", EntryPoint = "XDBREINDEX_Z")] private static extern void xdbReindex(int DBFhandle, int idxHandle, int ContinueOrError);
[DllImport ("Cheetah2", EntryPoint = "XDBREINDEXALL_Z")] private static extern void xdbReindexAll(int DBFhandle, int ContinueOrError);
[DllImport ("Cheetah2", EntryPoint = "XDBSEEK_Z")] private static extern int xdbSeek(int DBFhandle, int idxHandle, string LookForKey);
[DllImport ("Cheetah2", EntryPoint = "XDBSEEKNEXT_Z")] private static extern int xdbSeekNext(int dbHandle, int idxHandle, string LookForKey);
[DllImport ("Cheetah2", EntryPoint = "XDBSEEKPARTIAL_Z")] private static extern int xdbSeekPartial(int dbHandle, int idxHandle, string LookForKey);
[DllImport ("Cheetah2", EntryPoint = "XDBSEEKPARTIALNEXT_Z")] private static extern int xdbSeekPartialNext(int dbHandle, int idxHandle, string LookForKey);
[DllImport ("Cheetah2", EntryPoint = "XDBSETCALLBACK_Z")] private static extern void xdbSetCallback(int hWnd);
//***********************************************************************************************************
// INDEX ROUTINES - Index information *
//***********************************************************************************************************
[DllImport ("Cheetah2", EntryPoint = "XDBKEYLENGTH_Z")] private static extern int xdbKeyLength(int DBFhandle, int idxHandle);
[DllImport ("Cheetah2", EntryPoint = "XDBKEYCOUNT_Z")] private static extern int xdbKeyCount(int DBFhandle, int idxHandle);
[DllImport ("Cheetah2", EntryPoint = "XDBKEYUNIQUE_Z")] private static extern int xdbKeyUnique(int DBFhandle, int idxHandle);
[DllImport ("Cheetah2", EntryPoint = "XDBKEYEXPRESSION_Z")] private static extern int xdbKeyExpression(int DBFhandle, int idxHandle);
[DllImport ("Cheetah2", EntryPoint = "XDBMKL_Z")] private static extern void xdbMKL(int LongValue);
[DllImport ("Cheetah2", EntryPoint = "XDBMKI_Z")] private static extern void xdbMKI(int IntegerValue);
//***********************************************************************************************************
// QUERY ROUTINES *
//***********************************************************************************************************
[DllImport ("Cheetah2", EntryPoint = "XDBCREATEQUERY_Z")] private static extern int xdbCreateQuery(int DBFhandle);
[DllImport ("Cheetah2", EntryPoint = "XDBQUERYCONDITION_Z")] private static extern void xdbQueryCondition(int QueryHandle, int JoinPhrase, string FieldName, int Equality, string vParameter1, string vParameter2);
[DllImport ("Cheetah2", EntryPoint = "XDBQUERYSORT_Z")] private static extern void xdbQuerySort(int QueryHandle, string FieldName, int SortDirection);
[DllImport ("Cheetah2", EntryPoint = "XDBQUERYEXECUTE_Z")] private static extern void xdbQueryExecute(int QueryHandle);
[DllImport ("Cheetah2", EntryPoint = "XDBQUERYSUM_Z")] private static extern float xdbQuerySUM_Z(int QueryHandle, string FieldName);
[DllImport ("Cheetah2", EntryPoint = "XDBQUERYMIN_Z")] private static extern float xdbQueryMIN_Z(int QueryHandle, string FieldName);
[DllImport ("Cheetah2", EntryPoint = "XDBQUERYMAX_Z")] private static extern float xdbQueryMAX_Z(int QueryHandle, string FieldName);
[DllImport ("Cheetah2", EntryPoint = "XDBQUERYAVG_Z")] private static extern float xdbQueryAVG_Z(int QueryHandle, string FieldName);
[DllImport ("Cheetah2", EntryPoint = "XDBQUERYDISTINCT_Z")] private static extern void xdbQueryDistinct(int QueryHandle, string DistinctFieldName);
[DllImport ("Cheetah2", EntryPoint = "XDBHTMLSTRIPTAG_Z")] private static extern void xdbHtmlStripTag(int QueryHandle, int TrueFalse);
[DllImport ("Cheetah2", EntryPoint = "XDBDESTROYQUERY_Z")] private static extern void xdbDestroyQuery(int QueryHandle);
[DllImport ("Cheetah2", EntryPoint = "XDBQUERYINDEX_Z")] private static extern int xdbQueryIndex(int QueryHandle);
//***********************************************************************************************************
// MISCELLANEOUS ROUTINES *
//***********************************************************************************************************
[DllImport ("Cheetah2", EntryPoint = "XDBRESETERROR_Z")] private static extern void xdbResetError();
[DllImport ("Cheetah2", EntryPoint = "XDBERROR_Z")] private static extern int xdbError();
[DllImport ("Cheetah2", EntryPoint = "XDBVERSION_Z")] private static extern int xdbVersion();
[DllImport ("Cheetah2", EntryPoint = "XDBREGISTEREDTO_Z")] private static extern int xdbRegisteredTo();
[DllImport ("Cheetah2", EntryPoint = "XDBDEBUGMODE_Z")] private static extern void xdbDebugMode(int UserMode);
[DllImport ("Cheetah2", EntryPoint = "XDBAPPPATH_Z")] private static extern int xdbAppPath();
[DllImport ("Cheetah2", EntryPoint = "XDBACTIVATE_Z")] private static extern void xdbActivate(int ActivateNumber);
[DllImport ("Cheetah2", EntryPoint = "XDBFREEDLL_Z")] private static extern void xdbFreeDLL();
[DllImport ("Cheetah2", EntryPoint = "XDBISENCRYPTED_Z")] private static extern int xdbIsEncrypted(int DBFhandle);
[DllImport ("Cheetah2", EntryPoint = "XDBENCRYPTIONMETHOD_Z")] private static extern int xdbEncryptionMethod(int DBFhandle);
[DllImport ("Cheetah2", EntryPoint = "XDBTEMPFILENAME_Z")] private static extern int xdbTempFileName();
//***********************************************************************************************************
// DATE ROUTINES *
//***********************************************************************************************************
[DllImport ("Cheetah2", EntryPoint = "XDBDAYSAPART_Z")] private static extern int xdbDaysApart(string DateFrom, string DateTo);
[DllImport ("Cheetah2", EntryPoint = "XDBDAYSINMONTH_Z")] private static extern int xdbDaysInMonth(int Year, int Month);
[DllImport ("Cheetah2", EntryPoint = "XDBADDDATE_Z")] private static extern void xdbAddDate(string StartDate, int Days);
[DllImport ("Cheetah2", EntryPoint = "XDBNAMEOFDAY_Z")] private static extern int xdbNameOfDay(string DateCheck);
[DllImport ("Cheetah2", EntryPoint = "XDBTODAYSDATE_Z")] private static extern int xdbTodaysDate();
[DllImport ("Cheetah2", EntryPoint = "XDBVALIDDATE_Z")] private static extern int xdbValidDate(string DateCheck);
[DllImport ("Cheetah2", EntryPoint = "XDBDATETOJULIAN_Z")] private static extern int xdbDateToJulian(string DateString);
[DllImport ("Cheetah2", EntryPoint = "XDBJULIANTODATE_Z")] private static extern int xdbJulianToDate(int JulianNumber);
[DllImport ("Cheetah2", EntryPoint = "CTOD_Z")] private static extern int CTOD(string PBDate);
[DllImport ("Cheetah2", EntryPoint = "DTOS_Z")] private static extern int DTOS(string xDate);
//***********************************************************************************************************
const int XDBTRUE = 1;
const int XDBFALSE = 0;
const int MAX_INDEXES = 100;
const int MAX_FIELDS = 1000;
const int MAX_CONDITIONS = 50;
const int MAX_INDEXKEYS = 6;
const int MAX_CHARFIELD_SIZE = 256;
const int MAX_NUMFIELD_SIZE = 20;
const int ENCRYPT_NONE = 0;
const int ENCRYPT_RC4 = 1;
const int ENCRYPT_KEYEDXOR = 2;
const int ENCRYPT_SUPERSCRAMBLE = 3;
const int QUERY_AND = 1;
const int QUERY_OR = 2;
const int EQUAL_TO = 1;
const int NOT_EQUAL_TO = 2;
const int LESS_THAN = 3;
const int GREATER_THAN = 4;
const int LESS_THAN_EQUAL_TO = 5;
const int GREATER_THAN_EQUAL_TO = 6;
const int CONTAINS = 7;
const int BETWEEN = 8;
const int SUM = 9;
const int MINIMUM = 10;
const int MAXIMUM = 11;
const int AVERAGE = 12;
const int WILDCARD = 13;
const int SORT_ASCEND = 1;
const int SORT_DESCEND = 0;
const int XDBREADONLY = 0;
const int XDBWRITEONLY = 1;
const int XDBREADWRITE = 2;
const int XDBDENYREADWRITE = 1;
const int XDBDENYWRITE = 2;
const int XDBDENYREAD = 3;
const int XDBDENYNONE = 4;
const int XDBUNIQUE_CONTINUE = 0;
const int XDBUNIQUE_ERROR = 1;
const int FILE_ACCESS_ERROR = 4000;
const int INVALID_DATE_FORMAT = 4001;
const int FILE_READ_ONLY = 4002;
const int FILE_WRITE_ONLY = 4003;
const int INVALID_FILENAME = 4004;
const int ENGINE_NOT_INITIALIZED = 5000;
const int FILE_NOT_FOUND = 5001;
const int TOO_MANY_FILES_OPEN = 5002;
const int INVALID_STRUCTURE = 5003;
const int FILE_NOT_OPEN = 5004;
const int RECORD_OUT_OF_RANGE = 5005;
const int FIELD_NOT_FOUND = 5006;
const int INVALID_FILE_HANDLE = 5007;
const int INVALID_FIELD_LENGTH = 5008;
const int DUPLICATE_ALIAS_NAME = 5009;
const int INVALID_ACCESSMODE = 5010;
const int INVALID_SHAREMODE = 5011;
const int RECORD_BUSY = 5012;
const int INCOMPATIBLE_MEMO_FIELDS = 5013;
const int RECORDSIZE_EXCEEDED = 5014;
const int INVALID_ENCRYPTIONKEY = 5015;
const int DATABASE_NOT_OPEN = 7000;
const int TOO_MANY_INDEXES_OPEN = 7002;
const int INVALID_KEY_EXPRESSION = 7003;
const int INDEX_NOT_OPEN = 7004;
const int INDEX_UNIQUE_KEYS_ONLY = 7005;
const int SEEK_NO_INDEX_SET = 7006;
const int INDEX_NOT_FOUND = 7007;
const int QUERY_NOT_GENERATED = 9000;
const int QUERY_INVALID_FIELDNAME = 9001;
const int QUERY_INVALID_COMPARISON = 9002;
const int QUERY_MISSING_DELIMITERS = 9003;
const int QUERY_MISSING_SEARCHSTRING = 9004;
const int QUERY_TOO_MANY_EXPRESSIONS = 9005;
const int QUERY_EXPECTED_NUMERIC_STRING = 9006;
const int QUERY_ERROR_GETRECORD = 9007;
const int QUERY_INVALID_HANDLE = 9008;
const int QUERY_INVALID_JOINPHRASE = 9009;
const int QUERY_NO_WILDCARD_FOUND = 9010;
const int QUERY_INVALID_PARENTHESIS = 9011;
//***********************************************************************************************************
// END OF CHEETAH2 DECLARATIONS *
//***********************************************************************************************************
void Start ()
{
}
}
|