| a-a |  |
| example stat | ... a-a... |
| a-f |  |
| example stat | ... a-f... |
| a-k |  |
| example stat | ... a-k... |
| a-p |  |
| example stat | ... a-p... |
| a-u |  |
| example stat | ... a-u... |
| a-z |  |
| example stat | ... a-z... |
| accepted |  |
| realisamdoc setindex | ...-2 Incorrect constant (0 or 1 only accepted) ... |
| access |  |
| example principle | ...Basic Sequential Access... |
| example principle | ...Direct Access... |
| realisamdoc deleteisam | ...ovide the right full name for the index and the data file. After deleting these file, It is recommended to create a new database, and not try to access function through the old db pointer. ... |
| realisamdoc open | ...em works with multiples of 1024 bytes, and we recommand to work with datalen+8 such as 120 , 248, 504, 1016,2040 ... bytes in order to improve the access time. ... |
| realisamdoc overview | ... Real Isam is a tool used to manage files using the well known ISAM method (Indexed Sequential Access Method). This method is still very convenient for applications such as Internet, Intranet, Text database retrieval, when you need to store and get variable length documents at very high spee... |
| realisamdoc overview | ...ifferent kind of application : Text Retrieval, CGI Internet, databases to store HTML pages, scripts and HTML macros, XML records, with a very fast access time. Tests were conducted to store million of keys and records associated. ... |
| realisamdoc overview | ...Fast access to data ... |
| accessed |  |
| example principle | ...ntial files should installed in a subdirectory ("dictionary") of your application. The program will build an Isam database, where entries can be accessed directly or sequentially. ... |
| according |  |
| realisamdoc open | ... filename = filename, with no extension (this function opens or creates the Isam files , according the extension required) datalen = Data physical block length . This value is not the real data length, but an average size. realisam will write data in consecutive blocks of datalen + 8 bytes. If re... |
| realisamdoc overview | ...ational databases, ignores the field notion, and does not try to classify data in numeric, date or text fields : it writes binary or text data according the length specified, and returns all these bytes when a reading operation is required. It is the responsability of the developer to organiz... |
| acquisition |  |
| realisamdoc readdirect | ...Direct search of a key in a specified index, and acquisition of the data pointer associated. ... |
| action |  |
| example formclose | ... Action before leaving... |
| example formclose | ... void __fastcall TMainForm::FormClose(TObject *Sender, TCloseAction &Action) { dict->CloseEngine(); Action = caFree; } //--------------------------------------------------------------------------- ... |
| example formclose | ...CloseEngine(); Action = caFree; } //--------------------------------------------------------------------------- ... |
| example include | ...TButton *btVersion; void __fastcall FormCreate(TObject *Sender); void __fastcall FormClose(TObject *Sender, TCloseAction &Action); void __fastcall btStartClick(TObject *Sender); void __fastcall btSearchClick(TObject *Sender); void __fastcall btFir... |
| index_summary item37 | ...Action before leaving... |
| actions |  |
| example stat | ... Read/Write operations per second, each operation includes the following actions: ... |
| actually |  |
| realisamdoc version | ...Version(ver); // ver stores the string "Version x.y" (actually Version 2.3) ... |
| adapted |  |
| realisamdoc overview | ...operation is required. It is the responsability of the developer to organize records and to know how to extract the fields. Realisam is better adapted to store variable length text data like XML strings. ... |
| add |  |
| example add | ... Add an entry... |
| example principle | ...Add a New Entry ... |
| added |  |
| example add | ...SimpleText="Entry Added"; } //--------------------------------------------------------------------------- ... |
| address |  |
| example update | ... void __fastcall TMainForm::btUpdateClick(TObject *Sender) { char buffer[BUF_LEN]; int rc; // M_recdata is supposed to store the address of the data record mWord->GetTextBuf(buffer,BUF_LEN); rc = dict->RewriteRecord(buffer, strlen(buffer)+1,M_recdata); StatusBar1->SimpleText="Entry U... |
| realisamdoc rewriterecord | ...recdata : data record address ... |
| realisamdoc writekey | ...Write a key in an index of the database. A data record record address is associated with this key. ... |
| realisamdoc writekey | ... Index : index number (0 to 63) Key : Key value recdata : pointer (address of the data record in the file .DAT. This value is provided when calling the function GetNewRecordNumber. ... |
| realisamdoc writerecord | ...ptr is a pointer on the address of buffer. ... |
| again |  |
| realisamdoc closereopen | ... This function is used to save data, closing the files, and open them again for further processing. ... |
| realisamdoc setindex | .... If the index was declared with a unique type of key, it returns an error when trying to write again the same key. For indexes with duplicate keys, there is no limit to the number of duplicate keys. If this function is not called, the default value is 0 (no duplicate keys). ... |
| allocate |  |
| realisamdoc readrecord | ...located for this transfer must be large enough to receive the data. If the length is totally unknown, a call to RecordLength function allows to allocate the right amount of memory. ReadRecord restores the entire data written previously, including binary data. For character strings stored without ... |
| realisamdoc recordlength | ...return the length of a data record. This function allows to know the size of a record before reading it, and the developer can allocate memory depending on the size returned. ... |
| allocated |  |
| realisamdoc open | ...sam will write data in consecutive blocks of datalen + 8 bytes. If real length is less than datalen, a physical block of datalen+8 bytes will be allocated and written. If data length is bigger than datalen, a second block is allocated, and so on... The Windows file management system works with mult... |
| realisamdoc open | ...s less than datalen, a physical block of datalen+8 bytes will be allocated and written. If data length is bigger than datalen, a second block is allocated, and so on... The Windows file management system works with multiples of 1024 bytes, and we recommand to work with datalen+8 such as 120 , 248, ... |
| realisamdoc readprev | ............... // procedure int rc, recdata; char ReturnKey[100]; // example : read a file in the reverse order // buffer is supposed to be allocated rc = db->ReadLast(0,ReturnKey,&recdata); while (rc) { rc = db->ReadRecord(buffer,recdata); // process data here ............. |
| realisamdoc readrecord | ... Read a data record. A character string pointer un pointeur is provided as a receiving buffer. The memory allocated for this transfer must be large enough to receive the data. If the length is totally unknown, a call to RecordLength function allows to allocate the right amount of memory. ReadRec... |
| allow |  |
| example principle | ... Allow or Not Allow Duplicate Keys ... |
| example principle | ... Allow or Not Allow Duplicate Keys ... |
| allowed |  |
| example duplicate | ...SetIndexMode(INDEX,multi); // if MULTI == 1 duplicate key allowed // nbrecords=0; nbseq=0; nbisam=0; rc = dict->ReadFirstKey(INDEX,RetKey,&recdata); while (rc) { rc=dict->ReadRecord(buffer,recdata); recdata_dupli=dupli->GetNewRecordNumber(); rc = dupli->WriteKey(INDEX,Re... |
| example principle | ...Indexation with duplicate keys allowed... |
| example restore | ...SetIndexMode(INDEX,multi); // if MULTI == 1 duplicate key allowed rc = dict->SetIndexMode(INDEX+1,multi); nbrecords=0; strcpy(name,dict_directory);strcat(name,"dict.txt"); fp = fopen(name,"r"); if (!fp) {Application->MessageBoxA("File DICT.txt not Found","File Not Found",MB_OK); ... |
| example start | ...SetIndexMode(INDEX,multi); // if MULTI == 1 duplicate key allowed rc = dict->SetIndexMode(INDEX+1,multi); nbrecords=0; // read contents of the 1-26 HTML Files (in alphabetic reverse order, just for fun) for (i=nbf;i>=0;i--) // for (i=0;i... |
| realisamdoc writekey | ...0 = Key already existing (if duplicate keys not allowed) ... |
| realisamdoc writekey | ...WriteKey(1,"politics",recdata); // on index 1 , duplicate keys allowed ................. // End processing rc = db1->CloseEngine(); rc = db2->CloseEngine(); ... |
| allows |  |
| example formcreate | ...urrentDir(); strcpy(base_directory,Dir.c_str()); strcpy(dict_directory,base_directory); strcat(dict_directory,"\\dictionary\\"); // REALISAM ALLOWS 64 INDEXES : Value from 0 to 63 INDEX=0; strcpy(name,dict_directory);strcat(name,"dict"); dict = new realisam(); rc = dict->OpenEn... |
| realisamdoc readfirst | ...read the first key on a specified. This function allows to start to read the first key of a specified index. ... |
| realisamdoc readrecord | ...e memory allocated for this transfer must be large enough to receive the data. If the length is totally unknown, a call to RecordLength function allows to allocate the right amount of memory. ReadRecord restores the entire data written previously, including binary data. For character strings stor... |
| realisamdoc recordlength | ...return the length of a data record. This function allows to know the size of a record before reading it, and the developer can allocate memory depending on the size returned. ... |
| realisamdoc setindex | ... Define is keys are unique or duplicate for a specified index. realisam allows 64 index per database, from ... |
| alpes |  |
| example formcreate | ...Caption = "Alpes Software - " + AnsiString(tmp); // Get Number of Keys rc = dict->NumberOfKeys(INDEX); lKeys->Caption = AnsiString(rc); if (rc) First(); } //--------------------------------------------------------------------------- ... |
| alphabet |  |
| example principle | ...Number of Files to index : 26-1 (26 = all letters of the alphabet) ... |
| alphabetic |  |
| example start | ...SetIndexMode(INDEX+1,multi); nbrecords=0; // read contents of the 1-26 HTML Files (in alphabetic reverse order, just for fun) for (i=nbf;i>=0;i--) // for (i=0;i... |
| realisamdoc readdirect | ... 0 : Key not found (Retkey contains a key that is the closest key, usually the key before the searched key (in the alphabetic order). 1 : Key found : ReturnKey contains also Key ... |
| already |  |
| realisamdoc writekey | ...0 = Key already existing (if duplicate keys not allowed) ... |
| always |  |
| realisamdoc open | ...e indx parameter,and the data file have the extension specified in the dat parameter. Realisam creates these files if they don't exist. Notice : always open / reopen the database with the same physical block size. ... |
| amd |  |
| example stat | ...These measures were conducted using a desktop PC, under Windows XP-SP2, processor AMD Athlon XP 2800 (2.0 Ghz), RAM 512 MB, Hard Drive 120 GBytes. Values can vary depending on the PC characteristics. ... |
| amount |  |
| realisamdoc readrecord | ...ransfer must be large enough to receive the data. If the length is totally unknown, a call to RecordLength function allows to allocate the right amount of memory. ReadRecord restores the entire data written previously, including binary data. For character strings stored without a 0x00 terminator,... |
| ansistring |  |
| example backup | ...Caption = AnsiString(nbisam); gettime(&t); nbsec2 = t.ti_hour*3600+t.ti_min*60 + t.ti_sec; int elapsed = nbsec2-nbsec1; lElap->Caption = AnsiString(elapsed); First(); Screen->Cursor = oldCursor; Beep(); EnableButtons(); Application->MessageBoxA("Backup Done","RealIsam",MB... |
| example backup | ...Caption = AnsiString(elapsed); First(); Screen->Cursor = oldCursor; Beep(); EnableButtons(); Application->MessageBoxA("Backup Done","RealIsam",MB_OK); } //--------------------------------------------------------------------------- ... |
| example backup | ...SimpleText = "Number of Keys: " + AnsiString(nbisam); lRecords->Caption = AnsiString(nbseq); lKeys->Caption = AnsiString(nbisam); gettime(&t); nbsec2 = t.ti_hour*3600+t.ti_min*60 + t.ti_sec; int elapsed = nbsec2-nbsec1; lElap->Caption = AnsiString(elapsed); First(); Screen->... |
| example backup | ...Caption = AnsiString(nbseq); lKeys->Caption = AnsiString(nbisam); gettime(&t); nbsec2 = t.ti_hour*3600+t.ti_min*60 + t.ti_sec; int elapsed = nbsec2-nbsec1; lElap->Caption = AnsiString(elapsed); First(); Screen->Cursor = oldCursor; Beep(); EnableButtons(); Application->... |
| example first | ...Caption=AnsiString(RetKey); eWord->Text=AnsiString(RetKey); if (rc==1) { rc=dict->ReadRecord(buffer,recdata); M_recdata=recdata; strcpy(M_Key,RetKey); if (rc) mWord->SetTextBuf(buffer); } } void __fastcall TMainForm::btFirstClick(TObject *Sender) { First(); } /... |
| example first | ...Text=AnsiString(RetKey); if (rc==1) { rc=dict->ReadRecord(buffer,recdata); M_recdata=recdata; strcpy(M_Key,RetKey); if (rc) mWord->SetTextBuf(buffer); } } void __fastcall TMainForm::btFirstClick(TObject *Sender) { First(); } //------------------------------------... |
| example formcreate | ... /////////////////////////////////////////////////////////// void __fastcall TMainForm::FormCreate(TObject *Sender) { char name[250]; AnsiString Dir; int rc; int mode; char tmp[100]; Dir = GetCurrentDir(); strcpy(base_directory,Dir.c_str()); strcpy(dict_directory,base_directory); s... |
| example formcreate | ...Caption = "Alpes Software - " + AnsiString(tmp); // Get Number of Keys rc = dict->NumberOfKeys(INDEX); lKeys->Caption = AnsiString(rc); if (rc) First(); } //--------------------------------------------------------------------------- ... |
| example formcreate | ...Caption = AnsiString(rc); if (rc) First(); } //--------------------------------------------------------------------------- ... |
| example last | ...Caption=AnsiString(RetKey); eWord->Text=AnsiString(RetKey); if (rc==1) { mWord->Clear(); rc=dict->ReadRecord(buffer,recdata); M_recdata=recdata; strcpy(M_Key,RetKey); if (rc) mWord->SetTextBuf(buffer); } } //---------------------------------------------------------... |
| example last | ...Text=AnsiString(RetKey); if (rc==1) { mWord->Clear(); rc=dict->ReadRecord(buffer,recdata); M_recdata=recdata; strcpy(M_Key,RetKey); if (rc) mWord->SetTextBuf(buffer); } } //--------------------------------------------------------------------------- ... |
| example next | ...Caption=AnsiString(RetKey); eWord->Text=AnsiString(RetKey); if (rc==1) { mWord->Clear(); rc=dict->ReadRecord(buffer,recdata); M_recdata=recdata; strcpy(M_Key,RetKey); if (rc) mWord->SetTextBuf(buffer); } } //--------------------------------------------------------... |
| example next | ...Text=AnsiString(RetKey); if (rc==1) { mWord->Clear(); rc=dict->ReadRecord(buffer,recdata); M_recdata=recdata; strcpy(M_Key,RetKey); if (rc) mWord->SetTextBuf(buffer); } } //--------------------------------------------------------------------------- ... |
| example prev | ...Caption=AnsiString(RetKey); eWord->Text=AnsiString(RetKey); if (rc==1) { mWord->Clear(); rc=dict->ReadRecord(buffer,recdata); M_recdata=recdata; strcpy(M_Key,RetKey); if (rc) mWord->SetTextBuf(buffer); } } //---------------------------------------------------------... |
| example prev | ...Text=AnsiString(RetKey); if (rc==1) { mWord->Clear(); rc=dict->ReadRecord(buffer,recdata); M_recdata=recdata; strcpy(M_Key,RetKey); if (rc) mWord->SetTextBuf(buffer); } } //--------------------------------------------------------------------------- ... |
| example restore | ...SimpleText = "Number of Keys: " + AnsiString(nbk); lRecords->Caption = AnsiString(nbisam); lKeys->Caption = AnsiString(nbk); gettime(&t); nbsec2 = t.ti_hour*3600+t.ti_min*60 + t.ti_sec; int elapsed = nbsec2-nbsec1; lElap->Caption = AnsiString(elapsed); First(); ... |
| example restore | ...Caption = AnsiString(nbisam); lKeys->Caption = AnsiString(nbk); gettime(&t); nbsec2 = t.ti_hour*3600+t.ti_min*60 + t.ti_sec; int elapsed = nbsec2-nbsec1; lElap->Caption = AnsiString(elapsed); First(); Screen->Cursor = oldCursor; Beep(); EnableButtons()... |
| example restore | ...Caption = AnsiString(nbk); gettime(&t); nbsec2 = t.ti_hour*3600+t.ti_min*60 + t.ti_sec; int elapsed = nbsec2-nbsec1; lElap->Caption = AnsiString(elapsed); First(); Screen->Cursor = oldCursor; Beep(); EnableButtons(); Application->MessageBoxA("Restorati... |
| example restore | ...Caption = AnsiString(elapsed); First(); Screen->Cursor = oldCursor; Beep(); EnableButtons(); Application->MessageBoxA("Restoration Done","RealIsam",MB_OK); } //--------------------------------------------------------------------------- ... |
| example search | ...Caption=AnsiString(RetKey); eWord->Text=AnsiString(RetKey); if (rc==1) { rc=dict->ReadRecord(buffer,recdata); if (rc) { mWord->Clear(); mWord->SetTextBuf(buffer); } } else { mWord->SetTextBuf("Word Not Found"); } M_recdata=recdata... |
| example search | ...Text=AnsiString(RetKey); if (rc==1) { rc=dict->ReadRecord(buffer,recdata); if (rc) { mWord->Clear(); mWord->SetTextBuf(buffer); } } else { mWord->SetTextBuf("Word Not Found"); } M_recdata=recdata; strcpy(M_Key,RetKey); } ... |
| example start | ...Caption = AnsiString(nbrecords); lKeys->Caption = AnsiString(nbk); gettime(&t); nbsec2 = t.ti_hour*3600+t.ti_min*60 + t.ti_sec; hund2 = nbsec2*100 + t.ti_hund; float diff = float(hund2-hund1); sprintf(tmp,"%.02f",diff/100.0); int elapsed = nbsec2-nbsec1; lElap->Caption =... |
| example start | ...Caption = AnsiString(nbk); gettime(&t); nbsec2 = t.ti_hour*3600+t.ti_min*60 + t.ti_sec; hund2 = nbsec2*100 + t.ti_hund; float diff = float(hund2-hund1); sprintf(tmp,"%.02f",diff/100.0); int elapsed = nbsec2-nbsec1; lElap->Caption = AnsiString(tmp); // elapsed); // Clo... |
| example start | ...SimpleText = "Indexing " + AnsiString(tmp) + " File"; strcpy(html,dict_directory); strcat(html,tmp); fp = fopen(html,"r"); if (!fp) {Application->MessageBoxA(html,"File Not Found",MB_OK); EnableButtons(); Screen->Cursor = oldCursor; return... |
| example start | ...Caption = AnsiString(tmp); // elapsed); // Close ReOpen if (CheckBox1->Checked==true) { strcpy(name,dict_directory);strcat(name,"dict"); rc = dict->CloseReopen(name,120,"ndx","dat"); //120 = 128 - 8 rc = dict->SetIndexMode(INDEX,multi); rc = dict->SetIndexMode(INDEX+1... |
| example wordmouseup | ...Text=AnsiString(tmp); Search(); } //--------------------------------------------------------------------------- ... |
| api |  |
| index_summary item4 | ...sam API... |
| realisamdoc api | ...REAL ISAM API... |
| applic |  |
| realisamdoc close | ... //APPLIC.H #include "realisam.h" ................... realisam *db1; realisam *db2; .................. //APPLIC.CPP // constructor or setup ................ db1 = new realisam(); db2 = new realisam(); ................ // routine int rc; rc = db1->OpenEngine("htmlfile",248,"... |
| realisamdoc close | ... //APPLIC.H #include "realisam.h" ................... realisam *db1; realisam *db2; .................. //APPLIC.CPP // constructor or setup ................ db1 = new realisam(); db2 = new realisam(); ................ // routine int rc; rc = db1->OpenEngine("htmlfile",248,"... |
| realisamdoc closereopen | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor ............... db = new realisam(); ................ // procedure int rc; ............... rc=db->CloseReopen("Samples",248,"ndx","dat"); ... |
| realisamdoc closereopen | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor ............... db = new realisam(); ................ // procedure int rc; ............... rc=db->CloseReopen("Samples",248,"ndx","dat"); ... |
| realisamdoc constr | ... //APPLIC.H #include "realisam.h" ................... realisam *db1; realisam *db2; .................. //APPLIC.CPP // in constructor or setup ................ db1 = new realisam(); db2 = new realisam(); ................ ... |
| realisamdoc constr | ... //APPLIC.H #include "realisam.h" ................... realisam *db1; realisam *db2; .................. //APPLIC.CPP // in constructor or setup ................ db1 = new realisam(); db2 = new realisam(); ................ ... |
| realisamdoc deleteisam | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. // procedure ............... db->DeleteIsam("c:\\samples.ndx","c:\\samples.dat"); ... |
| realisamdoc deletekey | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor ................ db = new realisam(); id (db) rc=db->OpenEngine("Applic",504,"ndx","dat"); ................ // end of procedure db->CloseEngine(); ................ |
| realisamdoc deletekey | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor ................ db = new realisam(); id (db) rc=db->OpenEngine("Applic",504,"ndx","dat"); ................ // end of procedure db->CloseEngine(); ................ |
| realisamdoc deletekey | ...OpenEngine("Applic",504,"ndx","dat"); ................ // end of procedure db->CloseEngine(); ....................... ................. // procedure int rc, recdata; char ReturnKey[100]; rc = db->ReadDirectKey(1,"microsoft",ReturnKey,&recdata); if (rc) { rc=db->DeleteKey(1,... |
| realisamdoc deleterecord | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor ................ db = new realisam(); ................ // procedure int rc; int recdata; char RetKey[100]; rc = db->ReadDirectKey(0,"microsoft",RetKey,&recda... |
| realisamdoc deleterecord | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor ................ db = new realisam(); ................ // procedure int rc; int recdata; char RetKey[100]; rc = db->ReadDirectKey(0,"microsoft",RetKey,&recda... |
| realisamdoc getindex | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor ............... db = new realisam(); ................ // procedure int mode; ............... mode = db->GetIndexMode(12); ....................... ... |
| realisamdoc getindex | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor ............... db = new realisam(); ................ // procedure int mode; ............... mode = db->GetIndexMode(12); ....................... ... |
| realisamdoc getnew | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor ................ db = new realisam(); ................ // procedure int rc; int recdata; char key[30]; rc = db1->OpenEngine("htmlfile",248,"ndx","dat"); //... |
| realisamdoc getnew | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor ................ db = new realisam(); ................ // procedure int rc; int recdata; char key[30]; rc = db1->OpenEngine("htmlfile",248,"ndx","dat"); //... |
| realisamdoc number | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor or setup ................ db = new realisam(); ................ // procedure int nb,rc,recdata; char Key[10]; .......... nb = db->NumberOfKeys(0); // for ind... |
| realisamdoc number | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor or setup ................ db = new realisam(); ................ // procedure int nb,rc,recdata; char Key[10]; .......... nb = db->NumberOfKeys(0); // for ind... |
| realisamdoc open | ... //APPLIC.H #include "realisam.h" ................... realisam *db1; realisam *db2; .................. //APPLIC.CPP // constructor or setup ................ db1 = new realisam(); db2 = new realisam(); ................ // your routine .... int rc; rc = db1->OpenEngine("h... |
| realisamdoc open | ... //APPLIC.H #include "realisam.h" ................... realisam *db1; realisam *db2; .................. //APPLIC.CPP // constructor or setup ................ db1 = new realisam(); db2 = new realisam(); ................ // your routine .... int rc; rc = db1->OpenEngine("h... |
| realisamdoc readdirect | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor ................ db = new realisam(); ............... rc = db->OpenEngine("Applic",504,"ndx","dat"); ................ db->CloseEngine(); ....................... ... |
| realisamdoc readdirect | ...OpenEngine("Applic",504,"ndx","dat"); ................ db->CloseEngine(); ....................... // procedure int rc; char RetKey[100]; int recdata; rc = db->ReadDirectKey(0,"microsoft",RetKey,&recdata); if (rc) // ok : key found { rc = db->ReadRecord(buffer,recdata); ... |
| realisamdoc readdirect | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor ................ db = new realisam(); ............... rc = db->OpenEngine("Applic",504,"ndx","dat"); ................ db->CloseEngine(); ....................... ... |
| realisamdoc readfirst | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor or setup ................ db = new realisam(); ............... rc = db->OpenEngine("Applic",504,"ndx","dat"); ................ db->CloseEngine(); ....................... |
| realisamdoc readfirst | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor or setup ................ db = new realisam(); ............... rc = db->OpenEngine("Applic",504,"ndx","dat"); ................ db->CloseEngine(); ....................... |
| realisamdoc readfirst | ...OpenEngine("Applic",504,"ndx","dat"); ................ db->CloseEngine(); ....................... // procedure int rc; char RetKey[100]; int recdata; rc = db->ReadFirstKey(0,RetKey,&recdata); if (rc) // key found { rc = db->ReadRecord(buffer,recdata); buffer[rc]=0; ... |
| realisamdoc readlast | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor ................ db = new realisam(); ............... rc = db->OpenEngine("Applic",504,"ndx","dat"); ................ db->CloseEngine(); ....................... ... |
| realisamdoc readlast | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor ................ db = new realisam(); ............... rc = db->OpenEngine("Applic",504,"ndx","dat"); ................ db->CloseEngine(); ....................... ... |
| realisamdoc readlast | ...OpenEngine("Applic",504,"ndx","dat"); ................ db->CloseEngine(); ....................... // procedure int rc; char RetKey[100]; int recdata; rc = db->ReadLastKey(0,RetKey,&recdata); if (rc) // ok : key is found { rc = db->ReadRecord(buffer,recdata); buffer[r... |
| realisamdoc readnext | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor or setup ................ db = new realisam(); if (db) rc=db->OpenEngine("Applic",504,"ndx","dat"); ................ // end of processing db->CloseEngine(); ...... |
| realisamdoc readnext | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor or setup ................ db = new realisam(); if (db) rc=db->OpenEngine("Applic",504,"ndx","dat"); ................ // end of processing db->CloseEngine(); ...... |
| realisamdoc readnext | ...OpenEngine("Applic",504,"ndx","dat"); ................ // end of processing db->CloseEngine(); ....................... ................. // procedure int rc, recdata; char ReturnKey[100]; // sequentiel reading of an index rc = db->ReadFirstKey(0,ReturnKey,&recdata); while (rc) ... |
| realisamdoc readprev | ...OpenEngine("Applic",504,"ndx","dat"); ................ // end of process db->CloseEngine(); ....................... ................. // procedure int rc, recdata; char ReturnKey[100]; // example : read a file in the reverse order // buffer is supposed to be allocated rc = db->... |
| realisamdoc readprev | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor or setup ................ db = new realisam(); id (db) rc=db->OpenEngine("Applic",504,"ndx","dat"); ................ // end of process db->CloseEngine(); ............. |
| realisamdoc readprev | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor or setup ................ db = new realisam(); id (db) rc=db->OpenEngine("Applic",504,"ndx","dat"); ................ // end of process db->CloseEngine(); ............. |
| realisamdoc readrecord | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor or setup ................ db = new realisam(); ................ // procedure int rc; int recdata; char ReturnKey[100]; char *buffer; buffer = mem_alloc(1000... |
| realisamdoc readrecord | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor or setup ................ db = new realisam(); ................ // procedure int rc; int recdata; char ReturnKey[100]; char *buffer; buffer = mem_alloc(1000... |
| realisamdoc recordlength | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor or setup ................ db = new realisam(); ................ // procedure int rc,len; int recdata; char RetKey[100]; rc = db->ReadDirectKey(0,"microsoft",... |
| realisamdoc recordlength | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor or setup ................ db = new realisam(); ................ // procedure int rc,len; int recdata; char RetKey[100]; rc = db->ReadDirectKey(0,"microsoft",... |
| realisamdoc rewriterecord | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor or setup ................ db = new realisam(); ................ // procedure int rc; char buffer [500]; int recdata; char RetKey[100]; // read data rc = db... |
| realisamdoc rewriterecord | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor or setup ................ db = new realisam(); ................ // procedure int rc; char buffer [500]; int recdata; char RetKey[100]; // read data rc = db... |
| realisamdoc setindex | ... //APPLIC.H #include "realisam.h" ................... realisam *db1; realisam *db2; .................. //APPLIC.CPP // constructor or setup ................ #define UNIQUE_KEYS 0 #define DUPLICATE_KEYS 1 db1 = new realisam(); db2 = new realisam(); ................. |
| realisamdoc setindex | ... //APPLIC.H #include "realisam.h" ................... realisam *db1; realisam *db2; .................. //APPLIC.CPP // constructor or setup ................ #define UNIQUE_KEYS 0 #define DUPLICATE_KEYS 1 db1 = new realisam(); db2 = new realisam(); ................. |
| realisamdoc version | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor ............... db = new realisam(); ................ // procedure char ver[20]; ............... db->Version(ver); // ver stores the string "Version x.y" (... |
| realisamdoc version | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor ............... db = new realisam(); ................ // procedure char ver[20]; ............... db->Version(ver); // ver stores the string "Version x.y" (... |
| realisamdoc writekey | ... //APPLIC.H #include "realisam.h" ................... realisam *db1; realisam *db2; .................. //APPLIC.CPP // constructor or setup ................ #define UNIQUE 0 #define DUPLICATE 1 db1 = new realisam(); db2 = new realisam(); ................ // Rou... |
| realisamdoc writekey | ... //APPLIC.H #include "realisam.h" ................... realisam *db1; realisam *db2; .................. //APPLIC.CPP // constructor or setup ................ #define UNIQUE 0 #define DUPLICATE 1 db1 = new realisam(); db2 = new realisam(); ................ // Rou... |
| realisamdoc writerecord | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor ................ db = new realisam(); ............... rc = db->OpenEngine("Applic",504,"ndx","dat"); ................ db->CloseEngine(); ....................... ... |
| realisamdoc writerecord | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. //APPLIC.CPP // constructor ................ db = new realisam(); ............... rc = db->OpenEngine("Applic",504,"ndx","dat"); ................ db->CloseEngine(); ....................... ... |
| realisamdoc writerecord | ...OpenEngine("Applic",504,"ndx","dat"); ................ db->CloseEngine(); ....................... // procedure int rc; char RetKey[100]; int recdata; // new key to insert = "microsoft" // buffer contains the data recdata=db->GetNewRecordNumber(); rc = db->WriteKey(0,"microsoft... |
| application- |  |
| example add | ...Text.c_str()); if (strlen(Key)==0) { Application->MessageBoxA("Key not provided","RealIsam",MB_OK); return; } strlwr(Key); mWord->GetTextBuf(buffer,BUF_LEN); rc = dict->ReadDirectKey(INDEX,Key,RetKey,&recdata); if (rc) // Exists if == 1 { if (multi... |
| example backup | ...Cursor; char tmp[250]; char *p,*p1; FILE *fp; strcpy(tmp,"Backup your Data in Text File Dict.txt ? "); if (Application->MessageBoxA(tmp,"Backup Dictionary",MB_YESNO)==IDNO) return; strcpy(tmp,dict_directory); strcat(tmp,"dict.txt"); fp=fopen(tmp,"w+t"); if (fp==NULL) { Applicati... |
| example backup | ..."Backup Dictionary",MB_YESNO)==IDNO) return; strcpy(tmp,dict_directory); strcat(tmp,"dict.txt"); fp=fopen(tmp,"w+t"); if (fp==NULL) { Application->MessageBoxA("Problem Opening Dict.Txt File", "Backup Dictionary",MB_OK); return; } if (cb->Checked==tru... |
| example backup | ... 30) Application->MessageBoxA(RetKey,"Key Length > 30",MB_OK); rc=dict->ReadRecord(buffer,recdata); if (rc) { nbisam++; if (multi==1) { strcpy(html,"<P><B>"); strcat(html,RetKey); strcat(html,"</B> (<I></I>) "); st... |
| example backup | ...Cursor = oldCursor; Beep(); EnableButtons(); Application->MessageBoxA("Backup Done","RealIsam",MB_OK); } //--------------------------------------------------------------------------- ... |
| example backup | ...ReadNextKey(RetKey,&recdata); Application->ProcessMessages(); } fclose(fp); StatusBar1->SimpleText = "Number of Keys: " + AnsiString(nbisam); lRecords->Caption = AnsiString(nbseq); lKeys->Caption = AnsiString(nbisam); gettime(&t); nbsec2 = t.ti_hour*3600+t.ti_min*60 + t.t... |
| example duplicate | ...char buffer[BUF_LEN]; char tmp[250]; strcpy(tmp,"Do you want to build a duplicate dictionnary : files Dupli.ndx and Dupli.dat ? "); if (Application->MessageBoxA(tmp,"Isam Dictionary",MB_YESNO)==IDNO) return; TCursor oldCursor = Screen->Cursor; strcpy(name,dict_directory);strcat... |
| example duplicate | ...Cursor = oldCursor; EnableButtons(); Application->MessageBoxA("Duplication Finished","RealIsam",MB_OK); } //--------------------------------------------------------------------------- ... |
| example restore | ...UF_LEN]; struct time t; int nbsec1,nbsec2; strcpy(tmp,"Restore Data from Dict.txt ? \r\n Isam Files will be deleted, and rebuilt"); if (Application->MessageBoxA(tmp,"Restore Dictionary",MB_YESNO)==IDNO) return; TCursor oldCursor = Screen->Cursor; if (cb->Checked==true) multi=1; else m... |
| example restore | ...63) { Application->MessageBoxA("Index Number Not Correct (0-63)","RealIsam",MB_OK); return; } // create a new database strcpy(name,dict_directory);strcat(name,"dict"); rc = dict->OpenEngine(name,120,"ndx","dat"); //120 = 128 - 8 rc = dict->SetIndexMode(INDEX,multi); // if ... |
| example restore | ...0) { nbisam++; IndexBuffer(buffer); } else nbrecords=nbrecords; Application->ProcessMessages(); } fclose(fp); int nbk = dict->NumberOfKeys(INDEX); StatusBar1->SimpleText = "Number of Keys: " + AnsiString(nbk); lRecords->Caption = AnsiString(nbi... |
| example restore | ...SetIndexMode(INDEX+1,multi); nbrecords=0; strcpy(name,dict_directory);strcat(name,"dict.txt"); fp = fopen(name,"r"); if (!fp) {Application->MessageBoxA("File DICT.txt not Found","File Not Found",MB_OK); EnableButtons(); Screen->Cursor = oldCursor; ... |
| example restore | ...Cursor = oldCursor; Beep(); EnableButtons(); Application->MessageBoxA("Restoration Done","RealIsam",MB_OK); } //--------------------------------------------------------------------------- ... |
| example start | ...63) { Application->MessageBoxA("Index Number Not Correct (0-63)","RealIsam",MB_OK); return; } Application->ProcessMessages(); // Get Number of Files to Index strcpy(tmp,edFile->Text.c_str()); nbf=atoi(tmp); nbf--; if (nbf... |
| example start | ...Checked==true) multi=1; else multi=0; strcpy(tmp,"Indexation will delete and rebuild the dictionary, OK ? "); if (Application->MessageBoxA(tmp,"Isam Dictionary",MB_YESNO)==IDNO) return; rc=dict->CloseEngine(); // delete isam files strcpy(tmp,dict_directory);strcat(tmp,"dict.ndx"); ... |
| example start | ...MessageBoxA("Index Number Not Correct (0-63)","RealIsam",MB_OK); return; } Application->ProcessMessages(); // Get Number of Files to Index strcpy(tmp,edFile->Text.c_str()); nbf=atoi(tmp); nbf--; if (nbf... |
| example start | ...// read sequential data while (!feof(fp)) { tmp[0]=0; fgets(buffer,BUF_LEN,fp); // IndexBuffer(buffer); Application->ProcessMessages(); } fclose(fp); } int nbk = dict->NumberOfKeys(INDEX); lRecords->Caption = AnsiString(nbrecords); l... |
| example start | ...leText = "Indexing " + AnsiString(tmp) + " File"; strcpy(html,dict_directory); strcat(html,tmp); fp = fopen(html,"r"); if (!fp) {Application->MessageBoxA(html,"File Not Found",MB_OK); EnableButtons(); Screen->Cursor = oldCursor; return; } ... |
| example start | ...Cursor = oldCursor; Beep(); EnableButtons(); Application->MessageBoxA("Indexation Finished","RealIsam",MB_OK); } //--------------------------------------------------------------------------- ... |
| example version | ...Version(version); Application->MessageBoxA(version,"Version",MB_OK); } //--------------------------------------------------------------------------- ... |
| application |  |
| example principle | ... The goal of this application is to build a dictionary from sequential files provided by the webster dictionnary. Each sequential file is associated to a letter : wb_a, wb_b, .... wb_z. Sequential files should installed in a subdirectory ("dictionary") of your application. The program will buil... |
| example principle | ...sequential file is associated to a letter : wb_a, wb_b, .... wb_z. Sequential files should installed in a subdirectory ("dictionary") of your application. The program will build an Isam database, where entries can be accessed directly or sequentially. ... |
| realisamdoc download | ..."realisam.h" is the header file to include in an application ... |
| realisamdoc download | ..."realisam.lib" is the library to link to the application ... |
| realisamdoc overview | ...RealIsam is a 32-bits DLL and can be interfaced to any 32 bits application developped under Win95,Win98, NT,XP. ... |
| realisamdoc overview | ...This software is in operation since 1996 in different kind of application : Text Retrieval, CGI Internet, databases to store HTML pages, scripts and HTML macros, XML records, with a very fast access time. Tests were conducted to store million of keys and records associated. ... |
| applications |  |
| realisamdoc overview | ...am is a tool used to manage files using the well known ISAM method (Indexed Sequential Access Method). This method is still very convenient for applications such as Internet, Intranet, Text database retrieval, when you need to store and get variable length documents at very high speed. ... |
| approximately |  |
| example stat | ...We get approximately ... |
| ascii |  |
| realisamdoc overview | ...Any ascii value in the key (null terminated) ... |
| associated |  |
| example principle | ... The goal of this application is to build a dictionary from sequential files provided by the webster dictionnary. Each sequential file is associated to a letter : wb_a, wb_b, .... wb_z. Sequential files should installed in a subdirectory ("dictionary") of your application. The program will buil... |
| realisamdoc open | ...Open the index file and the data file associated to the database. The index file, will have the extension specified in the indx parameter,and the data file have the extension specified in the dat parameter. Realisam creates these files if they don't exist. Notice : always open / reopen the data... |
| realisamdoc overview | ... store HTML pages, scripts and HTML macros, XML records, with a very fast access time. Tests were conducted to store million of keys and records associated. ... |
| realisamdoc readdirect | ...Direct search of a key in a specified index, and acquisition of the data pointer associated. ... |
| realisamdoc writekey | ...Write a key in an index of the database. A data record record address is associated with this key. ... |
| association |  |
| realisamdoc deletekey | ...a specified index. The key and its related record number have to be provided as parameters (for duplicate keys, the function needs to know this association). ... |
| athlon |  |
| example stat | ...These measures were conducted using a desktop PC, under Windows XP-SP2, processor AMD Athlon XP 2800 (2.0 Ghz), RAM 512 MB, Hard Drive 120 GBytes. Values can vary depending on the PC characteristics. ... |
| atoi |  |
| example backup | ...Caption.c_str()); INDEX=atoi(tmp); DisableButtons(); eWord->Text==""; mWord->Clear(); gettime(&t); nbsec1 = t.ti_hour*3600+t.ti_min*60 + t.ti_sec; nbrecords=0; nbseq=0; nbisam=0; rc = dict->ReadFirstKey(INDEX,RetKey,&recdata); while (rc) { if (strlen(RetKey) > 30) A... |
| example restore | ...Caption.c_str()); INDEX=atoi(tmp); if (INDEX ... |
| example start | ...Caption.c_str()); INDEX=atoi(tmp); if (INDEX ... |
| example start | ...Text.c_str()); nbf=atoi(tmp); nbf--; if (nbf... |
| available |  |
| realisamdoc getnew | ...32 bits integer countaining the next available position. ... |
| average |  |
| realisamdoc open | ...creates the Isam files , according the extension required) datalen = Data physical block length . This value is not the real data length, but an average size. realisam will write data in consecutive blocks of datalen + 8 bytes. If real length is less than datalen, a physical block of datalen+8 byt... |