SlideServe
Menu
Préférences
© SlideServe · v2026

Programming in ISIS

nariko avatar
11 diapositives · 382 Views · Aug 22, 2014

Programming in ISIS. an introduction (by E. de Smet, Univ. of Antwerp). Why programming in a database ?. Extension of functions which are lacking, e.g. in ISIS/DOS : printing first occurrence only, limiting length of output etc.

Programming in ISIS - slide 1
01 / 11Programming in ISIS
1 / 17

Télécharger la présentation

Programming in ISIS
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Programming in ISIS an introduction(by E. de Smet, Univ. of Antwerp)

  2. Why programming in a database ? • Extension of functions which are lacking, e.g. in ISIS/DOS : printing first occurrence only, limiting length of output etc. • Solving problems which are a-typical, e.g. GMOD : global changes in database, changing tags of fields, adding subfields in all records etc. • Adding ‘interface’ e.g. more user-friendly ways of dealing with the software

  3. 3 types of ISIS-programming • ISIS/Pascal : as ‘format exits’ or as ‘menu exits’ • format exits : ISIS/DOS and WinISIS, no ‘interface’ • menu exits : only ISIS/DOS • ISISDLL : GUI applications based on pre-programmed ISIS-functions in DLL, running (in- or) outside WinISIS • ISIS-plugins : GUI applications based on any language but with links to running ISIS-environment (open database, PFT..), running within WinISIS (not yet fully implemented)

  4. ISIS/Pascal : Format Exits • small functions for processing not available in Formatting Language, mostly processing database values, e.g. • lenlim : limit output of field to max. length • occ1 : take only first occurrence • simple example : hello.pas Program HELLO(s1:string, lw,occ:real, s2:string)[FORMAT]; Begin s2:=s1; End. • calling in PFT : &hello(‘Hello !’)

  5. ISIS/Pascal : Menu Exits • small, upto full-fledged programs to be run as an option in an ISIS/DOS menu or as ‘R’ in the ‘Advanced Programming Services’ main-menu item (not WinISIS) • e.g. : GMOD (global changes), ODIN (data entry), IRIS (searching), Heurisko… • example : Program HELLO[MENU]; Begin {very beginning of program} Clear; {clears the screen in DOS-window) Cursor(11,11); {puts cursor at position x=11 y=11} Writeln(‘HELLO !'); {writes text at cursorposition} End. {very end of program} (does not run in WinISIS because of ‘interface’)

  6. Exercise : your own ‘hello’ program • 3 steps : • Writing the ‘source’ with text-editor • Compiling the source to ‘binary’ with WinISIS • Running the program from a format • Writing source : beware of small things, esp. interpunction ! E.g. :=, ;, “ vs. ‘ ‘ etc. • Compiling (not on NTFS-disks..) and debugging, using debug-info from WinISIS • Run in PFT : &HELLO(‘your text’)

  7. ISISDLL Programming • ISISDLL : a ‘library’, dynamically linked into other programmes invoking standard functions pre-programmed in the DLL, taking away the need to deal with most complicated ISIS-input/output operations • most used programming environments : • C++ - JAVA • Visual Basic • Delphi (Pascal) • modern programming is ‘object’-based : all parts are objects with properties and ‘methods’ • e.g. PFTText.text is the ‘text’property of the input-object PFTText) • srcMFN.MFN = MFN part of the ‘structure’ srcMFN in which all MFN’s are put by function call IsisSrcMfnMap(a,0,0,i,i,srcMFN)

  8. ISISDLL : the components • programmed and provided for free by : BIREME (and UNESCO) at http://www.bireme.br/isis/l/isisdll.htm • ISISDLL.DLL : the real library file • ISIS001.* (.PAS for Delphi) : constants and structure declarations • ISIS32.* (.PASfor Delphi) : declarations for all DLL functions • current release : v.7 (fall 2001)

  9. ISISDLL Programming (2) • e.g. functions to open a database, read and format a record (in Delphi) : • a:= IsisAppNew; {creates a temporary memory space for an ISIS-application} • h:= IsisSpaNew(a); {creates a new ISIS_DLL space} • r:= IsisSpaMf(h, PChar(PChar(dbText.Text))); {organises memory to contain one record of the database given in dbText and all necessary database-elements} • r:= IsisRecRead(h, 0, srcMfn.mfn); {reads MFN into memory} • r:= IsisSpaPft(h, PChar(pftText.Text)); {puts the whole Formatting Language in memory to work with the PFT as given in pftText} • r:=IsisRecFormat(h, 0, Area, 60000); {actually formats the current record according to the current selected format and puts the output in the memoryspace Area}

  10. ISISDLL programming example • WinIRIS : simple searching in Windows • features : • database selection and PFT selection (file or actual formatting statements) • about box • dictionary consultation while typing search terms with Windows-style Ctrl or Shift-click for multiple selection • immediate results display • only 260 lines of code, thanks to ISISDLL ! Most of them generated by ‘rapid graphical programming environment’ • WinIRIS Delphi project

  11. WinISIS plugins • WinISIS plug-in : executable softwares, inserted in WinISIS-menu’s, knowing how to read the actual database and configuration (PFT, record, IF etc.) • adding into menu (= database MSENDF.MST) FreeText search[CALL freetext.exe]will allow ‘FreeText’ plugin to be invoked from the menu • waiting for the specs (’API’)… still not officially released