[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 3.4 GPC Units

- Compiler features related to units:

  - ``uses'` and ``import'` may now occur multiple times in a program, unit/module interface or unit/module implementation, even between declarations.
  - ``gpc-main'` settings are now possible in units
  - ``public'` and ``private'` directives for interfaces

- CRT:

  - Works now under Cygwin and mingw.
  - DJGPP: support for 40 column modes (requires updated PDCurses library)
  - Renamed the the conditional to get an X11 version from XCURSES to X11. (@)
  - Renamed GetScreenSize to ScreenSize (WinCRT compatibility) (B) (@)
  - WindowOrg, WindowSize, Cursor, Origin, InactiveTitle, AutoTracking, WindowTitle, (variables), ScrollTo, TrackCursor (WinCRT compatibility) (B)
  - SimulateBlockCursor, SimulateBlockCursorOff
  - Curses is not initialized at the beginning of the program, but rather when the first CRT routine is called. (B)
  - CRTInit to explicitly initialize CRT and also set some defaults (PCCharSet and update level) to more natural (and less BP compatible) values.
  - CRTSetTerminal
  - CRTAutoInitProc (variable)
  - CRTNotInitialized
  - CRTSavePreviousScreen
  - CRTSavePreviousScreenWorks
  - Any of the parameters to GetWindow may now be ``Null'`.
  - Support for panels (overlapping windows): GetActivePanel, PanelNew, PanelDelete, PanelBindToBackground, PanelIsBoundToBackground, PanelActivate, PanelHide, PanelShow, PanelHidden, PanelTop, PanelBottom, PanelMoveAbove, PanelMoveBelow, PanelAbove, PanelBelow, IgnoreCursor
  - Replaced the variables PCCharSet and UseControlChars by routines SetPCCharSet, GetPCCharSet, SetControlChars, GetControlChars. (@)
  - SetScreenSize
  - SetMonochrome
  - Renamed IsMonoMode to IsMonochrome. (@)
  - On ncurses platforms, changing the screen is now done through a shell command definable in the environment variable ``RESIZETERM'` (which defaults to ``resize'`, ``SVGATextMode'` and ``setfont'`). The variables ``crt_setfont_command_80_25'`, ``crt_setfont_command_80_50'`, ``crt_setfont_command_40_25'` and ``crt_setfont_command_40_50'` (Linux only) were removed. (@)
  - CRTUpdate
  - CRTRedraw
  - SetScroll
  - CRTSetCursesMode
  - RestoreTerminalClearCRT
  - CtrlKey
  - AltKey
  - AltGrKey
  - ExtraKey
  - constants chCtrlA ... chCtrlZ, kbCtrlA ... kbCtrlZ
  - Catch some signals and return pseudo function keys for them if CheckBreak is False.
  - React to screen size changes by external events and return a pseudo function key.
  - Reduced the (already small) system-dependent code, and added an overview of the few problematic features in the comment at the beginning of crt.pas.

- RegEx:

  - RegExPosFrom
  - CharSet2RegEx
  - Support for converting subexpression or complete matching references to upper or lower case while replacing them with ``\u7'` or ``\l7'`.
  - In ``RegExType'`, the field ``Error'` is now of type ``PString'` rather than ``CString'`. (@)

- GMP:

  - mpf_exp
  - mpf_ln
  - mpf_pow
  - mpf_arctan
  - mpf_pi
  - The unit now works with version 4.x of the GMP library, but it also still works with version 2.x or 3.x.

- System:

  - SetTextBuf (B)
  - CompToDouble (D)
  - DoubleToComp (D)
  - AllocMemCount (D)
  - AllocMemSize (D)
  - Assert (D)
  - DefaultAssertErrorProc
  - AssertErrorProc (variable) (D)
  - NoErrMsg (variable) (D)
  - RealToBPReal, BPRealToReal to convert between binary BP compatible 6 byte reals and GPC's reals (useful, e.g., for binary file exchange with BP programs) (B)
  - Ofs, Seg, Ptr, CSeg, DSeg, SSeg, SPtr (mostly useless and only for BP compatibility) (B)
  - A number of variables like SelectorInc (mostly useless and only for BP compatibility) (B)
  - Renamed the ``__BP_INTEGERS__'` conditional to ``__BP_TYPE_SIZES__'`. (@)
  - New conditional ``__BP_PARAMSTR_0__'`

- Dos, WinDos:

  - GetCBreak
  - SetCBreak
  - GetVerify
  - SetVerify
  - Renamed the ``_Borland_16_Bit_'` conditional to ``__BP_TYPE_SIZES__'`. (@)
  - Intr, MsDos, only under DJGPP if ``__BP_UNPORTABLE_ROUTINES__'` is defined. (B)
  - DosVersion, SetDate, SetTime, only if ``__BP_UNPORTABLE_ROUTINES__'` is defined (emulated on non-DJGPP). (B)

- Pipe:

  - New parameter ``Process'` to Pipe (@)
  - WaitPipeProcess

- PExecute:

  - Routines moved to the ``Pipe'` unit. The ``PExecute'` unit does not exist anymore. (@)

- GetOpt:

  - ResetGetOpt
  - ``GetOptErrorFlag'` is now True by default. (@)
  - Integrated into the RTS so you don't need a ``uses GetOpt'` directive anymore. (@)
  - Renamed the variables and constants used (see gpc.pas under ``Command Line Option Parsing'`). (@)
  - ``GetOptLong'` can now optionally derive the short options from the ``LongOptions'` array.

- DosUnix:

  - OEM2Latin1
  - Latin12OEM

- WinCRT:

  New unit (identical to CRT) (B)

- HeapMon:

  New unit for (simple) heap checking.

- Trap:

  New unit for runtime error trapping.

- MD5:

  New unit for computing MD5 message digests.

- FileUtils:

  New unit with some file and directory utilities.

- StringUtils:

  New unit with some string utilities.

- Intl:

  New unit for internationalization.

- GPC-BP:

  A ``GPC'` unit for BP to provide some GPC compatibility to BP programs and make it easier to gradually convert them to GPC. (G)

A few of the units (in particular: CRT, GMP and RegEx) require libraries. The sources of the libraries, with small patches where necessary, as well as binaries for i586-pc-linux-gnu, i586-pc-linux-gnulibc1, m68k-linux, sparc-sun-solaris2, i386-pc-go32, i386-pc-cygwin32 and i386-pc-mingw32 are available from

    http://www.gnu-pascal.de/libs/

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

This document was generated by Frank Heckenbach on May, 10 2002 using texi2html