| p1-p2 |  |
| example extractvalue | ..."); p1= strstr(buff,tmp); if (p1) { p2=p + strlen(tag)+2; l= p1-p2; strncpy(result,p2,l); result[l]=0; } } return l; } ... |
| p1 |  |
| 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 | ...;) "); strcat(html,p1); strcat(html,"</P>\n"); fputs(html,fp); nbseq++; p1=p+1; p=strchr(p1,'\n'); } strcpy(html,"<P><B>"); strcat(html,RetKey); strcat(html,"</B> (&... |
| example backup | ... strcat(html,p1); strcat(html,"</P>\n"); fputs(html,fp); nbseq++; p1=p+1; p=strchr(p1,'\n'); } strcpy(html,"<P><B>"); strcat(html,RetKey); strcat(html,"</B> (<I></I>) "); ... |
| example backup | ... strcat(html,"</P>\n"); fputs(html,fp); nbseq++; } else // extract concatenated items { p1=buffer; p=strchr(p1,'\r'); while (p) { *p=0; p++; *p=0; strcpy(html,"<P><B&... |
| example backup | ... fputs(html,fp); nbseq++; } else // extract concatenated items { p1=buffer; p=strchr(p1,'\r'); while (p) { *p=0; p++; *p=0; strcpy(html,"<P><B>"); strcat(html,RetKey); str... |
| example backup | ... strcpy(html,"<P><B>"); strcat(html,RetKey); strcat(html,"</B> (<I></I>) "); strcat(html,p1); strcat(html,"</P>\n"); fputs(html,fp); nbseq++; p1=p+1; p=strchr(p1,'\n'); ... |
| example backup | ... strcpy(html,"<P><B>"); strcat(html,RetKey); strcat(html,"</B> (<I></I>) "); strcat(html,p1); strcat(html,"</P>\n"); fputs(html,fp); nbseq++; } } rc=dict->ReadNextKey(RetKey,&recdata);... |
| example extractvalue | ..."); p1= strstr(buff,tmp); if (p1) { p2=p + strlen(tag)+2; l= p1-p2; strncpy(result,p2,l); result[l]=0; } } return l; } ... |
| example extractvalue | ..."); p1= strstr(buff,tmp); if (p1) { p2=p + strlen(tag)+2; l= p1-p2; strncpy(result,p2,l); result[l]=0; } } return l; } ... |
| example extractvalue | ... int __fastcall TMainForm::ExtractValue(char *result, char *buff, char *tag, int posdeb) { char tmp[250]; char *p,*p1,*p2; int pos,l; result[0]=0; strcpy(tmp,"... |
| p2 |  |
| example extractvalue | ..."); p1= strstr(buff,tmp); if (p1) { p2=p + strlen(tag)+2; l= p1-p2; strncpy(result,p2,l); result[l]=0; } } return l; } ... |
| example extractvalue | ..."); p1= strstr(buff,tmp); if (p1) { p2=p + strlen(tag)+2; l= p1-p2; strncpy(result,p2,l); result[l]=0; } } return l; } ... |
| example extractvalue | ... int __fastcall TMainForm::ExtractValue(char *result, char *buff, char *tag, int posdeb) { char tmp[250]; char *p,*p1,*p2; int pos,l; result[0]=0; strcpy(tmp,"... |
| package |  |
| example include | ...ions __fastcall TMainForm(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE TMainForm *MainForm; //--------------------------------------------------------------------------- #endif ... |
| example main_header | ... #include "Main.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TMainForm *MainForm; //--------------------------------------------------------------------------- __fas... |
| packed |  |
| example download | ... Files are packed in a ZIP file Borland DLL,or BPL are also incuded if you want to run the TESTISAM.EXE program without having the BCB development compiler. ... |
| pagecontrol1 |  |
| example include | ...--------------------------------------------- class TMainForm : public TForm { __published: // IDE-managed Components TPageControl *PageControl1; TTabSheet *TabSheet2; TButton *btStart; TLabel *Label15; TEdit *eWord; TMemo *mWord; TL... |
| pages |  |
| 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. ... |
| paragraph |  |
| example indexbuffer | ...r Key[MAX_KEY],RetKey[MAX_KEY]; int rc,recdata; char *p; char SKey[MAX_KEY]; int l,i; length=ExtractValue(str,buff,"P",0); // extract a paragraph ... |
| parameter |  |
| 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 open | ...he 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 database with the same physical block size. ... |
| realisamdoc writerecord | ...Write a data record at a position previously defined by a call to GetNewRecordNumber. Data can be text or binary. Length is a parameter to provide . For characters strings ended with 0x00, the developer can insert the last byte 0x00, or can insert it when the program read the data. ... |
| parameters |  |
| realisamdoc close | ...Parameters :... |
| realisamdoc closereopen | ...Parameters :... |
| realisamdoc constr | ...Parameters :... |
| realisamdoc deleteisam | ...Parameters :... |
| realisamdoc deletekey | ...Delete a key in 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). ... |
| realisamdoc deletekey | ...Parameters :... |
| realisamdoc deleterecord | ...Parameters :... |
| realisamdoc getindex | ...Parameters :... |
| realisamdoc getnew | ...Parameters :... |
| realisamdoc number | ...Parameters :... |
| realisamdoc open | ...Parameters :... |
| realisamdoc readdirect | ...Parameters :... |
| realisamdoc readfirst | ...Parameters :... |
| realisamdoc readlast | ...Parameters :... |
| realisamdoc readnext | ...Parameters :... |
| realisamdoc readprev | ...Parameters :... |
| realisamdoc readrecord | ...Parameters :... |
| realisamdoc recordlength | ...Parameters :... |
| realisamdoc rewriterecord | ...Parameters :... |
| realisamdoc setindex | ...Parameters :... |
| realisamdoc version | ...Parameters :... |
| realisamdoc writekey | ...Parameters :... |
| realisamdoc writerecord | ...Parameters :... |
| pc |  |
| 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. ... |
| example stat | ...sing 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. ... |
| pdata |  |
| realisamdoc include | ...dat); int CloseEngine(void); int SetIndexMode(short Index, short Value); int WriteRecord(char *pdata,int len); int RewriteRecord(char *pdata,int len, int RecNumber); int DeleteRecord(int RecNumber); int ReadRecord(char *pdata,int RecNumber); int GetNewRecordNumber(); int Wri... |
| realisamdoc include | ...Record(char *pdata,int len); int RewriteRecord(char *pdata,int len, int RecNumber); int DeleteRecord(int RecNumber); int ReadRecord(char *pdata,int RecNumber); int GetNewRecordNumber(); int WriteKey(short Index,char *Key,int RecNumber); int DeleteKey(short Index,char *Key,int RecN... |
| realisamdoc include | ... *FileName,short BlockSize,char *ndx, char*dat); int CloseEngine(void); int SetIndexMode(short Index, short Value); int WriteRecord(char *pdata,int len); int RewriteRecord(char *pdata,int len, int RecNumber); int DeleteRecord(int RecNumber); int ReadRecord(char *pdata,int RecNumbe... |
| per |  |
| example stat | ... Read/Write operations per second, each operation includes the following actions: ... |
| realisamdoc setindex | ... Define is keys are unique or duplicate for a specified index. realisam allows 64 index per database, from ... |
| physical |  |
| realisamdoc getnew | ...Return the new physical position where to write data in the data file. Use a WriteRecord to write the data. ... |
| realisamdoc open | ...eal 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 bytes will be allocated and written. If data length is bigger than datalen, a second block is allocated, and so on... The Win... |
| realisamdoc open | ...sion 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. ... |
| 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 rewriterecord | ...Rewrite a data record to a previous location. If data length is bigger than the previous write, the function can create new physical blocks. Developer has to specifiy the new data length. ... |
| pointer |  |
| example include | ...ar dict_directory[MAX_PATH]; int nbrecords; int multi; int INDEX; int M_recdata; // memorizes data record pointer char M_Key[MAX_KEY]; // memorizes Key int __fastcall ExtractValue(char *result, char *buff, char *tag, int posdeb); int __fastca... |
| realisamdoc close | ...CloseEngine(); db is the database pointer. ... |
| realisamdoc constr | ...Return a pointer to the instance. This pointer has to be used for any call to realisam functions. ... |
| realisamdoc constr | ...Return a pointer to the instance. This pointer has to be used for any call to realisam functions. ... |
| realisamdoc deleteisam | ...ndex 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 deletekey | ...Key = pointer on a character string with the value of the key. ... |
| realisamdoc deletekey | ...DeleteKey(int Index,char *Key,int recdata); db is a database pointer. ... |
| realisamdoc deleterecord | ...DeleteRecord(int recnum); db is a database pointer. ... |
| realisamdoc getnew | ...GetNewRecordNumber(); db is the database pointer. ... |
| realisamdoc number | ...NumberOfKeys(int index) db is a database pointer. ... |
| realisamdoc open | ...OpenEngine(char *filename,int datalen, char *indx,char *dat); db is a pointer on the database ... |
| realisamdoc readdirect | ...Direct search of a key in a specified index, and acquisition of the data pointer associated. ... |
| realisamdoc readdirect | ...ReadDirectkey(int Index,char *Key,char *ReturnKey, int &recdata) db is the database pointer. ... |
| realisamdoc readdirect | ...recdata = data record pointer ... |
| realisamdoc readfirst | ... index number (0-63) Key is a pointer on a character string, large enough to receive the key (max = 250 characters) recdata is a pointer on the data record related to the key. ... |
| realisamdoc readfirst | ... index number (0-63) Key is a pointer on a character string, large enough to receive the key (max = 250 characters) recdata is a pointer on the data record related to the key. ... |
| realisamdoc readfirst | ...ReadFirstKey(int index,char *Key,int &recdata); db is a database pointer. ... |
| realisamdoc readlast | ...ReadLastkey(int Index,char *Key,int &recdata); db is a database pointer. ... |
| realisamdoc readlast | ...Key is a pointer on a character string, large enough to receive the value of the key (250 char . max) ... |
| realisamdoc readnext | ...ReadNextKey(char *Key, int &recdata); db is a database pointer. ... |
| realisamdoc readnext | ...Key is a pointer on a character string that will receive the value of the key. ... |
| realisamdoc readprev | ...ReadPrevKey(char *Key,int &recdata); db is a database pointer. ... |
| realisamdoc readprev | ...Key is a pointer on a character string that will recieve the value of the key ... |
| 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... |
| realisamdoc readrecord | ...ReadRecord(char *buffer,int recdata); db is a database pointer. ... |
| realisamdoc readrecord | ...buffer : pointer on a character string ... |
| realisamdoc recordlength | ...RecordLength(int recdata) db is a database pointer. ... |
| realisamdoc rewriterecord | ...RewriteRecord(char *buffer, int len, int recdata); db is a database pointer. ... |
| realisamdoc rewriterecord | ...buffer : pointer on the data to write ... |
| realisamdoc setindex | ...SetIndexMode(int Index, int Value); db is a database pointer. ... |
| realisamdoc writekey | ...WriteKey(int Index, char *key, int recdata); db is a pointer on the database. ... |
| 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 | ...WriteRecord(char *buffer,int lendata); db is the database pointer. ... |
| realisamdoc writerecord | ...ptr is a pointer on the address of buffer. ... |
| pointeur |  |
| 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... |
| pointing |  |
| realisamdoc readlast | ...recdata is a 32 bit integer pointing on a data record related to the key. ... |
| points |  |
| realisamdoc readnext | ...recdata is a 32 bit integer that points on the related data record. ... |
| politics |  |
| realisamdoc writekey | ...WriteKey(1,"politics",recdata); // on index 1 , duplicate keys allowed ................. // End processing rc = db1->CloseEngine(); rc = db2->CloseEngine(); ... |
| pos |  |
| example extractvalue | ... int __fastcall TMainForm::ExtractValue(char *result, char *buff, char *tag, int posdeb) { char tmp[250]; char *p,*p1,*p2; int pos,l; result[0]=0; strcpy(tmp,"... |
| posdeb |  |
| example extractvalue | ... int __fastcall TMainForm::ExtractValue(char *result, char *buff, char *tag, int posdeb) { char tmp[250]; char *p,*p1,*p2; int pos,l; result[0]=0; strcpy(tmp,"... |
| example include | ...orizes data record pointer char M_Key[MAX_KEY]; // memorizes Key int __fastcall ExtractValue(char *result, char *buff, char *tag, int posdeb); int __fastcall IndexBuffer(char *buff); void __fastcall Search(); void __fastcall First(); void __fastcall EnableButtons(); ... |
| position |  |
| realisamdoc getnew | ...Return the new physical position where to write data in the data file. Use a WriteRecord to write the data. ... |
| realisamdoc getnew | ...32 bits integer countaining the next available position. ... |
| realisamdoc writerecord | ...Write a data record at a position previously defined by a call to GetNewRecordNumber. Data can be text or binary. Length is a parameter to provide . For characters strings ended with 0x00, the developer can insert the last byte 0x00, or can insert it when the program read the data. ... |
| pragma |  |
| example main_header | ... #pragma hdrstop #include "Main.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TMainForm *MainForm; //---------------... |
| example main_header | ... #include "Main.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TMainForm *MainForm; //--------------------------------------------------------------------------... |
| example main_header | ... #include "Main.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TMainForm *MainForm; //--------------------------------------------------------------------------- __fastcall TMainForm::TMai... |
| precisely |  |
| realisamdoc deleterecord | ...Delete a data record (more precisely, rewrite the record with a null data length). The free space is not managed under realisam. It is recommended to write an utility to copy a old database in a new one if there is too many records deleted. ... |
| previous |  |
| example prev | ... Search previous Key... |
| example principle | ...Sequential read after direct read : you can read next or read previous from this location ... |
| example principle | ...Previous Key : Previous Key in the index ... |
| example principle | ...Previous Key : Previous Key in the index ... |
| index_summary item44 | ...h previous Key... |
| realisamdoc readprev | ...Read the previous key in the current index ... |
| realisamdoc rewriterecord | ...Rewrite a data record to a previous location. If data length is bigger than the previous write, the function can create new physical blocks. Developer has to specifiy the new data length. ... |
| realisamdoc rewriterecord | ...Rewrite a data record to a previous location. If data length is bigger than the previous write, the function can create new physical blocks. Developer has to specifiy the new data length. ... |
| previously |  |
| realisamdoc readrecord | ... 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, it is recommended to terminate the string with a 0 after the Re... |
| realisamdoc writerecord | ...Write a data record at a position previously defined by a call to GetNewRecordNumber. Data can be text or binary. Length is a parameter to provide . For characters strings ended with 0x00, the developer can insert the last byte 0x00, or can insert it when the program read the data. ... |
| principles |  |
| example principle | ... Principles... |
| index_summary item29 | ...Principles... |
| private |  |
| example include | ...l btClearClick(TObject *Sender); void __fastcall btAddClick(TObject *Sender); void __fastcall btVersionClick(TObject *Sender); private: // User declarations #define MAX_KEY 250 #define BUF_LEN 50000 struct time t1; struct time t2; int nbsec1,nbsec2,delta; ... |
| problem |  |
| example backup | ...MessageBoxA("Problem Opening Dict.Txt File", "Backup Dictionary",MB_OK); return; } if (cb->Checked==true) multi=1; else multi=0; Screen->Cursor = crHourGlass; strcpy(tmp,lIndex->Caption.c_str()); INDEX=atoi(tmp); DisableButtons(); eWord->Text==... |
| procedure |  |
| realisamdoc closereopen | ............. realisam *db; .................. //APPLIC.CPP // constructor ............... db = new realisam(); ................ // procedure int rc; ............... rc=db->CloseReopen("Samples",248,"ndx","dat"); ... |
| realisamdoc deleteisam | ... //APPLIC.H #include "realisam.h" ................... realisam *db; .................. // procedure ............... db->DeleteIsam("c:\\samples.ndx","c:\\samples.dat"); ... |
| 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 deletekey | ...CloseEngine(); ....................... ................. // procedure int rc, recdata; char ReturnKey[100]; rc = db->ReadDirectKey(1,"microsoft",ReturnKey,&recdata); if (rc) { rc=db->DeleteKey(1,"microsoft"); rc=db->DeleteRecord(recdata); } else .............. ... |
| realisamdoc deleterecord | ............ realisam *db; .................. //APPLIC.CPP // constructor ................ db = new realisam(); ................ // procedure int rc; int recdata; char RetKey[100]; rc = db->ReadDirectKey(0,"microsoft",RetKey,&recdata); if (rc) rc = db->DeleteRecord(&recdata)... |
| realisamdoc getindex | ............. realisam *db; .................. //APPLIC.CPP // constructor ............... db = new realisam(); ................ // procedure int mode; ............... mode = db->GetIndexMode(12); ....................... ... |
| realisamdoc getnew | ............. realisam *db; .................. //APPLIC.CPP // constructor ................ db = new realisam(); ................ // procedure int rc; int recdata; char key[30]; rc = db1->OpenEngine("htmlfile",248,"ndx","dat"); // 248 + 8 => 256 ! if (!rc) { error db1 .... } ... |
| realisamdoc number | ... realisam *db; .................. //APPLIC.CPP // constructor or setup ................ db = new realisam(); ................ // procedure int nb,rc,recdata; char Key[10]; .......... nb = db->NumberOfKeys(0); // for index 0 sprintf(Key,"%07d",nb+1000); recdata =db->GetNewRec... |
| realisamdoc readdirect | ...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); buffer[rc]=0; ............. } else .............. |
| realisamdoc readfirst | ...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; ............. } else ............ // anoth... |
| realisamdoc readlast | ...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[rc]=0; ............. } else ............ ... |
| realisamdoc readnext | ...CloseEngine(); ....................... ................. // procedure int rc, recdata; char ReturnKey[100]; // sequentiel reading of an index rc = db->ReadFirstKey(0,ReturnKey,&recdata); while (rc) { rc=db->ReadRecord(buffer,recdata); // process buffer .................. |
| realisamdoc readprev | ...CloseEngine(); ....................... ................. // 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,rec... |
| realisamdoc readrecord | ... realisam *db; .................. //APPLIC.CPP // constructor or setup ................ db = new realisam(); ................ // procedure int rc; int recdata; char ReturnKey[100]; char *buffer; buffer = mem_alloc(10000); if (!buffer) return -1; rc = db->ReadDirectKey(0,"... |
| realisamdoc recordlength | ... realisam *db; .................. //APPLIC.CPP // constructor or setup ................ db = new realisam(); ................ // procedure int rc,len; int recdata; char RetKey[100]; rc = db->ReadDirectKey(0,"microsoft",RetKey,&recdata); if (rc) // success { len = db->... |
| realisamdoc rewriterecord | ... 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->ReadDirectKey(0,"microbiology",RetKey,&recdata); if (rc... |
| realisamdoc version | ............. realisam *db; .................. //APPLIC.CPP // constructor ............... db = new realisam(); ................ // procedure char ver[20]; ............... db->Version(ver); // ver stores the string "Version x.y" (actually Version 2.3) ... |
| realisamdoc writerecord | ...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",recdata); if (rc) // key insert ok { db->WriteRecor... |
| proceesing |  |
| realisamdoc close | ... 512 !! if (!rc) { error db2 ... } // end proceesing rc = db1->CloseEngine(); rc = db2->CloseEngine(); ... |
| process |  |
| realisamdoc readnext | ...ReadRecord(buffer,recdata); // process buffer ................ rc =db->ReadNextKey(ReturnKey,&recdata); } ................. ... |
| 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 | ...ReadRecord(buffer,recdata); // process data here .................. rc=db->ReadPrevKey(ReturnKey,recdata); } ... |
| realisamdoc rewriterecord | ...ReadRecord(buffer,recdata); // rc is the record length and supposed to be less than 500 .... process data in buffer..... rc = db->RewriteRecord(buffer, strlen(buffer+1),recdata); } ... |
| processing |  |
| realisamdoc closereopen | ... This function is used to save data, closing the files, and open them again for further processing. ... |
| 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 writekey | ...WriteKey(1,"politics",recdata); // on index 1 , duplicate keys allowed ................. // End processing rc = db1->CloseEngine(); rc = db2->CloseEngine(); ... |
| processmessages |  |
| example backup | ...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.ti_sec; int elapsed = nbsec2-nbsec1; lElap-... |
| example restore | ...ProcessMessages(); } fclose(fp); int nbk = dict->NumberOfKeys(INDEX); StatusBar1->SimpleText = "Number of Keys: " + AnsiString(nbk); lRecords->Caption = AnsiString(nbisam); lKeys->Caption = AnsiString(nbk); gettime(&t); nbsec2 = t.ti_hour*3600+t.ti_min... |
| example start | ...ProcessMessages(); // Get Number of Files to Index strcpy(tmp,edFile->Text.c_str()); nbf=atoi(tmp); nbf--; if (nbf... |
| example start | ...ProcessMessages(); } fclose(fp); } int nbk = dict->NumberOfKeys(INDEX); lRecords->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 = floa... |
| processor |  |
| 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. ... |
| processs |  |
| realisamdoc readfirst | ...ReadRecord(buffer,recdata); // processs the record ............................. rc=db->ReadNextKey(RetKey,&recdata); // rc = 0 if end of file (last key of index) } ................... ... |
| program |  |
| example download | ... Files are packed in a ZIP file Borland DLL,or BPL are also incuded if you want to run the TESTISAM.EXE program without having the BCB development compiler. ... |
| example principle | ... 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. ... |
| example source | ...Source Program... |
| example source | ... This program is written using the Borland C++ Builder (Version BCB5) ... |
| index_summary item28 | ...xample Program... |
| realisamdoc constr | .... There is an instance of a realisam object for each database you need in the same program. ... |
| realisamdoc writerecord | ...Length is a parameter to provide . For characters strings ended with 0x00, the developer can insert the last byte 0x00, or can insert it when the program read the data. ... |
| programmer |  |
| realisamdoc deleteisam | ... Delete the index file and the data file. The programmer should provide 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. ... |
| project |  |
| example download | ... Download Project... |
| index_summary item30 | ...oad Project... |
| provide |  |
| realisamdoc deleteisam | ... Delete the index file and the data file. The programmer should provide 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 writerecord | ...Write a data record at a position previously defined by a call to GetNewRecordNumber. Data can be text or binary. Length is a parameter to provide . For characters strings ended with 0x00, the developer can insert the last byte 0x00, or can insert it when the program read the data. ... |
| provided |  |
| example add | ...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==0) // Unique Keys : Concatenate definitions { ... |
| 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 deletekey | ...Delete a key in 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). ... |
| 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... |
| 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. ... |
| provides |  |
| realisamdoc number | ...This function provides the number of keys existing for a specified index. ... |
| ptr |  |
| realisamdoc writerecord | ... ptr = db->WriteRecord(char *buffer,int lendata); db is the database pointer. ... |
| realisamdoc writerecord | ...ptr is a pointer on the address of buffer. ... |
| public |  |
| example include | ... //--------------------------------------------------------------------------- class TMainForm : public TForm { __published: // IDE-managed Components TPageControl *PageControl1; TTabSheet *TabSheet2; TButton *btStart; TLabel *Label15; TEdit *eWo... |
| example include | ...r *buff); void __fastcall Search(); void __fastcall First(); void __fastcall EnableButtons(); void __fastcall DisableButtons(); public: // User declarations __fastcall TMainForm(TComponent* Owner); }; //-----------------------------------------------------------------... |
| realisamdoc include | ... #ifndef __REALISAM_H #define __REALISAM_H #ifdef __cplusplus extern "C" { #endif class _export realisam { public: realisam(void); ~realisam(void); int OpenEngine(char *FileName,short BlockSize,char *ndx, char*dat); int CloseEngine(void); int SetIndexMode(short Index,... |
| purpose |  |
| realisamdoc download | ... The DLL file name is "realisam.dll". Another files are needed for development purpose : ... |