Alpes Software Homepage Real Isam Home Page


Summary Main WordsA B C D E F G H I J K L M N O P Q R S T U V W X Y Z Other



Letter S

same
realisamdoc constr.... There is an instance of a realisam object for each database you need in the same program. ...
realisamdoc open...e 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 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). ...
samples
realisamdoc closereopen...CloseReopen("Samples",248,"ndx","dat"); ...
realisamdoc closereopen...CloseReopen("c:\\Samples,248,"ndx","dat"); ...
realisamdoc deleteisam...DeleteIsam("c:\\samples.ndx","c:\\samples.dat"); ...
realisamdoc deleteisam...DeleteIsam("c:\\samples.ndx","c:\\samples.dat"); ...
save
example principle...Backup database : Sequential read of the database and save the content in the dict.txt file ...
realisamdoc closereopen... This function is used to save data, closing the files, and open them again for further processing. ...
screen-
example backup...har buffer[BUF_LEN]; char html[BUF_LEN]; char definition[BUF_LEN]; int nbseq,nbisam; struct time t; int nbsec1,nbsec2; TCursor oldCursor = Screen->Cursor; char tmp[250]; char *p,*p1; FILE *fp; strcpy(tmp,"Backup your Data in Text File Dict.txt ? "); if (Application->MessageBoxA(tmp...
example backup...Checked==true) multi=1; else multi=0; Screen->Cursor = crHourGlass; strcpy(tmp,lIndex->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 = d...
example backup...Caption = AnsiString(elapsed); First(); Screen->Cursor = oldCursor; Beep(); EnableButtons(); Application->MessageBoxA("Backup Done","RealIsam",MB_OK); } //--------------------------------------------------------------------------- ...
example duplicate...me,dict_directory);strcat(name,"dupli.ndx"); rc = unlink (name); strcpy(name,dict_directory);strcat(name,"dupli.dat"); rc =unlink (name); Screen->Cursor = crHourGlass; DisableButtons(); strcpy(name,dict_directory);strcat(name,"dupli"); rc = dupli->OpenEngine(name,120,"ndx","dat"); ...
example duplicate...MessageBoxA(tmp,"Isam Dictionary",MB_YESNO)==IDNO) return; TCursor oldCursor = Screen->Cursor; strcpy(name,dict_directory);strcat(name,"dupli.ndx"); rc = unlink (name); strcpy(name,dict_directory);strcat(name,"dupli.dat"); rc =unlink (name); Screen->Cursor = crHourGlass; Disa...
example duplicate...CloseEngine(); First(); Screen->Cursor = oldCursor; EnableButtons(); Application->MessageBoxA("Duplication Finished","RealIsam",MB_OK); } //--------------------------------------------------------------------------- ...
example restore...MessageBoxA(tmp,"Restore Dictionary",MB_YESNO)==IDNO) return; TCursor oldCursor = Screen->Cursor; if (cb->Checked==true) multi=1; else multi=0; dict->CloseEngine(); // delete isam files strcpy(name,dict_directory);strcat(name,"dict.ndx"); rc = unlink (name); strcpy(name,dict_direc...
example restore...name,dict_directory);strcat(name,"dict.ndx"); rc = unlink (name); strcpy(name,dict_directory);strcat(name,"dict.dat"); rc =unlink (name); Screen->Cursor = crHourGlass; DisableButtons(); eWord->Text==""; mWord->Clear(); gettime(&t); nbsec1 = t.ti_hour*3600+t.ti_min*60 + t.ti_sec;...
example restore...MessageBoxA("File DICT.txt not Found","File Not Found",MB_OK); EnableButtons(); Screen->Cursor = oldCursor; return; } nbrecords=0; nbisam=0; // read sequential data while (!feof(fp)) { buffer[0]=0; fgets(buffer,BUF_LEN,f...
example restore...Caption = AnsiString(elapsed); First(); Screen->Cursor = oldCursor; Beep(); EnableButtons(); Application->MessageBoxA("Restoration Done","RealIsam",MB_OK); } //--------------------------------------------------------------------------- ...
example start... i; FILE *fp; int rc; char buffer[BUF_LEN]; struct time t; int nbsec1,nbsec2; int hund1,hund2; int nbf; int K; TCursor oldCursor = Screen->Cursor; if (cb->Checked==true) multi=1; else multi=0; strcpy(tmp,"Indexation will delete and rebuild the dictionary, OK ? "); if (Applicat...
example start...mp,dict_directory);strcat(tmp,"dict.ndx"); rc = unlink (tmp); strcpy(name,dict_directory);strcat(name,"dict.dat"); rc =unlink (name); Screen->Cursor = crHourGlass; DisableButtons(); eWord->Text=""; mWord->Clear(); RK->Caption = ""; lKeys->Caption = ""; lRecords->Caption=...
example start...MessageBoxA(html,"File Not Found",MB_OK); EnableButtons(); Screen->Cursor = oldCursor; return; } // read sequential data while (!feof(fp)) { tmp[0]=0; fgets(buffer,BUF_LEN,fp); // IndexBuffer(buffer); Applic...
example start...SimpleText = ""; First(); Screen->Cursor = oldCursor; Beep(); EnableButtons(); Application->MessageBoxA("Indexation Finished","RealIsam",MB_OK); } //--------------------------------------------------------------------------- ...
scripts
realisamdoc close...OpenEngine("scripts",504,,"ndx","dat"); // 504 + 8 ==> 512 !! if (!rc) { error db2 ... } // end proceesing rc = db1->CloseEngine(); rc = db2->CloseEngine(); ...
realisamdoc open...OpenEngine("scripts",504,"ndx","dat"); // 504 + 8 ==> 512 !! if (!rc) { error db2 ... } ...
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. ...
realisamdoc setindex...OpenEngine("scripts",504,,"ndx","dat"); // 504 + 8 ==> 512 !! rc = db2->SetIndexMode(0,UNIQUE_KEYS); if (!rc) { error db2 ... } // End rc = db1->CloseEngine(); rc = db2->CloseEngine(); ...
realisamdoc writekey...OpenEngine("scripts",504,"ndx","dat"); // 504 + 8 ==> 512 !! rc = db2->SetIndexMode(0,UNIQUE); if (!rc) { error db2 ... } strcpy(key,"doc30134"); recdata = db1->GetNewRecordNumber(); rc = db1->WriteKey(0,key,recdata); // index 0 if (!rc) { error / duplicate key ... } rc = ...
search
example clear... Clear Search Field...
example first... Search First Record...
example include... 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(); void __fastcall DisableButtons(); public: // User declarations ...
example last... Search Last Key...
example next... Search Next Key...
example prev... Search previous Key...
example principle...Search for a word : Enter a Word and click on the "Search" button ...
example principle...Search for a word : Enter a Word and click on the "Search" button ...
example principle... You can select a word in the displayed definition to search for the selected word. ...
example search... void __fastcall TMainForm::btSearchClick(TObject *Sender) { Search(); } //--------------------------------------------------------------------------- void __fastcall TMainForm::Search() { int rc,recdata; char Key[MAX_KEY],RetKey[MAX_KEY]; char buffer[BUF_LEN]; char tmp[256]; ...
example search...k(TObject *Sender) { Search(); } //--------------------------------------------------------------------------- void __fastcall TMainForm::Search() { int rc,recdata; char Key[MAX_KEY],RetKey[MAX_KEY]; char buffer[BUF_LEN]; char tmp[256]; if (eWord->Text=="") { mWord->Clear(); r...
example search... Search for a word...
example searchword... Search Database from a keyed word...
example searchword... void __fastcall TMainForm::eWordKeyUp(TObject *Sender, WORD &Key, TShiftState Shift) { if (Key==13) Search(); } //--------------------------------------------------------------------------- ...
example wordmouseup...Text=AnsiString(tmp); Search(); } //--------------------------------------------------------------------------- ...
index_summary item40...Search for a word...
index_summary item41...Search First Record...
index_summary item42...Search Next Key...
index_summary item43...Search Last Key...
index_summary item44...Search previous Key...
index_summary item49...Search Database from a keyed word...
index_summary item53... Search Field...
realisamdoc overview...Companion tools as words indexation and desindexation, local search engines, SQL interface are existing, but they are not integrated in the DLL ...
realisamdoc readdirect...Direct search of a key in a specified index, and acquisition of the data pointer associated. ...
searched
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 ...
searching
realisamdoc readdirect...ReturnKey = Key found after searching the index. ...
sec
example stat...Indexation time (sec)...
second
example stat... Read/Write operations per second, each operation includes the following actions: ...
realisamdoc open.... 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 multiples of 1024 bytes, and we recommand to work with datalen+8 s...
select
example principle... You can select a word in the displayed definition to search for the selected word. ...
example wordmouseup... Select a word from the definition displayed...
index_summary item46...Select a word from the definition displayed...
selected
example principle... You can select a word in the displayed definition to search for the selected word. ...
sender
example add... void __fastcall TMainForm::btAddClick(TObject *Sender) { char Key[MAX_KEY],RetKey[MAX_KEY]; int rc, recdata; char buffer[BUF_LEN],str[BUF_LEN]; strcpy(Key,eWord->Text.c_str()); if (strlen(Key)==0) { Application->MessageBoxA("Key not provided","RealIsam",MB_OK); return; ...
example backup... void __fastcall TMainForm::btBackupClick(TObject *Sender) { int rc,recdata; char Key[MAX_KEY],RetKey[MAX_KEY]; char buffer[BUF_LEN]; char html[BUF_LEN]; char definition[BUF_LEN]; int nbseq,nbisam; struct time t; int nbsec1,nbsec2; TCursor oldCursor = Screen->Cursor; char tmp[250]; c...
example clear... void __fastcall TMainForm::btClearClick(TObject *Sender) { eWord->Text=""; mWord->Clear(); } //--------------------------------------------------------------------------- ...
example delete... void __fastcall TMainForm::btDeleteClick(TObject *Sender) { int rc; rc=dict->DeleteKey(INDEX,M_Key,M_recdata); rc=dict->DeleteRecord(M_recdata); First(); StatusBar1->SimpleText="Entry Deleted"; } //--------------------------------------------------------------------------- ...
example duplicate... void __fastcall TMainForm::btDuplClick(TObject *Sender) { char name[MAX_PATH]; int rc, recdata,recdata_dupli; dupli = new realisam(); char RetKey[MAX_KEY]; char buffer[BUF_LEN]; char tmp[250]; strcpy(tmp,"Do you want to build a duplicate dictionnary : files Dupli.ndx and Dupli.dat ...
example exit... void __fastcall TMainForm::Exit2Click(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- ...
example first...SetTextBuf(buffer); } } void __fastcall TMainForm::btFirstClick(TObject *Sender) { First(); } //--------------------------------------------------------------------------- ...
example formclose... void __fastcall TMainForm::FormClose(TObject *Sender, TCloseAction &Action) { dict->CloseEngine(); Action = caFree; } //--------------------------------------------------------------------------- ...
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 include...Create(TObject *Sender); void __fastcall FormClose(TObject *Sender, TCloseAction &Action); void __fastcall btStartClick(TObject *Sender); void __fastcall btSearchClick(TObject *Sender); void __fastcall btFirstClick(TObject *Sender); void __fastcall btNex...
example include... TShiftState Shift, int X, int Y); void __fastcall btBackupClick(TObject *Sender); void __fastcall btRestoreClick(TObject *Sender); void __fastcall eWordKeyUp(TObject *Sender, WORD &Key, TShiftState Shift); void __fastcall btUpdateClick(TObject *...
example include... __fastcall btBackupClick(TObject *Sender); void __fastcall btRestoreClick(TObject *Sender); void __fastcall eWordKeyUp(TObject *Sender, WORD &Key, TShiftState Shift); void __fastcall btUpdateClick(TObject *Sender); void __fastcall btDeleteClick(TObjec...
example include...r); void __fastcall eWordKeyUp(TObject *Sender, WORD &Key, TShiftState Shift); void __fastcall btUpdateClick(TObject *Sender); void __fastcall btDeleteClick(TObject *Sender); void __fastcall btDuplClick(TObject *Sender); void __fastcall btClea...
example include...WORD &Key, TShiftState Shift); void __fastcall btUpdateClick(TObject *Sender); void __fastcall btDeleteClick(TObject *Sender); void __fastcall btDuplClick(TObject *Sender); void __fastcall btClearClick(TObject *Sender); void __fastcall btAddCl...
example include... __fastcall btUpdateClick(TObject *Sender); void __fastcall btDeleteClick(TObject *Sender); void __fastcall btDuplClick(TObject *Sender); void __fastcall btClearClick(TObject *Sender); void __fastcall btAddClick(TObject *Sender); void __fastcall btVersio...
example include... void __fastcall btLastClick(TObject *Sender); void __fastcall btPrevClick(TObject *Sender); void __fastcall Exit2Click(TObject *Sender); void __fastcall mWordMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void __fastca...
example include...void __fastcall btPrevClick(TObject *Sender); void __fastcall Exit2Click(TObject *Sender); void __fastcall mWordMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void __fastcall btBackupClick(TObject *Sender); void __fastc...
example include...ll mWordMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void __fastcall btBackupClick(TObject *Sender); void __fastcall btRestoreClick(TObject *Sender); void __fastcall eWordKeyUp(TObject *Sender, WORD &Key, TShiftStat...
example include...d __fastcall btDeleteClick(TObject *Sender); void __fastcall btDuplClick(TObject *Sender); void __fastcall btClearClick(TObject *Sender); void __fastcall btAddClick(TObject *Sender); void __fastcall btVersionClick(TObject *Sender); private: // User declarations ...
example include...void __fastcall btDuplClick(TObject *Sender); void __fastcall btClearClick(TObject *Sender); void __fastcall btAddClick(TObject *Sender); void __fastcall btVersionClick(TObject *Sender); private: // User declarations #define MAX_KEY 250 #define BUF_LEN 50000 stru...
example include...d __fastcall 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,nbsec...
example include...se(TObject *Sender, TCloseAction &Action); void __fastcall btStartClick(TObject *Sender); void __fastcall btSearchClick(TObject *Sender); void __fastcall btFirstClick(TObject *Sender); void __fastcall btNextClick(TObject *Sender); void __fastcall btLastC...
example include... __fastcall btStartClick(TObject *Sender); void __fastcall btSearchClick(TObject *Sender); void __fastcall btFirstClick(TObject *Sender); void __fastcall btNextClick(TObject *Sender); void __fastcall btLastClick(TObject *Sender); void __fastcall btPrevCl...
example include...d __fastcall btSearchClick(TObject *Sender); void __fastcall btFirstClick(TObject *Sender); void __fastcall btNextClick(TObject *Sender); void __fastcall btLastClick(TObject *Sender); void __fastcall btPrevClick(TObject *Sender); void __fastcall Exit2Cli...
example include...oid __fastcall btFirstClick(TObject *Sender); void __fastcall btNextClick(TObject *Sender); void __fastcall btLastClick(TObject *Sender); void __fastcall btPrevClick(TObject *Sender); void __fastcall Exit2Click(TObject *Sender); void __fastcall mWordMous...
example include...heckBox *cbSec; TLabel *lIndex; TLabel *Label3; TButton *btVersion; void __fastcall FormCreate(TObject *Sender); void __fastcall FormClose(TObject *Sender, TCloseAction &Action); void __fastcall btStartClick(TObject *Sender); voi...
example include...bel *Label3; TButton *btVersion; void __fastcall FormCreate(TObject *Sender); void __fastcall FormClose(TObject *Sender, TCloseAction &Action); void __fastcall btStartClick(TObject *Sender); void __fastcall btSearchClick(TObject *Sender); ...
example include...void __fastcall btNextClick(TObject *Sender); void __fastcall btLastClick(TObject *Sender); void __fastcall btPrevClick(TObject *Sender); void __fastcall Exit2Click(TObject *Sender); void __fastcall mWordMouseUp(TObject *Sender, TMouseButton Button, TS...
example last... void __fastcall TMainForm::btLastClick(TObject *Sender) { int rc,recdata; char Key[MAX_KEY],RetKey[MAX_KEY]; char buffer[BUF_LEN]; rc = dict->ReadLastKey(INDEX,RetKey,&recdata); RK->Caption=AnsiString(RetKey); eWord->Text=AnsiString(RetKey); if (rc==1) { mWord->Clear(); ...
example next... void __fastcall TMainForm::btNextClick(TObject *Sender) { int rc,recdata; char Key[MAX_KEY],RetKey[MAX_KEY]; char buffer[BUF_LEN]; rc = dict->ReadNextKey(RetKey,&recdata); RK->Caption=AnsiString(RetKey); eWord->Text=AnsiString(RetKey); if (rc==1) { mWord->Clear(); ...
example prev... void __fastcall TMainForm::btPrevClick(TObject *Sender) { int rc,recdata; char Key[MAX_KEY],RetKey[MAX_KEY]; char buffer[BUF_LEN]; rc = dict->ReadPrevKey(RetKey,&recdata); RK->Caption=AnsiString(RetKey); eWord->Text=AnsiString(RetKey); if (rc==1) { mWord->Clear(); rc...
example restore... void __fastcall TMainForm::btRestoreClick(TObject *Sender) { char tmp[250]; char name[250]; FILE *fp; int rc,nbisam; char buffer[BUF_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-...
example search... void __fastcall TMainForm::btSearchClick(TObject *Sender) { Search(); } //--------------------------------------------------------------------------- void __fastcall TMainForm::Search() { int rc,recdata; char Key[MAX_KEY],RetKey[MAX_KEY]; char buffer[BUF_LEN]; char tmp[256]; ...
example searchword... void __fastcall TMainForm::eWordKeyUp(TObject *Sender, WORD &Key, TShiftState Shift) { if (Key==13) Search(); } //--------------------------------------------------------------------------- ...
example start... void __fastcall TMainForm::btStartClick(TObject *Sender) { char tmp[250]; char name[250]; char html[250]; int i; FILE *fp; int rc; char buffer[BUF_LEN]; struct time t; int nbsec1,nbsec2; int hund1,hund2; int nbf; int K; TCursor oldCursor = Screen->Cursor; if (cb->Checked==tr...
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...
example version... void __fastcall TMainForm::btVersionClick(TObject *Sender) { char version[100]; dict->Version(version); Application->MessageBoxA(version,"Version",MB_OK); } //--------------------------------------------------------------------------- ...
example wordmouseup... void __fastcall TMainForm::mWordMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { char tmp[200]; mWord->GetSelTextBuf(tmp,100); if (strlen(tmp)==0) return; eWord->Text=AnsiString(tmp); Search(); } //---------------------------------------------...
sequential
example principle...Basic Sequential Access...
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... 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...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 build an Isam database, where entries can be acc...
example principle...Backup database : Sequential read of the database and save the content in the dict.txt file ...
example principle...Sequential read after direct read : you can read next or read previous from this location ...
example restore...Cursor = oldCursor; return; } nbrecords=0; nbisam=0; // read sequential data while (!feof(fp)) { buffer[0]=0; fgets(buffer,BUF_LEN,fp); if (strlen(buffer)>0) { nbisam++; IndexBuffer(buffer); } else nbrecords=nbrecords; ...
example start...Cursor = oldCursor; return; } // 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)...
example stat...-Read Sequential record in the dictionnary file ...
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 readfirst...ReadRecord(buffer,recdata); buffer[rc]=0; ............. } else ............ // another example : sequential reading of a file rc = db->ReadFirstKey(0,RetKey,&recdata); while (rc) { rc=db->ReadRecord(buffer,recdata); // processs the record .....................
sequentially
example principle...alled in a subdirectory ("dictionary") of your application. The program will build an Isam database, where entries can be accessed directly or sequentially. ...
sequentiel
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 ..................
set
example stat...-Concatenate definition if No duplicate Key option is set, else store definition in record ...
setindexmode
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 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 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 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...
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...
example start...SetIndexMode(INDEX,multi); rc = dict->SetIndexMode(INDEX+1,multi); } StatusBar1->SimpleText = ""; First(); Screen->Cursor = oldCursor; Beep(); EnableButtons(); Application->MessageBoxA("Indexation Finished","RealIsam",MB_OK); } //----------------------------------------...
example start...SetIndexMode(INDEX+1,multi); } StatusBar1->SimpleText = ""; First(); Screen->Cursor = oldCursor; Beep(); EnableButtons(); Application->MessageBoxA("Indexation Finished","RealIsam",MB_OK); } //--------------------------------------------------------------------------- ...
index_summary item9...SetIndexMode...
realisamdoc getnew...SetIndexMode(0,UNIQUE_KEY); strcpy(key,"doc30134"); recdata = db1->GetNewRecordNumber(); rc = db1->WriteKey(0,key,recdata); // index 0 if (!rc) { error / duplicate key... } else { // data are stored in buffer rc = db1->WriteRecord(buffer,strlen(buffer)); ...
realisamdoc include... realisam(void); ~realisam(void); int OpenEngine(char *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 DeleteRec...
realisamdoc setindex...SetIndexMode...
realisamdoc setindex...SetIndexMode(int Index, int Value); db is a database pointer. ...
realisamdoc setindex...SetIndexMode(0,UNIQUE_KEYS); rc = db1->SetIndexMode(1,DUPLICATE_KEYS); rc = db2->OpenEngine("scripts",504,,"ndx","dat"); // 504 + 8 ==> 512 !! rc = db2->SetIndexMode(0,UNIQUE_KEYS); if (!rc) { error db2 ... } // End rc = db1->CloseEngine(); rc = db2->CloseEngine(); ...
realisamdoc setindex...SetIndexMode(1,DUPLICATE_KEYS); rc = db2->OpenEngine("scripts",504,,"ndx","dat"); // 504 + 8 ==> 512 !! rc = db2->SetIndexMode(0,UNIQUE_KEYS); if (!rc) { error db2 ... } // End rc = db1->CloseEngine(); rc = db2->CloseEngine(); ...
realisamdoc setindex...SetIndexMode(0,UNIQUE_KEYS); if (!rc) { error db2 ... } // End rc = db1->CloseEngine(); rc = db2->CloseEngine(); ...
realisamdoc writekey...SetIndexMode(0,UNIQUE); rc = db1->SetIndexMode(1,DUPLICATE); rc = db2->OpenEngine("scripts",504,"ndx","dat"); // 504 + 8 ==> 512 !! rc = db2->SetIndexMode(0,UNIQUE); if (!rc) { error db2 ... } strcpy(key,"doc30134"); recdata = db1->GetNewRecordNumber(); rc = db1->WriteKey(0,key,rec...
realisamdoc writekey...SetIndexMode(1,DUPLICATE); rc = db2->OpenEngine("scripts",504,"ndx","dat"); // 504 + 8 ==> 512 !! rc = db2->SetIndexMode(0,UNIQUE); if (!rc) { error db2 ... } strcpy(key,"doc30134"); recdata = db1->GetNewRecordNumber(); rc = db1->WriteKey(0,key,recdata); // index 0 if (!...
realisamdoc writekey...SetIndexMode(0,UNIQUE); if (!rc) { error db2 ... } strcpy(key,"doc30134"); recdata = db1->GetNewRecordNumber(); rc = db1->WriteKey(0,key,recdata); // index 0 if (!rc) { error / duplicate key ... } rc = db1->WriteKey(1,"politics",recdata); // on index 1 , duplicate keys allowed...
settextbuf
example first...SetTextBuf(buffer); } } void __fastcall TMainForm::btFirstClick(TObject *Sender) { First(); } //--------------------------------------------------------------------------- ...
example last...SetTextBuf(buffer); } } //--------------------------------------------------------------------------- ...
example next...SetTextBuf(buffer); } } //--------------------------------------------------------------------------- ...
example prev...SetTextBuf(buffer); } } //--------------------------------------------------------------------------- ...
example search...SetTextBuf("Word Not Found"); } M_recdata=recdata; strcpy(M_Key,RetKey); } ...
example search...SetTextBuf(buffer); } } else { mWord->SetTextBuf("Word Not Found"); } M_recdata=recdata; strcpy(M_Key,RetKey); } ...
setup
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,"n...
realisamdoc constr...APPLIC.H #include "realisam.h" ................... realisam *db1; realisam *db2; .................. //APPLIC.CPP // in constructor or setup ................ db1 = new realisam(); db2 = new realisam(); ................ ...
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("html...
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 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 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 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 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 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(); ................ // Routin...
shift
example include...; void __fastcall btRestoreClick(TObject *Sender); void __fastcall eWordKeyUp(TObject *Sender, WORD &Key, TShiftState Shift); void __fastcall btUpdateClick(TObject *Sender); void __fastcall btDeleteClick(TObject *Sender); void __fastcall btDup...
example include... void __fastcall Exit2Click(TObject *Sender); void __fastcall mWordMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void __fastcall btBackupClick(TObject *Sender); void __fastcall btRestoreClick(TObject *Sender); void _...
example searchword... void __fastcall TMainForm::eWordKeyUp(TObject *Sender, WORD &Key, TShiftState Shift) { if (Key==13) Search(); } //--------------------------------------------------------------------------- ...
example wordmouseup... void __fastcall TMainForm::mWordMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { char tmp[200]; mWord->GetSelTextBuf(tmp,100); if (strlen(tmp)==0) return; eWord->Text=AnsiString(tmp); Search(); } //---------------------------------------------...
short
realisamdoc closereopen...int CloseReopen(char *FileName,short BlockSize,char *ndx, char *dat); ...
realisamdoc include..._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, short Value); int WriteRecord(char *pdata,int len); ...
realisamdoc include...cNumber); int ReadFirstKey(short Index,char *ReturnKey,int *RecNumber); int ReadNextKey(char *ReturnKey ,int *RecNumber); int ReadLastKey(short Index,char *ReturnKey,int *RecNumber); int ReadPrevKey(char *ReturnKey ,int *RecNumber); int ReadDirectKey(short Index,char *Key, char *Retu...
realisamdoc include...mber); int Version(char *p); int GetIndexMode(int ndx); int DeleteIsam(char *indexname,char *dataname); int CloseReopen(char *FileName,short BlockSize,char *ndx, char *dat); }; #ifdef __cplusplus } #endif #endif ...
realisamdoc include...Number); int ReadLastKey(short Index,char *ReturnKey,int *RecNumber); int ReadPrevKey(char *ReturnKey ,int *RecNumber); int ReadDirectKey(short Index,char *Key, char *ReturnKey, int *RecNumber); int NumberOfKeys(short Index); int RecordLength(int RecNumber); int Version(char *p); ...
realisamdoc include...t ReadPrevKey(char *ReturnKey ,int *RecNumber); int ReadDirectKey(short Index,char *Key, char *ReturnKey, int *RecNumber); int NumberOfKeys(short Index); int RecordLength(int RecNumber); int Version(char *p); int GetIndexMode(int ndx); int DeleteIsam(char *indexname,char *datanam...
realisamdoc include...sam(void); ~realisam(void); int OpenEngine(char *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 Re...
realisamdoc include...~realisam(void); int OpenEngine(char *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); i...
realisamdoc include...en, 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 RecNumber); int ReadFirstKey(short Index,char *ReturnKey,int *RecNum...
realisamdoc include... int ReadRecord(char *pdata,int RecNumber); int GetNewRecordNumber(); int WriteKey(short Index,char *Key,int RecNumber); int DeleteKey(short Index,char *Key,int RecNumber); int ReadFirstKey(short Index,char *ReturnKey,int *RecNumber); int ReadNextKey(char *ReturnKey ,int *RecNumbe...
realisamdoc include...ewRecordNumber(); int WriteKey(short Index,char *Key,int RecNumber); int DeleteKey(short Index,char *Key,int RecNumber); int ReadFirstKey(short Index,char *ReturnKey,int *RecNumber); int ReadNextKey(char *ReturnKey ,int *RecNumber); int ReadLastKey(short Index,char *ReturnKey,int *Re...
should
example principle... 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 build an Isam database, where entries can be accessed directly ...
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. ...
simpletext
example add...SimpleText="Entry Added"; } //--------------------------------------------------------------------------- ...
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 delete...SimpleText="Entry Deleted"; } //--------------------------------------------------------------------------- ...
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 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...SimpleText = ""; First(); Screen->Cursor = oldCursor; Beep(); EnableButtons(); Application->MessageBoxA("Indexation Finished","RealIsam",MB_OK); } //--------------------------------------------------------------------------- ...
example update...SimpleText="Entry Updated"; } //--------------------------------------------------------------------------- ...
simplify
realisamdoc overview...RealIsam uses the object-oriented technology for a faster and easier development and to simplify the source code. ...
since
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. ...
size
realisamdoc closereopen...Data Block Size ...
realisamdoc open...s 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 bytes wil...
realisamdoc open...d 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 overview...DLL module size, less than 90 KB ...
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 recordlength...ngth 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. ...
skey
example indexbuffer...xBuffer(char *buff) { char str[BUF_LEN],definition[BUF_LEN]; int length; char 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 ...
smart_init
example main_header... #include "Main.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TMainForm *MainForm; //--------------------------------------------------------------------------- __fastcall TMa...
software
example formcreate...Caption = "Alpes Software - " + AnsiString(tmp); // Get Number of Keys rc = dict->NumberOfKeys(INDEX); lKeys->Caption = AnsiString(rc); if (rc) First(); } //--------------------------------------------------------------------------- ...
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. ...
realisamdoc version... Return the version number of the realisam software. (210 for this version : 2.10) ...
source
example source...Source Program...
index_summary item32...nted Source...
realisamdoc overview...RealIsam uses the object-oriented technology for a faster and easier development and to simplify the source code. ...
space
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. ...
specified
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 number...This function provides the number of keys existing for a specified index. ...
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... 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 database with the same physical bloc...
realisamdoc overview...nores 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 organize records and to know...
realisamdoc readdirect...Direct search of a key in a specified index, and acquisition of the data pointer associated. ...
realisamdoc readfirst...read the first key on a specified. This function allows to start to read the first key of a specified index. ...
realisamdoc readfirst...read the first key on a specified. This function allows to start to read the first key of a specified index. ...
realisamdoc readlast... Read the last key of a specified index. ...
realisamdoc readnext...Read the next key in the current index . This function is generally used after a call to ReadFirstKey or un ReadDirectKey. The index is not specified in the call. ...
realisamdoc setindex... Define is keys are unique or duplicate for a specified index. realisam allows 64 index per database, from ...
specifiy
realisamdoc rewriterecord...ta 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. ...
speed
realisamdoc overview...enient for applications such as Internet, Intranet, Text database retrieval, when you need to store and get variable length documents at very high speed. ...
sprintf
example start...); 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); // Close ReOpen if (CheckB...
realisamdoc number...NumberOfKeys(0); // for index 0 sprintf(Key,"%07d",nb+1000); recdata =db->GetNewRecordNumber(); rc = db->WriteKey(0,Key,recdata); if (rc) db->WriteRecord(buffer,strlen(buffer)+1); .............. ...
sql
realisamdoc overview...Companion tools as words indexation and desindexation, local search engines, SQL interface are existing, but they are not integrated in the DLL ...
start
example principle...and Click On "Start Indexation" ...
realisamdoc readfirst...read the first key on a specified. This function allows to start to read the first key of a specified index. ...
statistics
example stat... Statistics...
index_summary item31...Statistics...
statusbar1-
example add...WriteRecord(buffer,strlen(buffer)+1); } StatusBar1->SimpleText="Entry Added"; } //--------------------------------------------------------------------------- ...
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 delete...DeleteRecord(M_recdata); First(); StatusBar1->SimpleText="Entry Deleted"; } //--------------------------------------------------------------------------- ...
example restore...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*60 + t.ti_sec; int elapsed = nbsec2-nbsec1; lElap->Caption...
example start...SetIndexMode(INDEX+1,multi); } StatusBar1->SimpleText = ""; First(); Screen->Cursor = oldCursor; Beep(); EnableButtons(); Application->MessageBoxA("Indexation Finished","RealIsam",MB_OK); } //--------------------------------------------------------------------------- ...
example update...RewriteRecord(buffer, strlen(buffer)+1,M_recdata); StatusBar1->SimpleText="Entry Updated"; } //--------------------------------------------------------------------------- ...
statusbar1
example include... TButton *btStart; TLabel *Label15; TEdit *eWord; TMemo *mWord; TLabel *lelapsed; TStatusBar *StatusBar1; TButton *btSearch; TLabel *lElap; TButton *btNext; TButton *btPrev; TButton *btFirst; TB...
still
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...
store
example stat...-Concatenate definition if No duplicate Key option is set, else store definition in record ...
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 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. ...
realisamdoc overview...etrieval, 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...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. ...
realisamdoc overview...ential 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. ...
stored
realisamdoc getnew...WriteKey(0,key,recdata); // index 0 if (!rc) { error / duplicate key... } else { // data are stored in buffer rc = db1->WriteRecord(buffer,strlen(buffer)); .............. } ................. // end rc = db1->CloseEngine(); rc = db2->Clos...
realisamdoc readrecord...llows 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 ReadRecord. ...
stores
realisamdoc version...Version(ver); // ver stores the string "Version x.y" (actually Version 2.3) ...
str
example add... void __fastcall TMainForm::btAddClick(TObject *Sender) { char Key[MAX_KEY],RetKey[MAX_KEY]; int rc, recdata; char buffer[BUF_LEN],str[BUF_LEN]; strcpy(Key,eWord->Text.c_str()); if (strlen(Key)==0) { Application->MessageBoxA("Key not provided","RealIsam",MB_OK); return; ...
example add...ReadRecord(str,recdata); strcat(str,"\r\n"); strcat(str,buffer); rc = dict->RewriteRecord(str, strlen(str)+1,recdata); } else { recdata=dict->GetNewRecordNumber(); rc = dict->WriteKey(INDEX,Key,recdata); rc = dict->WriteReco...
example add...ReadRecord(str,recdata); strcat(str,"\r\n"); strcat(str,buffer); rc = dict->RewriteRecord(str, strlen(str)+1,recdata); } else { recdata=dict->GetNewRecordNumber(); rc = dict->WriteKey(INDEX,Key,recdata); rc = dict->WriteReco...
example add...ReadRecord(str,recdata); strcat(str,"\r\n"); strcat(str,buffer); rc = dict->RewriteRecord(str, strlen(str)+1,recdata); } else { recdata=dict->GetNewRecordNumber(); rc = dict->WriteKey(INDEX,Key,recdata); rc = dict->WriteReco...
example add...RewriteRecord(str, strlen(str)+1,recdata); } else { recdata=dict->GetNewRecordNumber(); rc = dict->WriteKey(INDEX,Key,recdata); rc = dict->WriteRecord(buffer,strlen(buffer)+1); } } else // Key does not exist { re...
example add...RewriteRecord(str, strlen(str)+1,recdata); } else { recdata=dict->GetNewRecordNumber(); rc = dict->WriteKey(INDEX,Key,recdata); rc = dict->WriteRecord(buffer,strlen(buffer)+1); } } else // Key does not exist { re...
example indexbuffer... ///////////////////////////////////////////////////// int __fastcall TMainForm::IndexBuffer(char *buff) { char str[BUF_LEN],definition[BUF_LEN]; int length; char Key[MAX_KEY],RetKey[MAX_KEY]; int rc,recdata; char *p; char SKey[MAX_KEY]; int l,i; length=ExtractValue(str,buff,"P",0);...
example indexbuffer...inition[BUF_LEN]; int length; char 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 ...
strcat
example add...ReadRecord(str,recdata); strcat(str,"\r\n"); strcat(str,buffer); rc = dict->RewriteRecord(str, strlen(str)+1,recdata); } else { recdata=dict->GetNewRecordNumber(); rc = dict->WriteKey(INDEX,Key,recdata); rc = dict->WriteReco...
example add...ReadRecord(str,recdata); strcat(str,"\r\n"); strcat(str,buffer); rc = dict->RewriteRecord(str, strlen(str)+1,recdata); } else { recdata=dict->GetNewRecordNumber(); rc = dict->WriteKey(INDEX,Key,recdata); rc = dict->WriteReco...
example backup...MessageBoxA(tmp,"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 (...
example backup...ReadRecord(buffer,recdata); if (rc) { nbisam++; if (multi==1) { strcpy(html,"<P><B>"); strcat(html,RetKey); strcat(html,"</B> (<I></I>) "); strcat(html,buffer); strcat(html,"</P>\n"); fputs...
example backup...buffer,recdata); if (rc) { nbisam++; if (multi==1) { strcpy(html,"<P><B>"); strcat(html,RetKey); strcat(html,"</B> (<I></I>) "); strcat(html,buffer); strcat(html,"</P>\n"); fputs(html,fp); ...
example backup... if (multi==1) { strcpy(html,"<P><B>"); strcat(html,RetKey); strcat(html,"</B> (<I></I>) "); strcat(html,buffer); strcat(html,"</P>\n"); fputs(html,fp); nbseq++; } else // extract concatenated it...
example backup...py(html,"<P><B>"); strcat(html,RetKey); strcat(html,"</B> (<I></I>) "); strcat(html,buffer); strcat(html,"</P>\n"); fputs(html,fp); nbseq++; } else // extract concatenated items { p1=buf...
example backup... fputs(html,fp); nbseq++; p1=p+1; p=strchr(p1,'\n'); } strcpy(html,"<P><B>"); strcat(html,RetKey); strcat(html,"</B> (<I></I>) "); strcat(html,p1); strcat(html,"</P>\n")...
example backup...nbseq++; p1=p+1; p=strchr(p1,'\n'); } strcpy(html,"<P><B>"); strcat(html,RetKey); strcat(html,"</B> (<I></I>) "); strcat(html,p1); strcat(html,"</P>\n"); fputs(h...
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,...
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...gt;<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'); } st...
example backup...<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); Application->...
example backup... p=strchr(p1,'\r'); while (p) { *p=0; p++; *p=0; strcpy(html,"<P><B>"); strcat(html,RetKey); strcat(html,"</B> (<I></I>) "); strcat(html,p1); strcat(html,"</P&g...
example backup...p1,'\r'); while (p) { *p=0; p++; *p=0; strcpy(html,"<P><B>"); strcat(html,RetKey); strcat(html,"</B> (<I></I>) "); strcat(html,p1); strcat(html,"</P>\n"); ...
example duplicate...Cursor; strcpy(name,dict_directory);strcat(name,"dupli.ndx"); rc = unlink (name); strcpy(name,dict_directory);strcat(name,"dupli.dat"); rc =unlink (name); Screen->Cursor = crHourGlass; DisableButtons(); strcpy(name,dict_directory);strcat(name,"dupli"); rc = dupli->OpenEngine(nam...
example duplicate...Cursor = crHourGlass; DisableButtons(); strcpy(name,dict_directory);strcat(name,"dupli"); rc = dupli->OpenEngine(name,120,"ndx","dat"); //120 = 128 - 8 rc = dupli->SetIndexMode(INDEX,multi); // if MULTI == 1 duplicate key allowed // nbrecords=0; nbseq=0; nbisam=0; rc = dict->ReadF...
example duplicate...Cursor; strcpy(name,dict_directory);strcat(name,"dupli.ndx"); rc = unlink (name); strcpy(name,dict_directory);strcat(name,"dupli.dat"); rc =unlink (name); Screen->Cursor = crHourGlass; DisableButtons(); strcpy(name,dict_directory);strcat(name,"dupli"); rc = dupli->OpenEngine(nam...
example formcreate...ir; int rc; int mode; char tmp[100]; Dir = GetCurrentDir(); 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(n...
example formcreate...); 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->OpenEngine(name,120,"ndx","dat"); //120 = 128 - 8 multi = dict->GetIndexMode(INDEX); if...
example restore...CloseEngine(); // delete isam files strcpy(name,dict_directory);strcat(name,"dict.ndx"); rc = unlink (name); strcpy(name,dict_directory);strcat(name,"dict.dat"); rc =unlink (name); Screen->Cursor = crHourGlass; DisableButtons(); eWord->Text==""; mWord->Clear(); gettime(&t); ...
example restore...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 MULTI == 1 duplicate key a...
example restore...CloseEngine(); // delete isam files strcpy(name,dict_directory);strcat(name,"dict.ndx"); rc = unlink (name); strcpy(name,dict_directory);strcat(name,"dict.dat"); rc =unlink (name); Screen->Cursor = crHourGlass; DisableButtons(); eWord->Text==""; mWord->Clear(); gettime(&t); ...
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 start...CloseEngine(); // delete isam files strcpy(tmp,dict_directory);strcat(tmp,"dict.ndx"); rc = unlink (tmp); strcpy(name,dict_directory);strcat(name,"dict.dat"); rc =unlink (name); Screen->Cursor = crHourGlass; DisableButtons(); eWord->Text=""; mWord->Clear(); RK->Caption...
example start...CloseEngine(); // delete isam files strcpy(tmp,dict_directory);strcat(tmp,"dict.ndx"); rc = unlink (tmp); strcpy(name,dict_directory);strcat(name,"dict.dat"); rc =unlink (name); Screen->Cursor = crHourGlass; DisableButtons(); eWord->Text=""; mWord->Clear(); RK->Caption...
example start... nbsec1 = t.ti_hour*3600+t.ti_min*60 + t.ti_sec; hund1 = nbsec1*100 + t.ti_hund; // 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 MULTI == 1 duplicate...
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...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,multi); } StatusBar1->SimpleText = ""; First(); Screen->Cursor = old...
strchr
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...\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>"); strcat(html,RetKey)...
strcpy
example add...astcall TMainForm::btAddClick(TObject *Sender) { char Key[MAX_KEY],RetKey[MAX_KEY]; int rc, recdata; char buffer[BUF_LEN],str[BUF_LEN]; strcpy(Key,eWord->Text.c_str()); if (strlen(Key)==0) { Application->MessageBoxA("Key not provided","RealIsam",MB_OK); return; } ...
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...Cursor = crHourGlass; strcpy(tmp,lIndex->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); wh...
example backup...MessageBoxA(tmp,"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 (...
example backup...ReadRecord(buffer,recdata); if (rc) { nbisam++; if (multi==1) { strcpy(html,"<P><B>"); strcat(html,RetKey); strcat(html,"</B> (<I></I>) "); strcat(html,buffer); strcat(html,"</P>\n"); fputs...
example backup...cat(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>) "); strcat(html,p1); ...
example backup...s { p1=buffer; p=strchr(p1,'\r'); while (p) { *p=0; p++; *p=0; strcpy(html,"<P><B>"); strcat(html,RetKey); strcat(html,"</B> (<I></I>) "); strcat(html,p1); ...
example duplicate...char name[MAX_PATH]; int rc, recdata,recdata_dupli; dupli = new realisam(); char RetKey[MAX_KEY]; 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_Y...
example duplicate...Cursor; strcpy(name,dict_directory);strcat(name,"dupli.ndx"); rc = unlink (name); strcpy(name,dict_directory);strcat(name,"dupli.dat"); rc =unlink (name); Screen->Cursor = crHourGlass; DisableButtons(); strcpy(name,dict_directory);strcat(name,"dupli"); rc = dupli->OpenEngine(nam...
example duplicate...Cursor = crHourGlass; DisableButtons(); strcpy(name,dict_directory);strcat(name,"dupli"); rc = dupli->OpenEngine(name,120,"ndx","dat"); //120 = 128 - 8 rc = dupli->SetIndexMode(INDEX,multi); // if MULTI == 1 duplicate key allowed // nbrecords=0; nbseq=0; nbisam=0; rc = dict->ReadF...
example duplicate...Cursor; strcpy(name,dict_directory);strcat(name,"dupli.ndx"); rc = unlink (name); strcpy(name,dict_directory);strcat(name,"dupli.dat"); rc =unlink (name); Screen->Cursor = crHourGlass; DisableButtons(); strcpy(name,dict_directory);strcat(name,"dupli"); rc = dupli->OpenEngine(nam...
example extractvalue..."); p = strstr(buff,tmp); l=0; if (p) { strcpy(tmp,"...
example extractvalue...ll 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 first...ReadRecord(buffer,recdata); M_recdata=recdata; strcpy(M_Key,RetKey); if (rc) mWord->SetTextBuf(buffer); } } void __fastcall TMainForm::btFirstClick(TObject *Sender) { First(); } //--------------------------------------------------------------------------- ...
example formcreate...call 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); strcat(dict_directory,"\\dictionary\\"); // REALISAM ALLOWS 64 INDEXES ...
example formcreate...nder) { 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); strcat(dict_directory,"\\dictionary\\"); // REALISAM ALLOWS 64 INDEXES : Value from 0 to 63 INDEX=0; ...
example formcreate...ict_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->OpenEngine(name,120,"ndx","dat"); //120 = 128 - 8 multi = dic...
example last...ReadRecord(buffer,recdata); M_recdata=recdata; strcpy(M_Key,RetKey); if (rc) mWord->SetTextBuf(buffer); } } //--------------------------------------------------------------------------- ...
example next...ReadRecord(buffer,recdata); M_recdata=recdata; strcpy(M_Key,RetKey); if (rc) mWord->SetTextBuf(buffer); } } //--------------------------------------------------------------------------- ...
example prev...ReadRecord(buffer,recdata); M_recdata=recdata; strcpy(M_Key,RetKey); if (rc) mWord->SetTextBuf(buffer); } } //--------------------------------------------------------------------------- ...
example restore...CloseEngine(); // delete isam files strcpy(name,dict_directory);strcat(name,"dict.ndx"); rc = unlink (name); strcpy(name,dict_directory);strcat(name,"dict.dat"); rc =unlink (name); Screen->Cursor = crHourGlass; DisableButtons(); eWord->Text==""; mWord->Clear(); gettime(&t); ...
example restore...CloseEngine(); // delete isam files strcpy(name,dict_directory);strcat(name,"dict.ndx"); rc = unlink (name); strcpy(name,dict_directory);strcat(name,"dict.dat"); rc =unlink (name); Screen->Cursor = crHourGlass; DisableButtons(); eWord->Text==""; mWord->Clear(); gettime(&t); ...
example restore...(TObject *Sender) { char tmp[250]; char name[250]; FILE *fp; int rc,nbisam; char buffer[BUF_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_YESN...
example restore...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 MULTI == 1 duplicate key a...
example restore...Clear(); gettime(&t); nbsec1 = t.ti_hour*3600+t.ti_min*60 + t.ti_sec; strcpy(tmp,lIndex->Caption.c_str()); INDEX=atoi(tmp); if (INDEX ...
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 search...Clear(); return; } INDEX=0; strcpy(Key,eWord->Text.c_str()); strlwr(Key); rc = dict->ReadDirectKey(INDEX,Key,RetKey,&recdata); RK->Caption=AnsiString(RetKey); eWord->Text=AnsiString(RetKey); if (rc==1) { rc=dict->ReadRecord(buffer,recdata); if (rc) { ...
example search...SetTextBuf("Word Not Found"); } M_recdata=recdata; strcpy(M_Key,RetKey); } ...
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...Caption=""; // GET INDEX VALUE; strcpy(tmp,lIndex->Caption.c_str()); INDEX=atoi(tmp); if (INDEX ...
example start...CloseEngine(); // delete isam files strcpy(tmp,dict_directory);strcat(tmp,"dict.ndx"); rc = unlink (tmp); strcpy(name,dict_directory);strcat(name,"dict.dat"); rc =unlink (name); Screen->Cursor = crHourGlass; DisableButtons(); eWord->Text=""; mWord->Clear(); RK->Caption...
example start...CloseEngine(); // delete isam files strcpy(tmp,dict_directory);strcat(tmp,"dict.ndx"); rc = unlink (tmp); strcpy(name,dict_directory);strcat(name,"dict.dat"); rc =unlink (name); Screen->Cursor = crHourGlass; DisableButtons(); eWord->Text=""; mWord->Clear(); RK->Caption...
example start...ProcessMessages(); // Get Number of Files to Index strcpy(tmp,edFile->Text.c_str()); nbf=atoi(tmp); nbf--; if (nbf...
example start...f=25; gettime(&t); nbsec1 = t.ti_hour*3600+t.ti_min*60 + t.ti_sec; hund1 = nbsec1*100 + t.ti_hund; // 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)...
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...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,multi); } StatusBar1->SimpleText = ""; First(); Screen->Cursor = old...
realisamdoc getnew...SetIndexMode(0,UNIQUE_KEY); strcpy(key,"doc30134"); recdata = db1->GetNewRecordNumber(); rc = db1->WriteKey(0,key,recdata); // index 0 if (!rc) { error / duplicate key... } else { // data are stored in buffer rc = db1->WriteRecord(buffer,strlen(buffer)); ...
realisamdoc writekey...SetIndexMode(0,UNIQUE); if (!rc) { error db2 ... } strcpy(key,"doc30134"); recdata = db1->GetNewRecordNumber(); rc = db1->WriteKey(0,key,recdata); // index 0 if (!rc) { error / duplicate key ... } rc = db1->WriteKey(1,"politics",recdata); // on index 1 , duplicate keys allowed...
string
realisamdoc deleteisam...Character string indexname, character string dataname; ...
realisamdoc deleteisam...Character string indexname, character string dataname; ...
realisamdoc deletekey...Key = pointer on a character string with the value of 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 readlast...Key is a pointer on a character string, large enough to receive the value of the key (250 char . max) ...
realisamdoc readnext...Key is a pointer on a character string that will receive the value of the key. ...
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... 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 ReadRecord. ...
realisamdoc readrecord...buffer : pointer on a character string ...
realisamdoc version...Version Number, in a character string. ...
realisamdoc version...Version(ver); // ver stores the string "Version x.y" (actually Version 2.3) ...
strings
realisamdoc overview...he 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. ...
realisamdoc readrecord...ction 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 ReadRecord. ...
reali