Sfoglia il codice sorgente

* PChar -> PAnsiChar

Michaël Van Canneyt 2 anni fa
parent
commit
79fd772870

+ 7 - 7
packages/ncurses/examples/db_demo.pp

@@ -31,20 +31,20 @@ Type
 
 
    tFields = Record
    tFields = Record
       x,y,wid : integer;
       x,y,wid : integer;
-      pic : string;
+      pic : shortstring;
    End;
    End;
 
 
 Var
 Var
    win : tnWindow;
    win : tnWindow;
    address : Array [1..MAXROWS] of tAddress;
    address : Array [1..MAXROWS] of tAddress;
    fields : Array [1..MAXCOLS] of tFields;
    fields : Array [1..MAXCOLS] of tFields;
-   s : string;
+   s : shortstring;
    i,
    i,
    m1,m2,
    m1,m2,
    att1,att2,att3,
    att1,att2,att3,
    row,
    row,
    col : integer;
    col : integer;
-   ch : char;
+   ch : AnsiChar;
    IsDone : boolean;
    IsDone : boolean;
 
 
 Procedure Display(row : integer);
 Procedure Display(row : integer);
@@ -71,8 +71,8 @@ End;
 Procedure BindArrows;
 Procedure BindArrows;
 Begin
 Begin
    win.ec.Special := ^I^R^L^P^N;
    win.ec.Special := ^I^R^L^P^N;
-   m1 := win.ec.AddChMap(#0+Char(nKeyRight)+^R#0);
-   m2 := win.ec.AddChMap(#0+Char(nKeyLeft)+^L#0);
+   m1 := win.ec.AddChMap(#0+AnsiChar(nKeyRight)+^R#0);
+   m2 := win.ec.AddChMap(#0+AnsiChar(nKeyLeft)+^L#0);
    win.FWrite(1,win.Rows,48,0,'[F2]-Arrows');
    win.FWrite(1,win.Rows,48,0,'[F2]-Arrows');
 End;
 End;
 
 
@@ -122,8 +122,8 @@ Begin
       Writeln('     Street [                                        ]');
       Writeln('     Street [                                        ]');
       Write  ('   Zip/City [  ]-[     ] [                              ]');
       Write  ('   Zip/City [  ]-[     ] [                              ]');
       Show;
       Show;
-      ec.AddChMap(^P#0#0+Char(nKeyPgUp));
-      ec.AddChMap(^N#0#0+Char(nKeyPgDn));
+      ec.AddChMap(^P#0#0+AnsiChar(nKeyPgUp));
+      ec.AddChMap(^N#0#0+AnsiChar(nKeyPgDn));
       BindArrows;
       BindArrows;
       row := 1;
       row := 1;
       col := 1;
       col := 1;

+ 9 - 9
packages/ncurses/examples/edit_demo.pp

@@ -32,7 +32,7 @@ type
    { doubly linked list of strings to edit }
    { doubly linked list of strings to edit }
    pLine = ^tLine;
    pLine = ^tLine;
    tLine = Record
    tLine = Record
-      s : ^string;
+      s : ^shortstring;
       next,
       next,
       prev : pLine;
       prev : pLine;
    End;
    End;
@@ -43,7 +43,7 @@ var
    line,                           { current position in list }
    line,                           { current position in list }
    line1 : pLine;                  { first list item of current page }
    line1 : pLine;                  { first list item of current page }
    ss : array[1..MAXLINES] of s80; { a sliding screen buffer }
    ss : array[1..MAXLINES] of s80; { a sliding screen buffer }
-   xp,yp : string;                 { x & y positions for the status line }
+   xp,yp : shortstring;                 { x & y positions for the status line }
    EdWin,                          { main edit window }
    EdWin,                          { main edit window }
    StatWin : tnWindow;             { status line }
    StatWin : tnWindow;             { status line }
    mnu0 : tnMenu;                  { main menu }
    mnu0 : tnMenu;                  { main menu }
@@ -57,11 +57,11 @@ var
    mactive,                        { is the menu active? }
    mactive,                        { is the menu active? }
    Finished : boolean;             { exit when finished }
    Finished : boolean;             { exit when finished }
    tf : text;                      { the text file we are reading/writing }
    tf : text;                      { the text file we are reading/writing }
-   fnam : string;                  { name of the current file, tf }
+   fnam : shortstring;                  { name of the current file, tf }
 
 
 
 
 { replace the old string with a new one }
 { replace the old string with a new one }
-Procedure ReallocateLine(var p : pLine; s : string);
+Procedure ReallocateLine(var p : pLine; s : shortstring);
 Begin
 Begin
    If p = Nil Then Exit;
    If p = Nil Then Exit;
    If p^.s^ <> s Then Begin
    If p^.s^ <> s Then Begin
@@ -72,7 +72,7 @@ Begin
 End;
 End;
 
 
 { insert a new pline into the edit list before p }
 { insert a new pline into the edit list before p }
-Procedure InsertLine(var p : pLine; s : string);
+Procedure InsertLine(var p : pLine; s : shortstring);
 Var
 Var
    tmp : pLine;
    tmp : pLine;
 Begin
 Begin
@@ -159,7 +159,7 @@ Begin
    h^.s := nil;
    h^.s := nil;
 End;
 End;
 
 
-Function PromptFile(hs : string; var s : string) : integer;
+Function PromptFile(hs : shortstring; var s : shortstring) : integer;
 Var
 Var
    win : pnWindow;
    win : pnWindow;
    ret : integer;
    ret : integer;
@@ -180,7 +180,7 @@ End;
 { prompt for, and open a text file }
 { prompt for, and open a text file }
 Function OpenFile(var f : text; prompt : boolean) : boolean;
 Function OpenFile(var f : text; prompt : boolean) : boolean;
 Var
 Var
-   s : string;
+   s : shortstring;
    tst : text;
    tst : text;
    ret : integer;
    ret : integer;
 Begin
 Begin
@@ -213,7 +213,7 @@ End;
 Procedure ReadFile(var f : text; prompt : boolean);
 Procedure ReadFile(var f : text; prompt : boolean);
 Var
 Var
    err : boolean;
    err : boolean;
-   s : string;
+   s : shortstring;
    win : pnWindow;
    win : pnWindow;
 Begin
 Begin
    If Not OpenFile(f,prompt) Then Exit;
    If Not OpenFile(f,prompt) Then Exit;
@@ -244,7 +244,7 @@ Procedure SaveFile(var f : text);
 Var
 Var
    tmp : text;
    tmp : text;
    s,
    s,
-   tnam : string;
+   tnam : shortstring;
    cur : pLine;
    cur : pLine;
    win : pnWindow;
    win : pnWindow;
 Begin
 Begin

+ 2 - 2
packages/ncurses/examples/menu_demo.pp

@@ -2,7 +2,7 @@ uses
   ncurses,menu;
   ncurses,menu;
 
 
 const
 const
-  choices : array[0..5] of pchar = (
+  choices : array[0..5] of PAnsiChar = (
                         'Choice 1',
                         'Choice 1',
                         'Choice 2',
                         'Choice 2',
                         'Choice 3',
                         'Choice 3',
@@ -10,7 +10,7 @@ const
                         'Exit',
                         'Exit',
                         nil
                         nil
                   );
                   );
-procedure print_in_middle(win : PWINDOW;starty,startx,width : longint;_string : pchar;color : chtype);
+procedure print_in_middle(win : PWINDOW;starty,startx,width : longint;_string : PAnsiChar;color : chtype);
   var
   var
     length,x,y : longint;
     length,x,y : longint;
     temp : single;
     temp : single;

+ 2 - 2
packages/ncurses/examples/ocrt_demo.pp

@@ -25,8 +25,8 @@ uses oCrt;
 var
 var
    win,win1,
    win,win1,
    stdscr : pwin;
    stdscr : pwin;
-   s : string;
-   c : char;
+   s : shortstring;
+   c : AnsiChar;
    i,j,k,x,y : integer;
    i,j,k,x,y : integer;
 
 
 var
 var

+ 1 - 1
packages/ncurses/examples/t1form.pp

@@ -3,7 +3,7 @@ program form_basic;
   Example 25. Forms Basics
   Example 25. Forms Basics
   from ncurses howto
   from ncurses howto
 
 
-  Possible bug: moving cursors before first char doesn't seem to work.
+  Possible bug: moving cursors before first AnsiChar doesn't seem to work.
 }
 }
 {$MODE OBJFPC}
 {$MODE OBJFPC}
 
 

+ 1 - 1
packages/ncurses/examples/t1menu.pp

@@ -10,7 +10,7 @@ uses
   ncurses, menu;
   ncurses, menu;
 
 
 const
 const
-  choices: array[0..4] of PChar  =
+  choices: array[0..4] of PAnsiChar  =
                       (
                       (
                         'Choice 1',
                         'Choice 1',
                         'Choice 2',
                         'Choice 2',

+ 1 - 1
packages/ncurses/examples/t1panel.pp

@@ -41,7 +41,7 @@ begin
   temp := (width - slength)/ 2;
   temp := (width - slength)/ 2;
   x := startx + round(temp);
   x := startx + round(temp);
   wattron(win, color);
   wattron(win, color);
-  mvwaddstr(win, y, x, PChar(str));
+  mvwaddstr(win, y, x, PAnsiChar(str));
   wattroff(win, color);
   wattroff(win, color);
   refresh();
   refresh();
 
 

+ 1 - 1
packages/ncurses/examples/t2form.pp

@@ -6,7 +6,7 @@ uses
   ncurses, form, initc;
   ncurses, form, initc;
 
 
 
 
-procedure setlocale(cat : integer; p : pchar); cdecl; external clib;
+procedure setlocale(cat : integer; p : PAnsiChar); cdecl; external clib;
 
 
 
 
 const
 const

+ 2 - 2
packages/ncurses/examples/t2menu.pp

@@ -29,7 +29,7 @@ begin
     width := mx;
     width := mx;
 
 
   wattron(win,COLOR_PAIR(pair));
   wattron(win,COLOR_PAIR(pair));
-  mvwaddnstr(win,starty,startx + st_middle(mx,width),PChar(tstr),width);
+  mvwaddnstr(win,starty,startx + st_middle(mx,width),PAnsiChar(tstr),width);
   wattroff(win,COLOR_PAIR(pair));
   wattroff(win,COLOR_PAIR(pair));
 end;
 end;
 
 
@@ -37,7 +37,7 @@ end;
 type
 type
   PMinfo = ^TMinfo;
   PMinfo = ^TMinfo;
   TMinfo = record
   TMinfo = record
-    n, d: PChar;
+    n, d: PAnsiChar;
   end;
   end;
 
 
 
 

+ 1 - 1
packages/ncurses/examples/t2panel.pp

@@ -35,7 +35,7 @@ begin
   temp := (width - slength)/ 2;
   temp := (width - slength)/ 2;
   x := startx + round(temp);
   x := startx + round(temp);
   wattron(win, color);
   wattron(win, color);
-  mvwaddstr(win, y, x, PChar(str));
+  mvwaddstr(win, y, x, PAnsiChar(str));
   wattroff(win, color);
   wattroff(win, color);
   refresh();
   refresh();
 
 

+ 7 - 7
packages/ncurses/examples/t3form.pp

@@ -8,7 +8,7 @@ program form_test_3;
 uses
 uses
   ncurses, form, initc;
   ncurses, form, initc;
 
 
-procedure setlocale(cat : integer; p : pchar); cdecl; external clib;
+procedure setlocale(cat : integer; p : PAnsiChar); cdecl; external clib;
 
 
 
 
 const
 const
@@ -25,10 +25,10 @@ procedure draw;
 
 
 function randomchar: chtype;
 function randomchar: chtype;
 var
 var
-  ch: Char = #0;
+  ch: AnsiChar = #0;
 begin
 begin
   while not (ch in ['0'..'9','A'..'Z','a'..'z']) do
   while not (ch in ['0'..'9','A'..'Z','a'..'z']) do
-    ch := Char(Random(123));
+    ch := AnsiChar(Random(123));
   randomchar := chtype(ch);
   randomchar := chtype(ch);
 end;
 end;
 
 
@@ -50,10 +50,10 @@ begin
 end;
 end;
 
 
 const
 const
-  enumval: array[0..2] of PChar = ('one', 'two', 'three');
-  desc: array[0..5] of PChar =
+  enumval: array[0..2] of PAnsiChar = ('one', 'two', 'three');
+  desc: array[0..5] of PAnsiChar =
               (
               (
-                'TYPE_ALPHA    Char data, a min width 8',
+                'TYPE_ALPHA    AnsiChar data, a min width 8',
                 'TYPE_ENUM      one, two, three',
                 'TYPE_ENUM      one, two, three',
                 'TYPE_INTEGER     -300 .. 300',
                 'TYPE_INTEGER     -300 .. 300',
                 'TYPE_NUMERIC    -30.0 .. 30.0',
                 'TYPE_NUMERIC    -30.0 .. 30.0',
@@ -116,7 +116,7 @@ try
    field[6] := nil;
    field[6] := nil;
 
 
    set_field_type(field[0],TYPE_ALPHA,8);
    set_field_type(field[0],TYPE_ALPHA,8);
-   set_field_type(field[1],TYPE_ENUM,PPChar(enumval),0,0);
+   set_field_type(field[1],TYPE_ENUM,PPAnsiChar(enumval),0,0);
    set_field_type(field[2],TYPE_INTEGER,3,-300,300);
    set_field_type(field[2],TYPE_INTEGER,3,-300,300);
    set_field_type(field[3],TYPE_NUMERIC,8,-30.0,30.0);
    set_field_type(field[3],TYPE_NUMERIC,8,-30.0,30.0);
    set_field_type(field[4],TYPE_REGEXP,'^http://.+\.(ru|net|com)\s*$');
    set_field_type(field[4],TYPE_REGEXP,'^http://.+\.(ru|net|com)\s*$');

+ 1 - 1
packages/ncurses/examples/tbackground.pp

@@ -15,7 +15,7 @@ begin
 	start_color();
 	start_color();
 
 
 	pair_content(0, @f, @b);
 	pair_content(0, @f, @b);
-	printw(PChar('pair 0 contains (%d,%d)'#10), f, b);
+	printw(PAnsiChar('pair 0 contains (%d,%d)'#10), f, b);
 	getch();
 	getch();
 
 
 	printw('Initializing pair 1 to red/black'#10);
 	printw('Initializing pair 1 to red/black'#10);

+ 3 - 3
packages/ncurses/examples/tclock.pp

@@ -4,7 +4,7 @@ program tclock;
 uses
 uses
   ncurses, sysutils, initc;
   ncurses, sysutils, initc;
 
 
-procedure setlocale(cat : integer; p : pchar); cdecl; external clib;
+procedure setlocale(cat : integer; p : PAnsiChar); cdecl; external clib;
 
 
 
 
 const
 const
@@ -194,7 +194,7 @@ begin
   attron(COLOR_PAIR(3));
   attron(COLOR_PAIR(3));
   mvaddstr(cy - 5, cx - Length(title1) DIV 2, title1);
   mvaddstr(cy - 5, cx - Length(title1) DIV 2, title1);
   mvaddstr(cy - 4, cx - Length(title2) DIV 2, title2);
   mvaddstr(cy - 4, cx - Length(title2) DIV 2, title2);
-  mvaddstr(cy - 3, cx - Length(vstr) DIV 2, PChar(vstr));
+  mvaddstr(cy - 3, cx - Length(vstr) DIV 2, PAnsiChar(vstr));
   attroff(COLOR_PAIR(3));
   attroff(COLOR_PAIR(3));
   attron(A_UNDERLINE);
   attron(A_UNDERLINE);
   mvaddstr(cy + 2, cx - Length(title3) DIV 2, title3);
   mvaddstr(cy + 2, cx - Length(title3) DIV 2, title3);
@@ -248,7 +248,7 @@ begin
       Hour := Hour MOD 12;
       Hour := Hour MOD 12;
 
 
       timestr := DateTimeToStr(Now);
       timestr := DateTimeToStr(Now);
-      mvaddstr(cy + round(sradius) - 4, cx - Length(timestr) DIV 2, PChar(timestr));
+      mvaddstr(cy + round(sradius) - 4, cx - Length(timestr) DIV 2, PAnsiChar(timestr));
 
 
       angle := Hour * _2PI / 12;
       angle := Hour * _2PI / 12;
       dline(cy, cx, cy - A2Y(angle, hradius), cx + A2X(angle, hradius), chtype('*'),Hrest);
       dline(cy, cx, cy - A2Y(angle, hradius), cx + A2X(angle, hradius), chtype('*'),Hrest);

+ 1 - 1
packages/ncurses/examples/tevent.pp

@@ -31,7 +31,7 @@ begin
         chtype('2'): raw();
         chtype('2'): raw();
         chtype('3'): halfdelay(10);
         chtype('3'): halfdelay(10);
       else
       else
-        mvaddstr(LINES - 1, 1,PChar(Format('name:%-14s code:%d', [ keyname(ch), ch ] )));
+        mvaddstr(LINES - 1, 1,PAnsiChar(Format('name:%-14s code:%d', [ keyname(ch), ch ] )));
       end;
       end;
     until (ch = chtype('q')) OR (ch = KEY_F(10));
     until (ch = chtype('q')) OR (ch = KEY_F(10));
   finally
   finally

+ 3 - 3
packages/ncurses/examples/tmouse.pp

@@ -10,10 +10,10 @@ procedure draw;
 
 
 function randomchar: chtype;
 function randomchar: chtype;
 var
 var
-  ch: Char = #0;
+  ch: AnsiChar = #0;
 begin
 begin
   while not (ch in ['0'..'9','A'..'Z','a'..'z']) do
   while not (ch in ['0'..'9','A'..'Z','a'..'z']) do
-    ch := Char(Random(123));
+    ch := AnsiChar(Random(123));
   randomchar := chtype(ch);
   randomchar := chtype(ch);
 end;
 end;
 
 
@@ -56,7 +56,7 @@ begin
   begin
   begin
     mvwaddstr(win, 1, 1, '                  ');
     mvwaddstr(win, 1, 1, '                  ');
     str := Format('y := %D, x := %D', [event.y, event.x]);
     str := Format('y := %D, x := %D', [event.y, event.x]);
-    mvwaddstr(win, 1, 2, PChar(str));
+    mvwaddstr(win, 1, 2, PAnsiChar(str));
     wattron(win,A_BOLD);
     wattron(win,A_BOLD);
     mvwaddch(win, 3, 9, mvinch(event.y,event.x ));
     mvwaddch(win, 3, 9, mvinch(event.y,event.x ));
     wattroff(win,A_BOLD);
     wattroff(win,A_BOLD);

+ 3 - 3
packages/ncurses/examples/tnlshello.pp

@@ -10,7 +10,7 @@ program nlshello;
 uses
 uses
   gettext, ncurses, initc;
   gettext, ncurses, initc;
 
 
-procedure setlocale(cat : integer; p : pchar); cdecl; external clib;
+procedure setlocale(cat : integer; p : PAnsiChar); cdecl; external clib;
 
 
 
 
 const
 const
@@ -45,9 +45,9 @@ begin
 
 
     TranslateResourcestrings('%s/messages.mo');
     TranslateResourcestrings('%s/messages.mo');
     wattron(win,A_BLINK OR A_BOLD OR COLOR_PAIR(2));
     wattron(win,A_BLINK OR A_BOLD OR COLOR_PAIR(2));
-    mvwaddstr(win,3,3, PChar(hello_world));
+    mvwaddstr(win,3,3, PAnsiChar(hello_world));
     wattroff(win,A_BLINK OR A_BOLD OR COLOR_PAIR(2));
     wattroff(win,A_BLINK OR A_BOLD OR COLOR_PAIR(2));
-    mvwaddstr(win,5,3, PChar(press_key));
+    mvwaddstr(win,5,3, PAnsiChar(press_key));
     wrefresh(win);
     wrefresh(win);
     getch();
     getch();
   finally
   finally

+ 3 - 3
packages/ncurses/examples/tpad.pp

@@ -33,10 +33,10 @@ end;
 
 
 function randomchar: chtype;
 function randomchar: chtype;
 var
 var
-  ch: Char = #0;
+  ch: AnsiChar = #0;
 begin
 begin
   while not (ch in ['0'..'9','A'..'Z','a'..'z']) do
   while not (ch in ['0'..'9','A'..'Z','a'..'z']) do
-    ch := Char(Random(123));
+    ch := AnsiChar(Random(123));
   randomchar := chtype(ch);
   randomchar := chtype(ch);
 end;
 end;
 
 
@@ -104,7 +104,7 @@ begin
   nstr.coord[x] += st_middle(mx,width);
   nstr.coord[x] += st_middle(mx,width);
 
 
   wattron(win,nstr.attr);
   wattron(win,nstr.attr);
-  mvwaddnstr(win,nstr.coord[y],nstr.coord[x],PChar(nstr.str),width);
+  mvwaddnstr(win,nstr.coord[y],nstr.coord[x],PAnsiChar(nstr.str),width);
   wattroff(win,nstr.attr);
   wattroff(win,nstr.attr);
 end;
 end;
 
 

+ 4 - 4
packages/ncurses/examples/twindow.pp

@@ -9,7 +9,7 @@ var
   tstr: AnsiString;
   tstr: AnsiString;
 begin
 begin
   FmtStr(tstr, fmt, args);
   FmtStr(tstr, fmt, args);
-  mvwaddstr(win,y,x, PChar(tstr));
+  mvwaddstr(win,y,x, PAnsiChar(tstr));
 end;
 end;
 
 
 procedure printinfo(win: PWINDOW);
 procedure printinfo(win: PWINDOW);
@@ -21,13 +21,13 @@ begin
     printw(win,3 ,1,'_begy=%-3d, _begx=%-3d : screen coords of upper-left-hand corner',[_begy,_begx]);
     printw(win,3 ,1,'_begy=%-3d, _begx=%-3d : screen coords of upper-left-hand corner',[_begy,_begx]);
     printw(win,4 ,1,'_flags=%-3d           : window state flags',[_flags]);
     printw(win,4 ,1,'_flags=%-3d           : window state flags',[_flags]);
     printw(win,5 ,1,'_attrs=%-4d          : current attribute for non-space character',[_attrs]);
     printw(win,5 ,1,'_attrs=%-4d          : current attribute for non-space character',[_attrs]);
-    printw(win,6 ,1,'_bkgd=%-3d            : current background char/attribute pair',[_bkgd]);
+    printw(win,6 ,1,'_bkgd=%-3d            : current background AnsiChar/attribute pair',[_bkgd]);
     printw(win,7 ,1,'_notimeout=%-1d         :  no time out on function-key entry?', [Byte(_notimeout)]);
     printw(win,7 ,1,'_notimeout=%-1d         :  no time out on function-key entry?', [Byte(_notimeout)]);
     printw(win,8 ,1,'_clear=%-1d             : consider all data in the window invalid?',[Byte(_clear)]);
     printw(win,8 ,1,'_clear=%-1d             : consider all data in the window invalid?',[Byte(_clear)]);
     printw(win,9 ,1,'_leaveok=%-1d           : OK to not reset cursor on exit?',[Byte(_leaveok)]);
     printw(win,9 ,1,'_leaveok=%-1d           : OK to not reset cursor on exit?',[Byte(_leaveok)]);
     printw(win,10,1,'_scroll=%-1d            : OK to scroll this window?',[Byte(_scroll)]);
     printw(win,10,1,'_scroll=%-1d            : OK to scroll this window?',[Byte(_scroll)]);
     printw(win,11,1,'_idlok=%-1d             : OK to use insert/delete line?',[Byte(_idlok)]);
     printw(win,11,1,'_idlok=%-1d             : OK to use insert/delete line?',[Byte(_idlok)]);
-    printw(win,12,1,'_idcok=%-1d             : OK to use insert/delete char?',[Byte(_idcok)]);
+    printw(win,12,1,'_idcok=%-1d             : OK to use insert/delete AnsiChar?',[Byte(_idcok)]);
     printw(win,13,1,'_immed=%-1d             : window in immed mode? (not yet used)',[Byte(_immed)]);
     printw(win,13,1,'_immed=%-1d             : window in immed mode? (not yet used)',[Byte(_immed)]);
     printw(win,14,1,'_sync=%-1d              : window in sync mode?',[Byte(_sync)]);
     printw(win,14,1,'_sync=%-1d              : window in sync mode?',[Byte(_sync)]);
     printw(win,15,1,'_use_keypad=%-1d        : process function keys into KEY_ symbols?',[Byte(_use_keypad)]);
     printw(win,15,1,'_use_keypad=%-1d        : process function keys into KEY_ symbols?',[Byte(_use_keypad)]);
@@ -35,7 +35,7 @@ begin
     printw(win,17,1,'_parx=%-3d            : x coordinate of this window in parent',[_parx]);
     printw(win,17,1,'_parx=%-3d            : x coordinate of this window in parent',[_parx]);
     printw(win,18,1,'_pary=%-3d            : y coordinate of this window in parent',[_pary]);
     printw(win,18,1,'_pary=%-3d            : y coordinate of this window in parent',[_pary]);
     printw(win,19,1,'_yoffset=%-3d         : real begy is _begy + _yoffset',[_yoffset]);
     printw(win,19,1,'_yoffset=%-3d         : real begy is _begy + _yoffset',[_yoffset]);
-    printw(win,20,1,'_bkgrnd.attr=%-4d    : current background char/attribute pair',[_bkgrnd.attr]);
+    printw(win,20,1,'_bkgrnd.attr=%-4d    : current background AnsiChar/attribute pair',[_bkgrnd.attr]);
   end;
   end;
 end;
 end;
 
 

+ 14 - 14
packages/ncurses/src/form.pp

@@ -159,25 +159,25 @@ const
    REQ_RIGHT_FIELD = KEY_MAX + 14;  { move to right to field  }
    REQ_RIGHT_FIELD = KEY_MAX + 14;  { move to right to field  }
    REQ_UP_FIELD = KEY_MAX + 15;     { move to up to field    }
    REQ_UP_FIELD = KEY_MAX + 15;     { move to up to field    }
    REQ_DOWN_FIELD = KEY_MAX + 16;   { move to down to field  }
    REQ_DOWN_FIELD = KEY_MAX + 16;   { move to down to field  }
-   REQ_NEXT_CHAR = KEY_MAX + 17;    { move to next char in field  }
-   REQ_PREV_CHAR = KEY_MAX + 18;    { move to prev char in field  }
+   REQ_NEXT_CHAR = KEY_MAX + 17;    { move to next AnsiChar in field  }
+   REQ_PREV_CHAR = KEY_MAX + 18;    { move to prev AnsiChar in field  }
    REQ_NEXT_LINE = KEY_MAX + 19;    { move to next line in field  }
    REQ_NEXT_LINE = KEY_MAX + 19;    { move to next line in field  }
    REQ_PREV_LINE = KEY_MAX + 20;    { move to prev line in field  }
    REQ_PREV_LINE = KEY_MAX + 20;    { move to prev line in field  }
    REQ_NEXT_WORD = KEY_MAX + 21;    { move to next word in field  }
    REQ_NEXT_WORD = KEY_MAX + 21;    { move to next word in field  }
    REQ_PREV_WORD = KEY_MAX + 22;    { move to prev word in field  }
    REQ_PREV_WORD = KEY_MAX + 22;    { move to prev word in field  }
-   REQ_BEG_FIELD = KEY_MAX + 23;    { move to first char in field   }
-   REQ_END_FIELD = KEY_MAX + 24;    { move after last char in fld   }
+   REQ_BEG_FIELD = KEY_MAX + 23;    { move to first AnsiChar in field   }
+   REQ_END_FIELD = KEY_MAX + 24;    { move after last AnsiChar in fld   }
    REQ_BEG_LINE = KEY_MAX + 25;     { move to beginning of line  }
    REQ_BEG_LINE = KEY_MAX + 25;     { move to beginning of line  }
-   REQ_END_LINE = KEY_MAX + 26;     { move after last char in line   }
+   REQ_END_LINE = KEY_MAX + 26;     { move after last AnsiChar in line   }
    REQ_LEFT_CHAR = KEY_MAX + 27;    { move left in field    }
    REQ_LEFT_CHAR = KEY_MAX + 27;    { move left in field    }
    REQ_RIGHT_CHAR = KEY_MAX + 28;   { move right in field    }
    REQ_RIGHT_CHAR = KEY_MAX + 28;   { move right in field    }
    REQ_UP_CHAR = KEY_MAX + 29;      { move up in field    }
    REQ_UP_CHAR = KEY_MAX + 29;      { move up in field    }
    REQ_DOWN_CHAR = KEY_MAX + 30;    { move down in field    }
    REQ_DOWN_CHAR = KEY_MAX + 30;    { move down in field    }
    REQ_NEW_LINE = KEY_MAX + 31;     { insert/overlay new line  }
    REQ_NEW_LINE = KEY_MAX + 31;     { insert/overlay new line  }
-   REQ_INS_CHAR = KEY_MAX + 32;     { insert blank char at cursor  }
+   REQ_INS_CHAR = KEY_MAX + 32;     { insert blank AnsiChar at cursor  }
    REQ_INS_LINE = KEY_MAX + 33;     { insert blank line at cursor  }
    REQ_INS_LINE = KEY_MAX + 33;     { insert blank line at cursor  }
-   REQ_DEL_CHAR = KEY_MAX + 34;     { delete char at cursor  }
-   REQ_DEL_PREV = KEY_MAX + 35;     { delete char before cursor  }
+   REQ_DEL_CHAR = KEY_MAX + 34;     { delete AnsiChar at cursor  }
+   REQ_DEL_PREV = KEY_MAX + 35;     { delete AnsiChar before cursor  }
    REQ_DEL_LINE = KEY_MAX + 36;     { delete line at cursor  }
    REQ_DEL_LINE = KEY_MAX + 36;     { delete line at cursor  }
    REQ_DEL_WORD = KEY_MAX + 37;     { delete word at cursor  }
    REQ_DEL_WORD = KEY_MAX + 37;     { delete word at cursor  }
    REQ_CLR_EOL = KEY_MAX + 38;      { clear to end of line    }
    REQ_CLR_EOL = KEY_MAX + 38;      { clear to end of line    }
@@ -191,8 +191,8 @@ const
    REQ_SCR_BPAGE = KEY_MAX + 46;    { scroll field backward a page  }
    REQ_SCR_BPAGE = KEY_MAX + 46;    { scroll field backward a page  }
    REQ_SCR_FHPAGE = KEY_MAX + 47;   { scroll field forward   half page  }
    REQ_SCR_FHPAGE = KEY_MAX + 47;   { scroll field forward   half page  }
    REQ_SCR_BHPAGE = KEY_MAX + 48;   { scroll field backward half page  }
    REQ_SCR_BHPAGE = KEY_MAX + 48;   { scroll field backward half page  }
-   REQ_SCR_FCHAR = KEY_MAX + 49;    { horizontal scroll char  }
-   REQ_SCR_BCHAR = KEY_MAX + 50;    { horizontal scroll char  }
+   REQ_SCR_FCHAR = KEY_MAX + 49;    { horizontal scroll AnsiChar  }
+   REQ_SCR_BCHAR = KEY_MAX + 50;    { horizontal scroll AnsiChar  }
    REQ_SCR_HFLINE = KEY_MAX + 51;   { horizontal scroll line   }
    REQ_SCR_HFLINE = KEY_MAX + 51;   { horizontal scroll line   }
    REQ_SCR_HBLINE = KEY_MAX + 52;   { horizontal scroll line   }
    REQ_SCR_HBLINE = KEY_MAX + 52;   { horizontal scroll line   }
    REQ_SCR_HFHALF = KEY_MAX + 53;   { horizontal scroll half line  }
    REQ_SCR_HFHALF = KEY_MAX + 53;   { horizontal scroll half line  }
@@ -279,7 +279,7 @@ function set_field_fore(_para1:PFIELD; _para2:chtype):Longint; cdecl;external li
 function set_field_back(_para1:PFIELD; _para2:chtype):Longint; cdecl;external libform;
 function set_field_back(_para1:PFIELD; _para2:chtype):Longint; cdecl;external libform;
 function set_field_pad(_para1:PFIELD; _para2:Longint):Longint; cdecl;external libform;
 function set_field_pad(_para1:PFIELD; _para2:Longint):Longint; cdecl;external libform;
 function field_pad(_para1:PFIELD):Longint; cdecl;external libform;
 function field_pad(_para1:PFIELD):Longint; cdecl;external libform;
-function set_field_buffer(_para1:PFIELD; _para2:Longint;_para3:PChar):Longint; cdecl;external libform;
+function set_field_buffer(_para1:PFIELD; _para2:Longint;_para3:PAnsiChar):Longint; cdecl;external libform;
 function set_field_status(_para1:PFIELD; _para2:Bool):Longint; cdecl;external libform;
 function set_field_status(_para1:PFIELD; _para2:Bool):Longint; cdecl;external libform;
 function set_field_userptr(_para1:PFIELD; _para2:Pointer):Longint; cdecl;external libform;
 function set_field_userptr(_para1:PFIELD; _para2:Pointer):Longint; cdecl;external libform;
 function set_field_opts(_para1:PFIELD; _para2:Field_Options):Longint; cdecl;external libform;
 function set_field_opts(_para1:PFIELD; _para2:Field_Options):Longint; cdecl;external libform;
@@ -292,7 +292,7 @@ function field_status(_para1:PFIELD):Bool; cdecl;external libform;
 function field_arg(_para1:PFIELD):Pointer; cdecl;external libform;
 function field_arg(_para1:PFIELD):Pointer; cdecl;external libform;
 function field_userptr(_para1:PFIELD):Pointer; cdecl;external libform;
 function field_userptr(_para1:PFIELD):Pointer; cdecl;external libform;
 function field_type(_para1:PFIELD):PFIELDTYPE; cdecl;external libform;
 function field_type(_para1:PFIELD):PFIELDTYPE; cdecl;external libform;
-function field_buffer(_para1:PFIELD; _para2:Longint):PChar; cdecl;external libform;
+function field_buffer(_para1:PFIELD; _para2:Longint):PAnsiChar; cdecl;external libform;
 function field_opts(_para1:PFIELD):Field_Options; cdecl;external libform;
 function field_opts(_para1:PFIELD):Field_Options; cdecl;external libform;
 
 
 (*  FORM routines  *)
 (*  FORM routines  *)
@@ -327,8 +327,8 @@ function set_form_userptr(_para1:PFORM; _para2:Pointer):Longint; cdecl;external
 function set_form_opts(_para1:PFORM; _para2:Form_Options):Longint; cdecl;external libform;
 function set_form_opts(_para1:PFORM; _para2:Form_Options):Longint; cdecl;external libform;
 function form_opts_on(_para1:PFORM; _para2:Form_Options):Longint; cdecl;external libform;
 function form_opts_on(_para1:PFORM; _para2:Form_Options):Longint; cdecl;external libform;
 function form_opts_off(_para1:PFORM; _para2:Form_Options):Longint; cdecl;external libform;
 function form_opts_off(_para1:PFORM; _para2:Form_Options):Longint; cdecl;external libform;
-function form_request_by_name(_para1:PChar):Longint; cdecl;external libform;
-function form_request_name(_para1:Longint):PChar; cdecl;external libform;
+function form_request_by_name(_para1:PAnsiChar):Longint; cdecl;external libform;
+function form_request_name(_para1:Longint):PAnsiChar; cdecl;external libform;
 function form_userptr(_para1:PFORM):Pointer; cdecl;external libform;
 function form_userptr(_para1:PFORM):Pointer; cdecl;external libform;
 function form_opts(_para1:PFORM):Form_Options; cdecl;external libform;
 function form_opts(_para1:PFORM):Form_Options; cdecl;external libform;
 function data_ahead(_para1:PFORM):Bool; cdecl;external libform;
 function data_ahead(_para1:PFORM):Bool; cdecl;external libform;

+ 12 - 12
packages/ncurses/src/menu.pp

@@ -32,7 +32,7 @@ const
 
 
 type
 type
    TTEXT = record
    TTEXT = record
-        str : PChar;
+        str : PAnsiChar;
         length : Word;
         length : Word;
      end;
      end;
 
 
@@ -79,7 +79,7 @@ type
         spc_desc : Smallint;    { Spacing for descriptor           }
         spc_desc : Smallint;    { Spacing for descriptor           }
         spc_cols : Smallint;    { Spacing for columns              }
         spc_cols : Smallint;    { Spacing for columns              }
         spc_rows : Smallint;    { Spacing for rows                 }
         spc_rows : Smallint;    { Spacing for rows                 }
-        pattern : PChar;        { Buffer to store match chars      }
+        pattern : PAnsiChar;        { Buffer to store match chars      }
         pindex : Smallint;      { Index into pattern buffer        }
         pindex : Smallint;      { Index into pattern buffer        }
         win : PWINDOW;          { Window containing menu           }
         win : PWINDOW;          { Window containing menu           }
         sub : PWINDOW;          { Subwindow for menu display       }
         sub : PWINDOW;          { Subwindow for menu display       }
@@ -98,7 +98,7 @@ type
         iteminit : Menu_Hook;
         iteminit : Menu_Hook;
         itemterm : Menu_Hook;
         itemterm : Menu_Hook;
         userptr : Pointer;      { Pointer to menus user data       }
         userptr : Pointer;      { Pointer to menus user data       }
-        mark : PChar;           { Pointer to marker string         }
+        mark : PAnsiChar;           { Pointer to marker string         }
         opt : Menu_Options;     { Menu options                     }
         opt : Menu_Options;     { Menu options                     }
         status : Word;          { Internal state of menu           }
         status : Word;          { Internal state of menu           }
      end;
      end;
@@ -139,7 +139,7 @@ const
 
 
 function menu_items(_para1:PMENU):ppITEM; cdecl;external libncurses;
 function menu_items(_para1:PMENU):ppITEM; cdecl;external libncurses;
 function current_item(_para1:PMENU):pITEM; cdecl;external libncurses;
 function current_item(_para1:PMENU):pITEM; cdecl;external libncurses;
-function new_item(_para1:PChar; _para2:PChar):pITEM; cdecl;external libncurses;
+function new_item(_para1:PAnsiChar; _para2:PAnsiChar):pITEM; cdecl;external libncurses;
 function new_menu(_para1:PPITEM):pMENU; cdecl;external libncurses;
 function new_menu(_para1:PPITEM):pMENU; cdecl;external libncurses;
 function item_opts(_para1:PITEM):Item_Options; cdecl;external libncurses;
 function item_opts(_para1:PITEM):Item_Options; cdecl;external libncurses;
 function menu_opts(_para1:PMENU):Menu_Options; cdecl;external libncurses;
 function menu_opts(_para1:PMENU):Menu_Options; cdecl;external libncurses;
@@ -149,11 +149,11 @@ function menu_init(_para1:PMENU):Menu_Hook; cdecl;external libncurses;
 function menu_term(_para1:PMENU):Menu_Hook; cdecl;external libncurses;
 function menu_term(_para1:PMENU):Menu_Hook; cdecl;external libncurses;
 function menu_sub(_para1:PMENU):PWINDOW; cdecl;external libncurses;
 function menu_sub(_para1:PMENU):PWINDOW; cdecl;external libncurses;
 function menu_win(_para1:PMENU):PWINDOW; cdecl;external libncurses;
 function menu_win(_para1:PMENU):PWINDOW; cdecl;external libncurses;
-function item_description(_para1:PITEM):PChar; cdecl;external libncurses;
-function item_name(_para1:PITEM):PChar; cdecl;external libncurses;
-function menu_mark(_para1:PMENU):PChar; cdecl;external libncurses;
-function menu_request_name(_para1:Longint):PChar; cdecl;external libncurses;
-function menu_pattern(_para1:PMENU):PChar; cdecl;external libncurses;
+function item_description(_para1:PITEM):PAnsiChar; cdecl;external libncurses;
+function item_name(_para1:PITEM):PAnsiChar; cdecl;external libncurses;
+function menu_mark(_para1:PMENU):PAnsiChar; cdecl;external libncurses;
+function menu_request_name(_para1:Longint):PAnsiChar; cdecl;external libncurses;
+function menu_pattern(_para1:PMENU):PAnsiChar; cdecl;external libncurses;
 function menu_userptr(_para1:PMENU):Pointer; cdecl;external libncurses;
 function menu_userptr(_para1:PMENU):Pointer; cdecl;external libncurses;
 function item_userptr(_para1:PITEM):Pointer; cdecl;external libncurses;
 function item_userptr(_para1:PITEM):Pointer; cdecl;external libncurses;
 function menu_back(_para1:PMENU):chtype; cdecl;external libncurses;
 function menu_back(_para1:PMENU):chtype; cdecl;external libncurses;
@@ -187,10 +187,10 @@ function set_menu_grey(_para1:PMENU; _para2:chtype):Longint; cdecl;external libn
 //function set_menu_init(_para1:PMENU; _para2:procedure (_para1:PMENU)):Longint; cdecl;external libncurses;
 //function set_menu_init(_para1:PMENU; _para2:procedure (_para1:PMENU)):Longint; cdecl;external libncurses;
 function set_menu_init(_para1:PMENU; _para2:Menu_Hook):Longint; cdecl;external libncurses;
 function set_menu_init(_para1:PMENU; _para2:Menu_Hook):Longint; cdecl;external libncurses;
 function set_menu_items(_para1:PMENU; _para2:PPITEM):Longint; cdecl;external libncurses;
 function set_menu_items(_para1:PMENU; _para2:PPITEM):Longint; cdecl;external libncurses;
-function set_menu_mark(_para1:PMENU; _para2:PChar):Longint; cdecl;external libncurses;
+function set_menu_mark(_para1:PMENU; _para2:PAnsiChar):Longint; cdecl;external libncurses;
 function set_menu_opts(_para1:PMENU; _para2:Menu_Options):Longint; cdecl;external libncurses;
 function set_menu_opts(_para1:PMENU; _para2:Menu_Options):Longint; cdecl;external libncurses;
 function set_menu_pad(_para1:PMENU; _para2:Longint):Longint; cdecl;external libncurses;
 function set_menu_pad(_para1:PMENU; _para2:Longint):Longint; cdecl;external libncurses;
-function set_menu_pattern(_para1:PMENU; _para2:PChar):Longint; cdecl;external libncurses;
+function set_menu_pattern(_para1:PMENU; _para2:PAnsiChar):Longint; cdecl;external libncurses;
 function set_menu_sub(_para1:PMENU; _para2:PWINDOW):Longint; cdecl;external libncurses;
 function set_menu_sub(_para1:PMENU; _para2:PWINDOW):Longint; cdecl;external libncurses;
 //function set_menu_term(_para1:PMENU; _para2:procedure (_para1:PMENU)):Longint; cdecl;external libncurses;
 //function set_menu_term(_para1:PMENU; _para2:procedure (_para1:PMENU)):Longint; cdecl;external libncurses;
 function set_menu_term(_para1:PMENU; _para2:Menu_Hook):Longint; cdecl;external libncurses;
 function set_menu_term(_para1:PMENU; _para2:Menu_Hook):Longint; cdecl;external libncurses;
@@ -199,7 +199,7 @@ function set_menu_win(_para1:PMENU; _para2:PWINDOW):Longint; cdecl;external libn
 function set_top_row(_para1:PMENU; _para2:Longint):Longint; cdecl;external libncurses;
 function set_top_row(_para1:PMENU; _para2:Longint):Longint; cdecl;external libncurses;
 function top_row(_para1:PMENU):Longint; cdecl;external libncurses;
 function top_row(_para1:PMENU):Longint; cdecl;external libncurses;
 function unpost_menu(_para1:PMENU):Longint; cdecl;external libncurses;
 function unpost_menu(_para1:PMENU):Longint; cdecl;external libncurses;
-function menu_request_by_name(_para1:PChar):Longint; cdecl;external libncurses;
+function menu_request_by_name(_para1:PAnsiChar):Longint; cdecl;external libncurses;
 function set_menu_spacing(_para1:PMENU; _para2:Longint; _para3:Longint; _para4:Longint):Longint; cdecl;external libncurses;
 function set_menu_spacing(_para1:PMENU; _para2:Longint; _para3:Longint; _para4:Longint):Longint; cdecl;external libncurses;
 function menu_spacing(_para1:PMENU; _para2:PLongint; _para3:PLongint; _para4:PLongint):Longint; cdecl;external libncurses;
 function menu_spacing(_para1:PMENU; _para2:PLongint; _para3:PLongint; _para4:PLongint):Longint; cdecl;external libncurses;
 function item_value(_para1:PITEM):Bool; cdecl;external libncurses;
 function item_value(_para1:PITEM):Bool; cdecl;external libncurses;

+ 12 - 12
packages/ncurses/src/ncrt.inc

@@ -77,7 +77,7 @@ Procedure InsLine;
 Procedure LowVideo;
 Procedure LowVideo;
 Procedure NormVideo;
 Procedure NormVideo;
 Procedure NoSound;
 Procedure NoSound;
- Function Readkey : char;
+ Function Readkey : AnsiChar;
 Procedure Sound(hz : word);
 Procedure Sound(hz : word);
 Procedure TextBackground(att : byte);
 Procedure TextBackground(att : byte);
 Procedure TextColor(att : byte);
 Procedure TextColor(att : byte);
@@ -89,7 +89,7 @@ Procedure nStop;
 Procedure nStart;
 Procedure nStart;
  Function nCursor(c : integer) : integer;
  Function nCursor(c : integer) : integer;
  Function nEscDelay(d : longint) : longint;
  Function nEscDelay(d : longint) : longint;
- Function nTermName : string;
+ Function nTermName : shortstring;
 
 
 Const
 Const
 
 
@@ -204,7 +204,7 @@ Var
    ExitSave : pointer;                { pointer to original exit proc }
    ExitSave : pointer;                { pointer to original exit proc }
    fg,bg : integer;                   { foreground & background }
    fg,bg : integer;                   { foreground & background }
    cp : array [0..7,0..7] of integer; { color pair array }
    cp : array [0..7,0..7] of integer; { color pair array }
-   ps : array [0..255] of char;       { for use with pchars }
+   ps : array [0..255] of AnsiChar;       { for use with pchars }
    doRefresh : boolean;               { immediate refresh toggle }
    doRefresh : boolean;               { immediate refresh toggle }
    SubWn,                             { window created from window() }
    SubWn,                             { window created from window() }
    PrevWn,                            { previous window when active changes }
    PrevWn,                            { previous window when active changes }
@@ -502,9 +502,9 @@ End;
  Note: Make sure that keypad(win,true) has been issued prior to use.
  Note: Make sure that keypad(win,true) has been issued prior to use.
        ( nWindow does this )
        ( nWindow does this )
  ---------------------------------------------------------------------}
  ---------------------------------------------------------------------}
-Function nReadkey(win : pWindow) : char;
+Function nReadkey(win : pWindow) : AnsiChar;
 var
 var
-   c : char;
+   c : AnsiChar;
    l : longint;
    l : longint;
    xtnded : boolean;
    xtnded : boolean;
 Begin
 Begin
@@ -600,7 +600,7 @@ Begin
 End;
 End;
 
 
 { write a string to a window at the current cursor position }
 { write a string to a window at the current cursor position }
-Procedure nWrite(win : pWindow; s : string);
+Procedure nWrite(win : pWindow; s : shortstring);
 Begin
 Begin
    If TextAttr <> prev_textattr Then
    If TextAttr <> prev_textattr Then
       nWinColor(win,TextAttr);
       nWinColor(win,TextAttr);
@@ -616,7 +616,7 @@ End;
  =========================================================================}
  =========================================================================}
 
 
 { used by CrtWrite }
 { used by CrtWrite }
-Procedure DoWrite(temp : string);
+Procedure DoWrite(temp : shortstring);
 Begin
 Begin
    nWrite(ActiveWn,temp);
    nWrite(ActiveWn,temp);
 End;
 End;
@@ -626,7 +626,7 @@ Function CrtWrite(Var F: TextRec): Integer;
   Top level write function for CRT
   Top level write function for CRT
 }
 }
 Var
 Var
-  Temp : String;
+  Temp : shortstring;
   idx,i : Longint;
   idx,i : Longint;
 {  oldflush : boolean;}
 {  oldflush : boolean;}
 Begin
 Begin
@@ -638,7 +638,7 @@ Begin
      if i>255 then
      if i>255 then
       i:=255;
       i:=255;
      system.Move(F.BufPTR^[idx],Temp[1],F.BufPos);
      system.Move(F.BufPTR^[idx],Temp[1],F.BufPos);
-     Temp[0]:=Chr(i);
+     SetLength(Temp,i);
      DoWrite(Temp);
      DoWrite(Temp);
      dec(F.BufPos,i);
      dec(F.BufPos,i);
      inc(idx,i);
      inc(idx,i);
@@ -835,7 +835,7 @@ Begin
 { Below is more efficient code, but does not work well with
 { Below is more efficient code, but does not work well with
   nReadkey & extended keys because nReadkey's ungetch does not
   nReadkey & extended keys because nReadkey's ungetch does not
   force a change in STDIN. So, a "while keypressed" block does
   force a change in STDIN. So, a "while keypressed" block does
-  not produce the expected results when trapping for char(0)
+  not produce the expected results when trapping for AnsiChar(0)
   followed by a second scan code.
   followed by a second scan code.
 
 
    FD_Zero(fd);
    FD_Zero(fd);
@@ -845,7 +845,7 @@ Begin
 End;
 End;
 
 
 { silently read a key from stdscr }
 { silently read a key from stdscr }
-Function Readkey : char;
+Function Readkey : AnsiChar;
 Begin
 Begin
    tmp_b := IsEcho;
    tmp_b := IsEcho;
    noecho;
    noecho;
@@ -891,7 +891,7 @@ Begin
 End;
 End;
 
 
 { return the current terminal name (same as $TERM env variable) }
 { return the current terminal name (same as $TERM env variable) }
-Function nTermName : string;
+Function nTermName : shortstring;
 Begin
 Begin
    nTermName := StrPas(termname);
    nTermName := StrPas(termname);
 End;
 End;

+ 114 - 114
packages/ncurses/src/ncurses.pp

@@ -108,7 +108,7 @@ type
 
 
 { line graphics  }
 { line graphics  }
 type
 type
-   tacs_map = array [char] of chtype;
+   tacs_map = array [AnsiChar] of chtype;
    pacs_map = ^tacs_map;
    pacs_map = ^tacs_map;
 
 
 var
 var
@@ -230,14 +230,14 @@ type
      _flags : Smallint;           { window state flags  }
      _flags : Smallint;           { window state flags  }
 { attribute tracking  }
 { attribute tracking  }
      _attrs : attr_t;             { current attribute for non-space character }
      _attrs : attr_t;             { current attribute for non-space character }
-     _bkgd : chtype;              { current background char/attribute pair  }
+     _bkgd : chtype;              { current background AnsiChar/attribute pair  }
 { option values set by user  }
 { option values set by user  }
      _notimeout : Bool;           { no time out on function-key entry?  }
      _notimeout : Bool;           { no time out on function-key entry?  }
      _clear : Bool;               { consider all data in the window invalid?  }
      _clear : Bool;               { consider all data in the window invalid?  }
      _leaveok : Bool;             { OK to not reset cursor on exit?  }
      _leaveok : Bool;             { OK to not reset cursor on exit?  }
      _scroll : Bool;              { OK to scroll this window?  }
      _scroll : Bool;              { OK to scroll this window?  }
      _idlok : Bool;               { OK to use insert/delete line?  }
      _idlok : Bool;               { OK to use insert/delete line?  }
-     _idcok : Bool;               { OK to use insert/delete char?  }
+     _idcok : Bool;               { OK to use insert/delete AnsiChar?  }
      _immed : Bool;               { window in immed mode? (not yet used)  }
      _immed : Bool;               { window in immed mode? (not yet used)  }
      _sync : Bool;                { window in sync mode?  }
      _sync : Bool;                { window in sync mode?  }
      _use_keypad : Bool;          { process function keys into KEY_ symbols?  }
      _use_keypad : Bool;          { process function keys into KEY_ symbols?  }
@@ -260,7 +260,7 @@ type
         _pad_right : Smallint;
         _pad_right : Smallint;
      end;
      end;
         _yoffset : Smallint;     { real begy is _begy + _yoffset  }
         _yoffset : Smallint;     { real begy is _begy + _yoffset  }
-        _bkgrnd : cchar_t;       { current background char/attribute pair  }
+        _bkgrnd : cchar_t;       { current background AnsiChar/attribute pair  }
 {$IFDEF NCURSES_EXT_COLORS}
 {$IFDEF NCURSES_EXT_COLORS}
      _color : cint;              { current color-pair for non-space character }
      _color : cint;              { current color-pair for non-space character }
 {$ENDIF NCURSES_EXT_COLORS}
 {$ENDIF NCURSES_EXT_COLORS}
@@ -294,11 +294,11 @@ type
  *)
  *)
 
 
 function is_term_resized(_para1:Longint; _para2:Longint):Bool;cdecl;external libncurses;
 function is_term_resized(_para1:Longint; _para2:Longint):Bool;cdecl;external libncurses;
-function keybound(_para1:Longint; _para2:Longint):PChar;cdecl;external  libncurses;
-function curses_version:PChar;cdecl;external  libncurses;
+function keybound(_para1:Longint; _para2:Longint):PAnsiChar;cdecl;external  libncurses;
+function curses_version:PAnsiChar;cdecl;external  libncurses;
 function assume_default_colors(_para1:Longint; _para2:Longint):Longint; cdecl;external libncurses;
 function assume_default_colors(_para1:Longint; _para2:Longint):Longint; cdecl;external libncurses;
-function define_key(_para1:PChar; _para2:Longint):Longint; cdecl;external libncurses;
-function key_defined(_para1:PChar):Longint; cdecl;external libncurses;
+function define_key(_para1:PAnsiChar; _para2:Longint):Longint; cdecl;external libncurses;
+function key_defined(_para1:PAnsiChar):Longint; cdecl;external libncurses;
 function keyok(_para1:Longint; _para2:Bool):Longint; cdecl;external libncurses;
 function keyok(_para1:Longint; _para2:Bool):Longint; cdecl;external libncurses;
 function resize_term(_para1:Longint; _para2:Longint):Longint; cdecl;external libncurses;
 function resize_term(_para1:Longint; _para2:Longint):Longint; cdecl;external libncurses;
 function resizeterm(_para1:Longint; _para2:Longint):Longint; cdecl;external libncurses;
 function resizeterm(_para1:Longint; _para2:Longint):Longint; cdecl;external libncurses;
@@ -331,7 +331,7 @@ function doupdate:Longint; cdecl;external libncurses;
 function dupwin(_para1:PWINDOW):PWINDOW;cdecl;external libncurses;
 function dupwin(_para1:PWINDOW):PWINDOW;cdecl;external libncurses;
 function echo:Longint; cdecl;external libncurses;
 function echo:Longint; cdecl;external libncurses;
 function endwin:Longint; cdecl;external libncurses;
 function endwin:Longint; cdecl;external libncurses;
-function erasechar:PChar;cdecl;external libncurses;
+function erasechar:PAnsiChar;cdecl;external libncurses;
 procedure filter;cdecl;external libncurses;
 procedure filter;cdecl;external libncurses;
 function flash:Longint; cdecl;external libncurses;
 function flash:Longint; cdecl;external libncurses;
 function flushinp:Longint; cdecl;external libncurses;
 function flushinp:Longint; cdecl;external libncurses;
@@ -352,18 +352,18 @@ function intrflush(_para1:PWINDOW; _para2:Bool):Longint; cdecl;external libncurs
 function isendwin:Bool;cdecl;external libncurses;
 function isendwin:Bool;cdecl;external libncurses;
 function is_linetouched(_para1:PWINDOW; _para2:Longint):Bool;cdecl;external libncurses;
 function is_linetouched(_para1:PWINDOW; _para2:Longint):Bool;cdecl;external libncurses;
 function is_wintouched(_para1:PWINDOW):Bool;cdecl;external libncurses;
 function is_wintouched(_para1:PWINDOW):Bool;cdecl;external libncurses;
-function keyname(_para1:Longint):PChar;cdecl;external libncurses;
+function keyname(_para1:Longint):PAnsiChar;cdecl;external libncurses;
 function keypad(_para1:PWINDOW; _para2:Bool):Longint; cdecl;external libncurses;
 function keypad(_para1:PWINDOW; _para2:Bool):Longint; cdecl;external libncurses;
-function killchar:PChar;cdecl;external libncurses;
+function killchar:PAnsiChar;cdecl;external libncurses;
 function leaveok(_para1:PWINDOW; _para2:Bool):Longint; cdecl;external libncurses;
 function leaveok(_para1:PWINDOW; _para2:Bool):Longint; cdecl;external libncurses;
-function longname:PChar;cdecl;external libncurses;
+function longname:PAnsiChar;cdecl;external libncurses;
 function meta(_para1:PWINDOW; _para2:Bool):Longint; cdecl;external libncurses;
 function meta(_para1:PWINDOW; _para2:Bool):Longint; cdecl;external libncurses;
 function mvcur(_para1:Longint; _para2:Longint; _para3:Longint; _para4:Longint):Longint; cdecl;external libncurses;
 function mvcur(_para1:Longint; _para2:Longint; _para3:Longint; _para4:Longint):Longint; cdecl;external libncurses;
 function mvderwin(_para1:PWINDOW; _para2:Longint; _para3:Longint):Longint; cdecl;external libncurses;
 function mvderwin(_para1:PWINDOW; _para2:Longint; _para3:Longint):Longint; cdecl;external libncurses;
 function mvwin(_para1:PWINDOW; _para2:Longint; _para3:Longint):Longint; cdecl;external libncurses;
 function mvwin(_para1:PWINDOW; _para2:Longint; _para3:Longint):Longint; cdecl;external libncurses;
 function napms(_para1:Longint):Longint; cdecl;external libncurses;
 function napms(_para1:Longint):Longint; cdecl;external libncurses;
 function newpad(_para1:Longint; _para2:Longint):PWINDOW;cdecl;external libncurses;
 function newpad(_para1:Longint; _para2:Longint):PWINDOW;cdecl;external libncurses;
-function newterm(_para1:PChar; _para2:PFILE; _para3:PFILE):PSCREEN;cdecl;external libncurses;
+function newterm(_para1:PAnsiChar; _para2:PFILE; _para3:PFILE):PSCREEN;cdecl;external libncurses;
 function newwin(_para1:Longint; _para2:Longint; _para3:Longint; _para4:Longint):PWINDOW;cdecl;external libncurses;
 function newwin(_para1:Longint; _para2:Longint; _para3:Longint; _para4:Longint):PWINDOW;cdecl;external libncurses;
 function nl:Longint; cdecl;external libncurses;
 function nl:Longint; cdecl;external libncurses;
 function nocbreak:Longint; cdecl;external libncurses;
 function nocbreak:Longint; cdecl;external libncurses;
@@ -394,11 +394,11 @@ type TWinInit = function (win: PWINDOW; ncols: Longint): Longint; cdecl;
 function ripoffline(line: Longint; init: TWinInit):Longint; cdecl;external libncurses;
 function ripoffline(line: Longint; init: TWinInit):Longint; cdecl;external libncurses;
 
 
 function savetty:Longint; cdecl;external libncurses;
 function savetty:Longint; cdecl;external libncurses;
-function scr_dump(_para1:PChar):Longint; cdecl;external libncurses;
-function scr_init(_para1:PChar):Longint; cdecl;external libncurses;
+function scr_dump(_para1:PAnsiChar):Longint; cdecl;external libncurses;
+function scr_init(_para1:PAnsiChar):Longint; cdecl;external libncurses;
 function scrollok(_para1:PWINDOW; _para2:Bool):Longint; cdecl;external libncurses;
 function scrollok(_para1:PWINDOW; _para2:Bool):Longint; cdecl;external libncurses;
-function scr_restore(_para1:PChar):Longint; cdecl;external libncurses;
-function scr_set(_para1:PChar):Longint; cdecl;external libncurses;
+function scr_restore(_para1:PAnsiChar):Longint; cdecl;external libncurses;
+function scr_set(_para1:PAnsiChar):Longint; cdecl;external libncurses;
 function set_term(_para1:PSCREEN):PSCREEN;cdecl;external libncurses;
 function set_term(_para1:PSCREEN):PSCREEN;cdecl;external libncurses;
 function slk_attroff(_para1:chtype):Longint; cdecl;external libncurses;
 function slk_attroff(_para1:chtype):Longint; cdecl;external libncurses;
 
 
@@ -410,25 +410,25 @@ function slk_attr_set(_para1:attr_t; _para2:Smallint; _para3:Pointer):Longint; c
 function slk_clear:Longint; cdecl;external libncurses;
 function slk_clear:Longint; cdecl;external libncurses;
 function slk_color(_para1:Smallint):Longint; cdecl;external libncurses;
 function slk_color(_para1:Smallint):Longint; cdecl;external libncurses;
 function slk_init(_para1:Longint):Longint; cdecl;external libncurses;
 function slk_init(_para1:Longint):Longint; cdecl;external libncurses;
-function slk_label(_para1:Longint):PChar;cdecl;external libncurses;
+function slk_label(_para1:Longint):PAnsiChar;cdecl;external libncurses;
 function slk_noutrefresh:Longint; cdecl;external libncurses;
 function slk_noutrefresh:Longint; cdecl;external libncurses;
 function slk_refresh:Longint; cdecl;external libncurses;
 function slk_refresh:Longint; cdecl;external libncurses;
 function slk_restore:Longint; cdecl;external libncurses;
 function slk_restore:Longint; cdecl;external libncurses;
-function slk_set(_para1:Longint; _para2:PChar; _para3:Longint):Longint; cdecl;external libncurses;
+function slk_set(_para1:Longint; _para2:PAnsiChar; _para3:Longint):Longint; cdecl;external libncurses;
 function slk_touch:Longint; cdecl;external libncurses;
 function slk_touch:Longint; cdecl;external libncurses;
 function start_color:Longint; cdecl;external libncurses;
 function start_color:Longint; cdecl;external libncurses;
 function subpad(_para1:PWINDOW; _para2:Longint; _para3:Longint; _para4:Longint; _para5:Longint):PWINDOW;cdecl;external libncurses;
 function subpad(_para1:PWINDOW; _para2:Longint; _para3:Longint; _para4:Longint; _para5:Longint):PWINDOW;cdecl;external libncurses;
 function subwin(_para1:PWINDOW; _para2:Longint; _para3:Longint; _para4:Longint; _para5:Longint):PWINDOW;cdecl;external libncurses;
 function subwin(_para1:PWINDOW; _para2:Longint; _para3:Longint; _para4:Longint; _para5:Longint):PWINDOW;cdecl;external libncurses;
 function syncok(_para1:PWINDOW; _para2:Bool):Longint; cdecl;external libncurses;
 function syncok(_para1:PWINDOW; _para2:Bool):Longint; cdecl;external libncurses;
 function termattrs:chtype;cdecl;external libncurses;
 function termattrs:chtype;cdecl;external libncurses;
-function termname:PChar;cdecl;external libncurses;
+function termname:PAnsiChar;cdecl;external libncurses;
 function typeahead(_para1:Longint):Longint; cdecl;external libncurses;
 function typeahead(_para1:Longint):Longint; cdecl;external libncurses;
 function ungetch(_para1:Longint):Longint; cdecl;external libncurses;
 function ungetch(_para1:Longint):Longint; cdecl;external libncurses;
 procedure use_env(_para1:Bool);cdecl;external libncurses;
 procedure use_env(_para1:Bool);cdecl;external libncurses;
 function vidattr(_para1:chtype):Longint; cdecl;external libncurses;
 function vidattr(_para1:chtype):Longint; cdecl;external libncurses;
 function waddch(_para1:PWINDOW; _para2:chtype):Longint; cdecl;external libncurses;
 function waddch(_para1:PWINDOW; _para2:chtype):Longint; cdecl;external libncurses;
 function waddchnstr(_para1:PWINDOW; _para2:Pchtype; _para3:Longint):Longint; cdecl;external libncurses;
 function waddchnstr(_para1:PWINDOW; _para2:Pchtype; _para3:Longint):Longint; cdecl;external libncurses;
-function waddnstr(_para1:PWINDOW; _para2:PChar; _para3:Longint):Longint; cdecl;external libncurses;
+function waddnstr(_para1:PWINDOW; _para2:PAnsiChar; _para3:Longint):Longint; cdecl;external libncurses;
 function wattr_on(_para1:PWINDOW; _para2:attr_t; _para3:Pointer):Longint; cdecl;external libncurses;
 function wattr_on(_para1:PWINDOW; _para2:attr_t; _para3:Pointer):Longint; cdecl;external libncurses;
 function wattr_off(_para1:PWINDOW; _para2:attr_t; _para3:Pointer):Longint; cdecl;external libncurses;
 function wattr_off(_para1:PWINDOW; _para2:attr_t; _para3:Pointer):Longint; cdecl;external libncurses;
 function wbkgd(_para1:PWINDOW; _para2:chtype):Longint; cdecl;external libncurses;
 function wbkgd(_para1:PWINDOW; _para2:chtype):Longint; cdecl;external libncurses;
@@ -445,14 +445,14 @@ function wdelch(_para1:PWINDOW):Longint; cdecl;external libncurses;
 function wechochar(_para1:PWINDOW; _para2:chtype):Longint; cdecl;external libncurses;
 function wechochar(_para1:PWINDOW; _para2:chtype):Longint; cdecl;external libncurses;
 function werase(_para1:PWINDOW):Longint; cdecl;external libncurses;
 function werase(_para1:PWINDOW):Longint; cdecl;external libncurses;
 function wgetch(_para1:PWINDOW):Longint; cdecl;external libncurses;
 function wgetch(_para1:PWINDOW):Longint; cdecl;external libncurses;
-function wgetnstr(_para1:PWINDOW; _para2:PChar; _para3:Longint):Longint; cdecl;external libncurses;
+function wgetnstr(_para1:PWINDOW; _para2:PAnsiChar; _para3:Longint):Longint; cdecl;external libncurses;
 function whline(_para1:PWINDOW; _para2:chtype; _para3:Longint):Longint; cdecl;external libncurses;
 function whline(_para1:PWINDOW; _para2:chtype; _para3:Longint):Longint; cdecl;external libncurses;
 function winch(_para1:PWINDOW):chtype;cdecl;external libncurses;
 function winch(_para1:PWINDOW):chtype;cdecl;external libncurses;
 function winchnstr(_para1:PWINDOW; _para2:Pchtype; _para3:Longint):Longint; cdecl;external libncurses;
 function winchnstr(_para1:PWINDOW; _para2:Pchtype; _para3:Longint):Longint; cdecl;external libncurses;
-function winnstr(_para1:PWINDOW; _para2:PChar; _para3:Longint):Longint; cdecl;external libncurses;
+function winnstr(_para1:PWINDOW; _para2:PAnsiChar; _para3:Longint):Longint; cdecl;external libncurses;
 function winsch(_para1:PWINDOW; _para2:chtype):Longint; cdecl;external libncurses;
 function winsch(_para1:PWINDOW; _para2:chtype):Longint; cdecl;external libncurses;
 function winsdelln(_para1:PWINDOW; _para2:Longint):Longint; cdecl;external libncurses;
 function winsdelln(_para1:PWINDOW; _para2:Longint):Longint; cdecl;external libncurses;
-function winsnstr(_para1:PWINDOW; _para2:PChar; _para3:Longint):Longint; cdecl;external libncurses;
+function winsnstr(_para1:PWINDOW; _para2:PAnsiChar; _para3:Longint):Longint; cdecl;external libncurses;
 { realised as inline function }
 { realised as inline function }
 //function wmove(_para1:PWINDOW; _para2:Longint; _para3:Longint):Longint; cdecl;external libncurses;
 //function wmove(_para1:PWINDOW; _para2:Longint; _para3:Longint):Longint; cdecl;external libncurses;
 function wnoutrefresh(_para1:PWINDOW):Longint; cdecl;external libncurses;
 function wnoutrefresh(_para1:PWINDOW):Longint; cdecl;external libncurses;
@@ -470,16 +470,16 @@ function wvline(_para1:PWINDOW; _para2:chtype; _para3:Longint):Longint; cdecl;ex
  * These are also declared in <ncursesw/term.h>:
  * These are also declared in <ncursesw/term.h>:
  *)
  *)
 
 
-function tigetflag(_para1:PChar):Longint; cdecl;external libncurses;
-function tigetnum(_para1:PChar):Longint; cdecl;external libncurses;
-function tigetstr(_para1:PChar):PChar;cdecl;external libncurses;
-function putp(_para1:PChar):Longint; cdecl;external libncurses;
+function tigetflag(_para1:PAnsiChar):Longint; cdecl;external libncurses;
+function tigetnum(_para1:PAnsiChar):Longint; cdecl;external libncurses;
+function tigetstr(_para1:PAnsiChar):PAnsiChar;cdecl;external libncurses;
+function putp(_para1:PAnsiChar):Longint; cdecl;external libncurses;
 
 
 var
 var
 {$IFNDEF darwin}
 {$IFNDEF darwin}
-   ttytype : array of PChar cvar; external;  { needed for backward compatibility  }
+   ttytype : array of PAnsiChar cvar; external;  { needed for backward compatibility  }
 {$ELSE darwin}
 {$ELSE darwin}
-   ttytype : array of PChar external libncurses  name 'ttytype';
+   ttytype : array of PAnsiChar external libncurses  name 'ttytype';
 {$ENDIF darwin}
 {$ENDIF darwin}
 
 
 (*
 (*
@@ -493,7 +493,7 @@ function vidputs(attrs:chtype; _putc:TPutc):Longint; cdecl;external libncurses;
 
 
 function erasewchar(_para1:Pwchar_t):Longint; cdecl;external libncurses;
 function erasewchar(_para1:Pwchar_t):Longint; cdecl;external libncurses;
 function getcchar(_para1:Pcchar_t; _para2:Pwchar_t; _para3:Pattr_t; _para4:PSmallInt; _para5:Pointer):Longint; cdecl;external libncurses;
 function getcchar(_para1:Pcchar_t; _para2:Pwchar_t; _para3:Pattr_t; _para4:PSmallInt; _para5:Pointer):Longint; cdecl;external libncurses;
-function key_name(_para1:wchar_t):PChar;cdecl;external libncurses;
+function key_name(_para1:wchar_t):PAnsiChar;cdecl;external libncurses;
 function killwchar(_para1:Pwchar_t):Longint; cdecl;external libncurses;
 function killwchar(_para1:Pwchar_t):Longint; cdecl;external libncurses;
 function pecho_wchar(_para1:PWINDOW; _para2:Pcchar_t):Longint; cdecl;external libncurses;
 function pecho_wchar(_para1:PWINDOW; _para2:Pcchar_t):Longint; cdecl;external libncurses;
 function setcchar(_para1:Pcchar_t; _para2:Pwchar_t; _para3:attr_t; _para4:Smallint; _para5:Pointer):Longint; cdecl;external libncurses;
 function setcchar(_para1:Pcchar_t; _para2:Pwchar_t; _para3:attr_t; _para4:Smallint; _para5:Pointer):Longint; cdecl;external libncurses;
@@ -568,9 +568,9 @@ function color_set(color_pair_number: Smallint; opts: Pointer): longint; inline;
 
 
 (*  pseudo functions  *)
 (*  pseudo functions  *)
 
 
-function wgetstr(win: PWINDOW; s: PChar): Longint;
-function getnstr(s: PChar;n: Longint): Longint; inline;
-function setterm(term: PChar): Longint; inline;
+function wgetstr(win: PWINDOW; s: PAnsiChar): Longint;
+function getnstr(s: PAnsiChar;n: Longint): Longint; inline;
+function setterm(term: PAnsiChar): Longint; inline;
 function fixterm: Longint; inline;
 function fixterm: Longint; inline;
 function resetterm: Longint; inline;
 function resetterm: Longint; inline;
 function saveterm: Longint; inline;
 function saveterm: Longint; inline;
@@ -616,11 +616,11 @@ function box(win:PWINDOW; v,h :chtype):Longint; inline;
 function border(ls,rs,ts,bs,tl,tr,bl,br: chtype): longint; inline;
 function border(ls,rs,ts,bs,tl,tr,bl,br: chtype): longint; inline;
 function hline(ch:chtype; n:longint): longint; inline;
 function hline(ch:chtype; n:longint): longint; inline;
 function vline(ch:chtype; n:longint): longint; inline;
 function vline(ch:chtype; n:longint): longint; inline;
-function winstr(win: PWINDOW;s: PChar): longint; inline;
+function winstr(win: PWINDOW;s: PAnsiChar): longint; inline;
 function winchstr(win: PWINDOW; chstr: pchtype): longint; inline;
 function winchstr(win: PWINDOW; chstr: pchtype): longint; inline;
-function winsstr(win: PWINDOW;s: PChar): longint; inline;
+function winsstr(win: PWINDOW;s: PAnsiChar): longint; inline;
 function redrawwin(win: PWINDOW): longint; inline;
 function redrawwin(win: PWINDOW): longint; inline;
-function waddstr(win: PWINDOW;st: PChar): longint; inline;
+function waddstr(win: PWINDOW;st: PAnsiChar): longint; inline;
 function waddchstr(win: PWINDOW; chstr: pchtype): longint; inline;
 function waddchstr(win: PWINDOW; chstr: pchtype): longint; inline;
 {
 {
    pseudo functions for standard screen
    pseudo functions for standard screen
@@ -628,8 +628,8 @@ function waddchstr(win: PWINDOW; chstr: pchtype): longint; inline;
 function addch(ch: chtype): longint; inline;
 function addch(ch: chtype): longint; inline;
 function addchnstr(chstr: pchtype; n: longint): longint; inline;
 function addchnstr(chstr: pchtype; n: longint): longint; inline;
 function addchstr(chstr: pchtype): longint; inline;
 function addchstr(chstr: pchtype): longint; inline;
-function addnstr(str: PChar;n: longint): longint; inline;
-function addstr(str: PChar): longint; inline;
+function addnstr(str: PAnsiChar;n: longint): longint; inline;
+function addstr(str: PAnsiChar): longint; inline;
 function attroff(attrs: attr_t): longint; inline;
 function attroff(attrs: attr_t): longint; inline;
 function attron(attrs: attr_t): longint; inline;
 function attron(attrs: attr_t): longint; inline;
 function attrset(attrs: attr_t): longint; inline;
 function attrset(attrs: attr_t): longint; inline;
@@ -643,17 +643,17 @@ function deleteln: longint; inline;
 function echochar(ch: chtype): longint; inline;
 function echochar(ch: chtype): longint; inline;
 function erase: longint; inline;
 function erase: longint; inline;
 function getch: longint; inline;
 function getch: longint; inline;
-function getstr(str: PChar): longint; inline;
+function getstr(str: PAnsiChar): longint; inline;
 function inch: chtype; inline;
 function inch: chtype; inline;
 function inchnstr(chstr: pchtype;n: longint): longint; inline;
 function inchnstr(chstr: pchtype;n: longint): longint; inline;
 function inchstr(chstr: pchtype): longint; inline;
 function inchstr(chstr: pchtype): longint; inline;
-function innstr(str: PChar;n: longint): longint; inline;
+function innstr(str: PAnsiChar;n: longint): longint; inline;
 function insch(ch: chtype): longint; inline;
 function insch(ch: chtype): longint; inline;
 function insdelln(n: longint): longint; inline;
 function insdelln(n: longint): longint; inline;
 function insertln: longint; inline;
 function insertln: longint; inline;
-function insnstr(str: PChar;n: longint): longint; inline;
-function insstr(str: PChar): longint; inline;
-function instr(str: PChar): longint; inline;
+function insnstr(str: PAnsiChar;n: longint): longint; inline;
+function insstr(str: PAnsiChar): longint; inline;
+function instr(str: PAnsiChar): longint; inline;
 function move(y,x: Smallint): longint; inline;
 function move(y,x: Smallint): longint; inline;
 function refresh: longint; inline;
 function refresh: longint; inline;
 function scrl(n: longint): longint; inline;
 function scrl(n: longint): longint; inline;
@@ -671,42 +671,42 @@ function winsertln(win: PWINDOW): longint; inline;
 function mvwaddch(win: PWINDOW;y,x: Smallint; ch: chtype): longint; inline;
 function mvwaddch(win: PWINDOW;y,x: Smallint; ch: chtype): longint; inline;
 function mvwaddchnstr(win: PWINDOW;y,x: Smallint; chstr: pchtype; n: longint): longint; inline;
 function mvwaddchnstr(win: PWINDOW;y,x: Smallint; chstr: pchtype; n: longint): longint; inline;
 function mvwaddchstr(win: PWINDOW;y,x: Smallint; chstr: pchtype): longint; inline;
 function mvwaddchstr(win: PWINDOW;y,x: Smallint; chstr: pchtype): longint; inline;
-function mvwaddnstr(win: PWINDOW;y,x: Smallint; str: PChar; n: longint): longint; inline;
-function mvwaddstr(win: PWINDOW;y,x: Smallint; str: PChar): longint; inline;
+function mvwaddnstr(win: PWINDOW;y,x: Smallint; str: PAnsiChar; n: longint): longint; inline;
+function mvwaddstr(win: PWINDOW;y,x: Smallint; str: PAnsiChar): longint; inline;
 function mvwdelch(win: PWINDOW; y,x: Smallint): longint;
 function mvwdelch(win: PWINDOW; y,x: Smallint): longint;
 function mvwchgat(win: PWINDOW;y, x: Smallint; n: Longint;attr: attr_t;
 function mvwchgat(win: PWINDOW;y, x: Smallint; n: Longint;attr: attr_t;
                             color: Smallint; opts: Pointer): longint; inline;
                             color: Smallint; opts: Pointer): longint; inline;
 function mvwgetch(win: PWINDOW; y,x: Smallint): longint; inline;
 function mvwgetch(win: PWINDOW; y,x: Smallint): longint; inline;
-function mvwgetnstr(win: PWINDOW; y,x: Smallint; str: PChar; n: longint): longint; inline;
-function mvwgetstr(win: PWINDOW; y,x: Smallint; str: PChar): longint; inline;
+function mvwgetnstr(win: PWINDOW; y,x: Smallint; str: PAnsiChar; n: longint): longint; inline;
+function mvwgetstr(win: PWINDOW; y,x: Smallint; str: PAnsiChar): longint; inline;
 function mvwhline(win: PWINDOW; y,x: Smallint; ch: chtype; n: longint): longint; inline;
 function mvwhline(win: PWINDOW; y,x: Smallint; ch: chtype; n: longint): longint; inline;
 function mvwinch(win: PWINDOW;y,x: Smallint): chtype; inline;
 function mvwinch(win: PWINDOW;y,x: Smallint): chtype; inline;
 function mvwinchnstr(win: PWINDOW;y,x: Smallint;chstr: pchtype; n: longint): longint; inline;
 function mvwinchnstr(win: PWINDOW;y,x: Smallint;chstr: pchtype; n: longint): longint; inline;
 function mvwinchstr(win: PWINDOW;y,x: Smallint;chstr: pchtype): longint; inline;
 function mvwinchstr(win: PWINDOW;y,x: Smallint;chstr: pchtype): longint; inline;
-function mvwinnstr(win: PWINDOW;y,x: Smallint;str: PChar;n: longint): longint; inline;
+function mvwinnstr(win: PWINDOW;y,x: Smallint;str: PAnsiChar;n: longint): longint; inline;
 function mvwinsch(win: PWINDOW;y,x: Smallint;ch: chtype): longint; inline;
 function mvwinsch(win: PWINDOW;y,x: Smallint;ch: chtype): longint; inline;
-function mvwinsnstr(win: PWINDOW;y,x: Smallint;str: PChar;n: longint): longint; inline;
-function mvwinsstr(win: PWINDOW;y,x: Smallint;str: PChar): longint; inline;
-function mvwinstr(win: PWINDOW;y,x: Smallint;str: PChar): longint; inline;
+function mvwinsnstr(win: PWINDOW;y,x: Smallint;str: PAnsiChar;n: longint): longint; inline;
+function mvwinsstr(win: PWINDOW;y,x: Smallint;str: PAnsiChar): longint; inline;
+function mvwinstr(win: PWINDOW;y,x: Smallint;str: PAnsiChar): longint; inline;
 function mvwvline(win: PWINDOW;y,x: Smallint;ch: chtype;n: longint): longint; inline;
 function mvwvline(win: PWINDOW;y,x: Smallint;ch: chtype;n: longint): longint; inline;
 function mvaddch(y,x: Smallint; ch: chtype): longint; inline;
 function mvaddch(y,x: Smallint; ch: chtype): longint; inline;
 function mvaddchnstr(y,x: Smallint; chstr: pchtype;n: longint): longint; inline;
 function mvaddchnstr(y,x: Smallint; chstr: pchtype;n: longint): longint; inline;
 function mvaddchstr(y,x: Smallint; chstr: pchtype): longint; inline;
 function mvaddchstr(y,x: Smallint; chstr: pchtype): longint; inline;
-function mvaddnstr(y,x: Smallint; str: PChar;n: longint): longint; inline;
-function mvaddstr(y,x: Smallint; str: PChar): longint; inline;
+function mvaddnstr(y,x: Smallint; str: PAnsiChar;n: longint): longint; inline;
+function mvaddstr(y,x: Smallint; str: PAnsiChar): longint; inline;
 function mvdelch(y,x: Smallint): longint; inline;
 function mvdelch(y,x: Smallint): longint; inline;
 function mvgetch(y,x: Smallint): longint; inline;
 function mvgetch(y,x: Smallint): longint; inline;
-function mvgetnstr(y,x: Smallint; str: PChar;n: longint): longint; inline;
-function mvgetstr(y,x: Smallint; str: PChar): longint; inline;
+function mvgetnstr(y,x: Smallint; str: PAnsiChar;n: longint): longint; inline;
+function mvgetstr(y,x: Smallint; str: PAnsiChar): longint; inline;
 function mvhline(y,x: Smallint;ch: chtype;n: longint): longint; inline;
 function mvhline(y,x: Smallint;ch: chtype;n: longint): longint; inline;
 function mvinch(y,x: Smallint): chtype; inline;
 function mvinch(y,x: Smallint): chtype; inline;
 function mvinchnstr(y,x: Smallint; chstr: pchtype;n: longint): longint; inline;
 function mvinchnstr(y,x: Smallint; chstr: pchtype;n: longint): longint; inline;
 function mvinchstr(y,x: Smallint; chstr: pchtype): longint; inline;
 function mvinchstr(y,x: Smallint; chstr: pchtype): longint; inline;
-function mvinnstr(y,x: Smallint; str: PChar;n: longint): longint; inline;
+function mvinnstr(y,x: Smallint; str: PAnsiChar;n: longint): longint; inline;
 function mvinsch(y,x: Smallint;ch: chtype): longint; inline;
 function mvinsch(y,x: Smallint;ch: chtype): longint; inline;
-function mvinsnstr(y,x: Smallint; str: PChar;n: longint): longint; inline;
-function mvinsstr(y,x: Smallint; str: PChar): longint; inline;
-function mvinstr(y,x: Smallint; str: PChar): longint; inline;
+function mvinsnstr(y,x: Smallint; str: PAnsiChar;n: longint): longint; inline;
+function mvinsstr(y,x: Smallint; str: PAnsiChar): longint; inline;
+function mvinstr(y,x: Smallint; str: PAnsiChar): longint; inline;
 function mvvline(y,x: Smallint; ch:chtype; n:longint): longint; inline;
 function mvvline(y,x: Smallint; ch:chtype; n:longint): longint; inline;
 function attr_get(attrs:Pattr_t; pair:PSmallint; opts:Pointer): longint; inline;
 function attr_get(attrs:Pattr_t; pair:PSmallint; opts:Pointer): longint; inline;
 function attr_off(attrs:attr_t; opts:Pointer): longint; inline;
 function attr_off(attrs:attr_t; opts:Pointer): longint; inline;
@@ -853,7 +853,7 @@ const
    KEY_MAX = 511;       { Maximum key value is 0633    &0777 }
    KEY_MAX = 511;       { Maximum key value is 0633    &0777 }
 
 
 type
 type
-   //tnc_wacs= array [char] of cchar_t;
+   //tnc_wacs= array [AnsiChar] of cchar_t;
    tnc_wacs= array of cchar_t;
    tnc_wacs= array of cchar_t;
    pnc_wacs = ^tacs_map;
    pnc_wacs = ^tacs_map;
 
 
@@ -1068,30 +1068,30 @@ function wmove(win: PWINDOW; y,x: Smallint): Longint; inline;
 
 
 (* C varargs  procedures*)
 (* C varargs  procedures*)
 
 
-function tparm(_para1:PChar):PChar;cdecl; varargs; external libncurses; overload;
-function mvprintw(_para1:Longint; _para2:Longint; _para3:PChar):Longint; cdecl; varargs; external libncurses; overload;
-function mvscanw(_para1:Longint; _para2:Longint; _para3:PChar):Longint; cdecl; varargs;external libncurses; overload;
-function mvwprintw(_para1:PWINDOW; _para2:Longint; _para3:Longint; _para4:PChar):Longint; cdecl; varargs; external libncurses; overload;
-function mvwscanw(_para1:PWINDOW; _para2:Longint; _para3:Longint; _para4:PChar):Longint; cdecl; varargs; external libncurses; overload;
-function scanw(_para1:PChar):Longint; cdecl; varargs; external libncurses; overload;
-function wprintw(_para1:PWINDOW; _para2:PChar):Longint; cdecl; varargs; external libncurses; overload;
-function wscanw(_para1:PWINDOW; _para2:PChar):Longint; cdecl; varargs; external libncurses; overload;
-function printw(_para1:PChar):Longint; cdecl; varargs; external libncurses; overload;
-{function vwprintw(_para1:PWINDOW; _para2:PChar; _para3:va_list):Longint; cdecl;external libncurses;
-function vw_printw(_para1:PWINDOW; _para2:PChar; _para3:va_list):Longint; cdecl;external libncurses;
-function vwscanw(_para1:PWINDOW; _para2:PChar; _para3:va_list):Longint; cdecl;external libncurses;
-function vw_scanw(_para1:PWINDOW; _para2:PChar; _para3:va_list):Longint; cdecl;external libncurses;}
+function tparm(_para1:PAnsiChar):PAnsiChar;cdecl; varargs; external libncurses; overload;
+function mvprintw(_para1:Longint; _para2:Longint; _para3:PAnsiChar):Longint; cdecl; varargs; external libncurses; overload;
+function mvscanw(_para1:Longint; _para2:Longint; _para3:PAnsiChar):Longint; cdecl; varargs;external libncurses; overload;
+function mvwprintw(_para1:PWINDOW; _para2:Longint; _para3:Longint; _para4:PAnsiChar):Longint; cdecl; varargs; external libncurses; overload;
+function mvwscanw(_para1:PWINDOW; _para2:Longint; _para3:Longint; _para4:PAnsiChar):Longint; cdecl; varargs; external libncurses; overload;
+function scanw(_para1:PAnsiChar):Longint; cdecl; varargs; external libncurses; overload;
+function wprintw(_para1:PWINDOW; _para2:PAnsiChar):Longint; cdecl; varargs; external libncurses; overload;
+function wscanw(_para1:PWINDOW; _para2:PAnsiChar):Longint; cdecl; varargs; external libncurses; overload;
+function printw(_para1:PAnsiChar):Longint; cdecl; varargs; external libncurses; overload;
+{function vwprintw(_para1:PWINDOW; _para2:PAnsiChar; _para3:va_list):Longint; cdecl;external libncurses;
+function vw_printw(_para1:PWINDOW; _para2:PAnsiChar; _para3:va_list):Longint; cdecl;external libncurses;
+function vwscanw(_para1:PWINDOW; _para2:PAnsiChar; _para3:va_list):Longint; cdecl;external libncurses;
+function vw_scanw(_para1:PWINDOW; _para2:PAnsiChar; _para3:va_list):Longint; cdecl;external libncurses;}
 
 
 {$IF DEFINED(FPC_OBJFPC) OR DEFINED(FPC_DELPHI)}
 {$IF DEFINED(FPC_OBJFPC) OR DEFINED(FPC_DELPHI)}
-{function tparm(_para1:PChar; args:array of const):PChar;cdecl;external libncurses; overload;
-function mvprintw(_para1:Longint; _para2:Longint; _para3:PChar; args:array of const):Longint; cdecl;external libncurses; overload;
-function mvscanw(_para1:Longint; _para2:Longint; _para3:PChar; args:array of const):Longint; cdecl;external libncurses; overload;
-function mvwprintw(_para1:PWINDOW; _para2:Longint; _para3:Longint; _para4:PChar; args:array of const):Longint; cdecl;external libncurses; overload;
-function mvwscanw(_para1:PWINDOW; _para2:Longint; _para3:Longint; _para4:PChar; args:array of const):Longint; cdecl;external libncurses; overload;
-function scanw(_para1:PChar; args:array of const):Longint; cdecl;external libncurses; overload;
-function wprintw(_para1:PWINDOW; _para2:PChar; args:array of const):Longint; cdecl;external libncurses; overload;
-function wscanw(_para1:PWINDOW; _para2:PChar; args:array of const):Longint; cdecl;external libncurses; overload;
-function printw(_para1:PChar; args:array of const):Longint; cdecl;external libncurses; overload;}
+{function tparm(_para1:PAnsiChar; args:array of const):PAnsiChar;cdecl;external libncurses; overload;
+function mvprintw(_para1:Longint; _para2:Longint; _para3:PAnsiChar; args:array of const):Longint; cdecl;external libncurses; overload;
+function mvscanw(_para1:Longint; _para2:Longint; _para3:PAnsiChar; args:array of const):Longint; cdecl;external libncurses; overload;
+function mvwprintw(_para1:PWINDOW; _para2:Longint; _para3:Longint; _para4:PAnsiChar; args:array of const):Longint; cdecl;external libncurses; overload;
+function mvwscanw(_para1:PWINDOW; _para2:Longint; _para3:Longint; _para4:PAnsiChar; args:array of const):Longint; cdecl;external libncurses; overload;
+function scanw(_para1:PAnsiChar; args:array of const):Longint; cdecl;external libncurses; overload;
+function wprintw(_para1:PWINDOW; _para2:PAnsiChar; args:array of const):Longint; cdecl;external libncurses; overload;
+function wscanw(_para1:PWINDOW; _para2:PAnsiChar; args:array of const):Longint; cdecl;external libncurses; overload;
+function printw(_para1:PAnsiChar; args:array of const):Longint; cdecl;external libncurses; overload;}
 
 
 {$ENDIF}
 {$ENDIF}
 
 
@@ -1273,23 +1273,23 @@ begin
   color_set:=wcolor_set(stdscr,color_pair_number,opts);
   color_set:=wcolor_set(stdscr,color_pair_number,opts);
 end;
 end;
 
 
-function wgetstr(win: PWINDOW; s: PChar): Longint;
+function wgetstr(win: PWINDOW; s: PAnsiChar): Longint;
 begin
 begin
   wgetstr := wgetnstr(win, s, -1);
   wgetstr := wgetnstr(win, s, -1);
 end;
 end;
 
 
-function getnstr(s: PChar;n: Longint): Longint;
+function getnstr(s: PAnsiChar;n: Longint): Longint;
 begin
 begin
   getnstr := wgetnstr(stdscr,s,n);
   getnstr := wgetnstr(stdscr,s,n);
 end;
 end;
 
 
 {
 {
   setupterm are declared in <ncursesw/term.h>:
   setupterm are declared in <ncursesw/term.h>:
-  int setupterm(char *term, int fildes, int *errret);
+  int setupterm(AnsiChar *term, int fildes, int *errret);
 }
 }
-function setupterm(term:PChar; fildes:Longint; errret:Plongint):Longint; cdecl;external libncurses;
+function setupterm(term:PAnsiChar; fildes:Longint; errret:Plongint):Longint; cdecl;external libncurses;
 
 
-function setterm(term: PChar): Longint;
+function setterm(term: PAnsiChar): Longint;
 begin
 begin
   setterm:=setupterm(term,1,plongint(0));
   setterm:=setupterm(term,1,plongint(0));
 end;
 end;
@@ -1633,7 +1633,7 @@ begin
 end;
 end;
 
 
 
 
-function winstr(win: PWINDOW;s: PChar): longint;
+function winstr(win: PWINDOW;s: PAnsiChar): longint;
 begin
 begin
   winstr:=winnstr(win,s,-(1));
   winstr:=winnstr(win,s,-(1));
 end;
 end;
@@ -1643,7 +1643,7 @@ begin
   winchstr:=winchnstr(win,chstr,-(1));
   winchstr:=winchnstr(win,chstr,-(1));
 end;
 end;
 
 
-function winsstr(win: PWINDOW;s: PChar): longint;
+function winsstr(win: PWINDOW;s: PAnsiChar): longint;
 begin
 begin
   winsstr:=winsnstr(win,s,-(1));
   winsstr:=winsnstr(win,s,-(1));
 end;
 end;
@@ -1653,7 +1653,7 @@ begin
   redrawwin:=wredrawln(win,0,(win^._maxy)+1);
   redrawwin:=wredrawln(win,0,(win^._maxy)+1);
 end;
 end;
 
 
-function waddstr(win: PWINDOW;st: PChar): longint;
+function waddstr(win: PWINDOW;st: PAnsiChar): longint;
 begin
 begin
   waddstr:=waddnstr(win,st,-(1));
   waddstr:=waddnstr(win,st,-(1));
 end;
 end;
@@ -1681,12 +1681,12 @@ begin
   addchstr:=waddchstr(stdscr,chstr);
   addchstr:=waddchstr(stdscr,chstr);
 end;
 end;
 
 
-function addnstr(str: PChar;n: longint): longint;
+function addnstr(str: PAnsiChar;n: longint): longint;
 begin
 begin
   addnstr:=waddnstr(stdscr,str,n);
   addnstr:=waddnstr(stdscr,str,n);
 end;
 end;
 
 
-function addstr(str: PChar): longint;
+function addstr(str: PAnsiChar): longint;
 begin
 begin
   addstr:=waddnstr(stdscr,str,-(1));
   addstr:=waddnstr(stdscr,str,-(1));
 end;
 end;
@@ -1758,7 +1758,7 @@ begin
   getch:=wgetch(stdscr);
   getch:=wgetch(stdscr);
 end;
 end;
 
 
-function getstr(str: PChar): longint;
+function getstr(str: PAnsiChar): longint;
 begin
 begin
   getstr:=wgetstr(stdscr,str);
   getstr:=wgetstr(stdscr,str);
 end;
 end;
@@ -1778,7 +1778,7 @@ begin
   inchstr:=winchstr(stdscr,chstr);
   inchstr:=winchstr(stdscr,chstr);
 end;
 end;
 
 
-function innstr(str: PChar;n: longint): longint;
+function innstr(str: PAnsiChar;n: longint): longint;
 begin
 begin
   innstr:=winnstr(stdscr,str,n);
   innstr:=winnstr(stdscr,str,n);
 end;
 end;
@@ -1798,17 +1798,17 @@ begin
   insertln:=winsdelln(stdscr,1);
   insertln:=winsdelln(stdscr,1);
 end;
 end;
 
 
-function insnstr(str: PChar;n: longint): longint;
+function insnstr(str: PAnsiChar;n: longint): longint;
 begin
 begin
   insnstr:=winsnstr(stdscr,str,n);
   insnstr:=winsnstr(stdscr,str,n);
 end;
 end;
 
 
-function insstr(str: PChar): longint;
+function insstr(str: PAnsiChar): longint;
 begin
 begin
   insstr:=winsstr(stdscr,str);
   insstr:=winsstr(stdscr,str);
 end;
 end;
 
 
-function instr(str: PChar): longint;
+function instr(str: PAnsiChar): longint;
 begin
 begin
   instr:=winstr(stdscr,str);
   instr:=winstr(stdscr,str);
 end;
 end;
@@ -1894,7 +1894,7 @@ begin
      mvwaddchstr := waddchnstr(win,chstr,-(1))
      mvwaddchstr := waddchnstr(win,chstr,-(1))
 end;
 end;
 
 
-function mvwaddnstr(win: PWINDOW;y,x: Smallint;str: PChar;n: longint): longint;
+function mvwaddnstr(win: PWINDOW;y,x: Smallint;str: PAnsiChar;n: longint): longint;
 begin
 begin
   if wmove(win,y,x) = ERR then
   if wmove(win,y,x) = ERR then
      mvwaddnstr := ERR
      mvwaddnstr := ERR
@@ -1902,7 +1902,7 @@ begin
      mvwaddnstr := waddnstr(win,str,n);
      mvwaddnstr := waddnstr(win,str,n);
 end;
 end;
 
 
-function mvwaddstr(win: PWINDOW;y,x: Smallint;str: PChar): longint;
+function mvwaddstr(win: PWINDOW;y,x: Smallint;str: PAnsiChar): longint;
 begin
 begin
   if wmove(win,y,x) = ERR then
   if wmove(win,y,x) = ERR then
      mvwaddstr := ERR
      mvwaddstr := ERR
@@ -1935,7 +1935,7 @@ begin
     mvwgetch := wgetch(win);
     mvwgetch := wgetch(win);
 end;
 end;
 
 
-function mvwgetnstr(win: PWINDOW;y,x: Smallint;str: PChar;n: longint): longint;
+function mvwgetnstr(win: PWINDOW;y,x: Smallint;str: PAnsiChar;n: longint): longint;
 begin
 begin
   if wmove(win,y,x) = ERR then
   if wmove(win,y,x) = ERR then
     mvwgetnstr := ERR
     mvwgetnstr := ERR
@@ -1943,7 +1943,7 @@ begin
     mvwgetnstr := wgetnstr(win,str,n);
     mvwgetnstr := wgetnstr(win,str,n);
 end;
 end;
 
 
-function mvwgetstr(win: PWINDOW;y,x: Smallint;str: PChar): longint;
+function mvwgetstr(win: PWINDOW;y,x: Smallint;str: PAnsiChar): longint;
 begin
 begin
   if wmove(win,y,x) = ERR then
   if wmove(win,y,x) = ERR then
     mvwgetstr := ERR
     mvwgetstr := ERR
@@ -1983,7 +1983,7 @@ begin
     mvwinchstr := winchnstr(win,chstr,-(1));
     mvwinchstr := winchnstr(win,chstr,-(1));
 end;
 end;
 
 
-function mvwinnstr(win: PWINDOW;y,x: Smallint;str: PChar;n: longint): longint;
+function mvwinnstr(win: PWINDOW;y,x: Smallint;str: PAnsiChar;n: longint): longint;
 begin
 begin
   if wmove(win,y,x) = ERR then
   if wmove(win,y,x) = ERR then
     mvwinnstr := ERR
     mvwinnstr := ERR
@@ -1999,7 +1999,7 @@ begin
     mvwinsch := winsch(win,ch);
     mvwinsch := winsch(win,ch);
 end;
 end;
 
 
-function mvwinsnstr(win: PWINDOW;y,x: Smallint;str: PChar;n: longint): longint;
+function mvwinsnstr(win: PWINDOW;y,x: Smallint;str: PAnsiChar;n: longint): longint;
 begin
 begin
   if wmove(win,y,x) = ERR then
   if wmove(win,y,x) = ERR then
     mvwinsnstr := ERR
     mvwinsnstr := ERR
@@ -2007,7 +2007,7 @@ begin
     mvwinsnstr := winsnstr(win,str,n);
     mvwinsnstr := winsnstr(win,str,n);
 end;
 end;
 
 
-function mvwinsstr(win: PWINDOW;y,x: Smallint;str: PChar): longint;
+function mvwinsstr(win: PWINDOW;y,x: Smallint;str: PAnsiChar): longint;
 begin
 begin
   if wmove(win,y,x) = ERR then
   if wmove(win,y,x) = ERR then
     mvwinsstr := ERR
     mvwinsstr := ERR
@@ -2015,7 +2015,7 @@ begin
     mvwinsstr := winsnstr(win,str,-(1));
     mvwinsstr := winsnstr(win,str,-(1));
 end;
 end;
 
 
-function mvwinstr(win: PWINDOW;y,x: Smallint;str: PChar): longint;
+function mvwinstr(win: PWINDOW;y,x: Smallint;str: PAnsiChar): longint;
 begin
 begin
   if wmove(win,y,x) = ERR then
   if wmove(win,y,x) = ERR then
     mvwinstr := ERR
     mvwinstr := ERR
@@ -2055,7 +2055,7 @@ begin
     mvaddchstr := waddchnstr(stdscr,chstr,-(1));
     mvaddchstr := waddchnstr(stdscr,chstr,-(1));
 end;
 end;
 
 
-function mvaddnstr(y,x: Smallint; str: PChar;n: longint): longint;
+function mvaddnstr(y,x: Smallint; str: PAnsiChar;n: longint): longint;
 begin
 begin
   if move(y,x) = ERR then
   if move(y,x) = ERR then
     mvaddnstr := ERR
     mvaddnstr := ERR
@@ -2063,7 +2063,7 @@ begin
     mvaddnstr := waddnstr(stdscr,str,n);
     mvaddnstr := waddnstr(stdscr,str,n);
 end;
 end;
 
 
-function mvaddstr(y,x: Smallint; str: PChar): longint;
+function mvaddstr(y,x: Smallint; str: PAnsiChar): longint;
 begin
 begin
   if move(y,x) = ERR then
   if move(y,x) = ERR then
     mvaddstr := ERR
     mvaddstr := ERR
@@ -2087,7 +2087,7 @@ begin
     mvgetch := wgetch(stdscr);
     mvgetch := wgetch(stdscr);
 end;
 end;
 
 
-function mvgetnstr(y,x: Smallint; str: PChar;n: longint): longint;
+function mvgetnstr(y,x: Smallint; str: PAnsiChar;n: longint): longint;
 begin
 begin
   if move(y,x) = ERR then
   if move(y,x) = ERR then
     mvgetnstr := ERR
     mvgetnstr := ERR
@@ -2095,7 +2095,7 @@ begin
     mvgetnstr := wgetnstr(stdscr,str,n);
     mvgetnstr := wgetnstr(stdscr,str,n);
 end;
 end;
 
 
-function mvgetstr(y,x: Smallint; str: PChar): longint;
+function mvgetstr(y,x: Smallint; str: PAnsiChar): longint;
 begin
 begin
   if move(y,x) = ERR then
   if move(y,x) = ERR then
     mvgetstr := ERR
     mvgetstr := ERR
@@ -2135,7 +2135,7 @@ begin
     mvinchstr := winchnstr(stdscr,chstr,-(1));
     mvinchstr := winchnstr(stdscr,chstr,-(1));
 end;
 end;
 
 
-function mvinnstr(y,x: Smallint; str: PChar;n: longint): longint;
+function mvinnstr(y,x: Smallint; str: PAnsiChar;n: longint): longint;
 begin
 begin
   if move(y,x) = ERR then
   if move(y,x) = ERR then
     mvinnstr := ERR
     mvinnstr := ERR
@@ -2151,7 +2151,7 @@ begin
     mvinsch := winsch(stdscr,ch);
     mvinsch := winsch(stdscr,ch);
 end;
 end;
 
 
-function mvinsnstr(y,x: Smallint; str: PChar;n: longint): longint;
+function mvinsnstr(y,x: Smallint; str: PAnsiChar;n: longint): longint;
 begin
 begin
   if move(y,x) = ERR then
   if move(y,x) = ERR then
     mvinsnstr := ERR
     mvinsnstr := ERR
@@ -2159,7 +2159,7 @@ begin
     mvinsnstr := winsnstr(stdscr,str,n);
     mvinsnstr := winsnstr(stdscr,str,n);
 end;
 end;
 
 
-function mvinsstr(y,x: Smallint; str: PChar): longint;
+function mvinsstr(y,x: Smallint; str: PAnsiChar): longint;
 begin
 begin
   if move(y,x) = ERR then
   if move(y,x) = ERR then
     mvinsstr := ERR
     mvinsstr := ERR
@@ -2167,7 +2167,7 @@ begin
     mvinsstr := winsstr(stdscr,str);
     mvinsstr := winsstr(stdscr,str);
 end;
 end;
 
 
-function mvinstr(y,x: Smallint; str: PChar): longint;
+function mvinstr(y,x: Smallint; str: PAnsiChar): longint;
 begin
 begin
   if move(y,x) = ERR then
   if move(y,x) = ERR then
     mvinstr := ERR
     mvinstr := ERR

+ 143 - 143
packages/ncurses/src/ocrt.pp

@@ -137,7 +137,7 @@ Unit oCrt;
           | 08/18/2000 | kjw |
           | 08/18/2000 | kjw |
           | 1) Added nkXXX constants for all(?) extended keys.
           | 1) Added nkXXX constants for all(?) extended keys.
           | 2) Changed all uses of extended keys to use new nkXXX's.
           | 2) Changed all uses of extended keys to use new nkXXX's.
-          | 3) Edit overloaded to return a nkXXX in ch rather that a char.
+          | 3) Edit overloaded to return a nkXXX in ch rather that a AnsiChar.
           | 4) Resize method added to tnWindow.
           | 4) Resize method added to tnWindow.
           | 5) AddChMap overloaded for preferred (easier) use with nkXXX's.
           | 5) AddChMap overloaded for preferred (easier) use with nkXXX's.
           | 08/24/2000 | kjw |
           | 08/24/2000 | kjw |
@@ -292,8 +292,8 @@ Const
 Type
 Type
    {*** structures to save a screen via nGrabScreen ***}
    {*** structures to save a screen via nGrabScreen ***}
    pnOneRow = pchtype;
    pnOneRow = pchtype;
-   { a buffer for a max of 256 chtype items accessed via pchar }
-   tnOneRow = array [0..1023] of char;
+   { a buffer for a max of 256 chtype items accessed via PAnsiChar }
+   tnOneRow = array [0..1023] of AnsiChar;
    { a one way linked list of screen rows }
    { a one way linked list of screen rows }
    pnRowBuf = ^tnRowBuf;
    pnRowBuf = ^tnRowBuf;
    tnRowBuf = Record
    tnRowBuf = Record
@@ -345,12 +345,12 @@ Type
       InsMode,
       InsMode,
       ExitMode,
       ExitMode,
       AppendMode : boolean;
       AppendMode : boolean;
-      Special : string;
-      Picture : string;
+      Special : shortstring;
+      Picture : shortstring;
       CtrlColor : integer;
       CtrlColor : integer;
       ChMap : nChMap;
       ChMap : nChMap;
       Constructor Init(ft,ih,im,em,ap : boolean;
       Constructor Init(ft,ih,im,em,ap : boolean;
-                                  s,p : string;
+                                  s,p : shortstring;
                                    cc : integer;
                                    cc : integer;
                                    mp : nChMap);
                                    mp : nChMap);
       Destructor Done;
       Destructor Done;
@@ -397,12 +397,12 @@ Type
          Procedure GotoXY(x,y : integer);
          Procedure GotoXY(x,y : integer);
           Function WhereX : integer;
           Function WhereX : integer;
           Function WhereY : integer;
           Function WhereY : integer;
-          Function ReadKey : char;
+          Function ReadKey : AnsiChar;
          Procedure WriteAC(x,y,att,c : longint);
          Procedure WriteAC(x,y,att,c : longint);
-         Procedure FWrite(x,y,att,z : integer; s : string);
+         Procedure FWrite(x,y,att,z : integer; s : shortstring);
          Procedure DrawBox(LineStyle,x1,y1,x2,y2,att : Integer);
          Procedure DrawBox(LineStyle,x1,y1,x2,y2,att : Integer);
-          Function GetHeader : string;
-         Procedure PutHeader(hdr : string; hcolor : integer; hpos : tnJustify);
+          Function GetHeader : shortstring;
+         Procedure PutHeader(hdr : shortstring; hcolor : integer; hpos : tnJustify);
          Procedure SetColor(att : integer);
          Procedure SetColor(att : integer);
           Function GetColor : integer;
           Function GetColor : integer;
           Function GetFrameColor : integer;
           Function GetFrameColor : integer;
@@ -417,19 +417,19 @@ Type
           Function GetY : integer;
           Function GetY : integer;
           Function IsFramed : boolean;
           Function IsFramed : boolean;
           Function IsVisible : Boolean;
           Function IsVisible : Boolean;
-          Function Edit(x,y,att,z,CursPos:Integer;es:String;Var ch : integer) : String;
+          Function Edit(x,y,att,z,CursPos:Integer;es:shortstring;Var ch : integer) : shortstring;
           Function Edit(x,y,att,z,CursPos:Integer;es:LongInt;Var ch : integer) : LongInt;
           Function Edit(x,y,att,z,CursPos:Integer;es:LongInt;Var ch : integer) : LongInt;
           Function Edit(x,y,att,z,CursPos:Integer;es:Real;Var ch : integer) : Real;
           Function Edit(x,y,att,z,CursPos:Integer;es:Real;Var ch : integer) : Real;
-          Function Edit(x,y,att,z,CursPos:Integer;es:String;Var ch : Char) : String;
-          Function Edit(x,y,att,z,CursPos:Integer;es:LongInt;Var ch : Char) : LongInt;
-          Function Edit(x,y,att,z,CursPos:Integer;es:Real;Var ch : Char) : Real;
-          Function EditNumber(x,y,att,wid,decm : integer;bgd : string;initv,minv,maxv : real;var esc : boolean) : real;
-          Function EditNumber(x,y,att,wid,decm : integer;bgd : string;initv,minv,maxv : longint;var esc : boolean) : longint;
-          Function EditDate(x,y,att : integer;initv : string;var esc : boolean) : string;
+          Function Edit(x,y,att,z,CursPos:Integer;es:shortstring;Var ch : AnsiChar) : shortstring;
+          Function Edit(x,y,att,z,CursPos:Integer;es:LongInt;Var ch : AnsiChar) : LongInt;
+          Function Edit(x,y,att,z,CursPos:Integer;es:Real;Var ch : AnsiChar) : Real;
+          Function EditNumber(x,y,att,wid,decm : integer;bgd : shortstring;initv,minv,maxv : real;var esc : boolean) : real;
+          Function EditNumber(x,y,att,wid,decm : integer;bgd : shortstring;initv,minv,maxv : longint;var esc : boolean) : longint;
+          Function EditDate(x,y,att : integer;initv : shortstring;var esc : boolean) : shortstring;
    End;
    End;
 
 
    pnMenuStr = ^tnMenuStr;
    pnMenuStr = ^tnMenuStr;
-   tnMenuStr = array [0..79] of char; { storage for menu item text }
+   tnMenuStr = array [0..79] of AnsiChar; { storage for menu item text }
    pnMenu = ^tnMenu;
    pnMenu = ^tnMenu;
    tnMenu = Object
    tnMenu = Object
       Private
       Private
@@ -454,7 +454,7 @@ Type
          win : pnWindow;
          win : pnWindow;
          Procedure InitWin;
          Procedure InitWin;
          Procedure ClearItem(idx : integer);
          Procedure ClearItem(idx : integer);
-         Procedure AddItem(i : integer; s : string);
+         Procedure AddItem(i : integer; s : shortstring);
          Function Selectable(idx : integer) : boolean;
          Function Selectable(idx : integer) : boolean;
          Function IsValid(idx : integer) : boolean;
          Function IsValid(idx : integer) : boolean;
       Public
       Public
@@ -470,12 +470,12 @@ Type
           Function Wind : pnWindow; { pointer to the window object }
           Function Wind : pnWindow; { pointer to the window object }
          Procedure Move(_x,_y : integer);       { shortcut window move }
          Procedure Move(_x,_y : integer);       { shortcut window move }
          Procedure Align(hpos,vpos : tnJustify);{ shortcut window align }
          Procedure Align(hpos,vpos : tnJustify);{ shortcut window align }
-         Procedure PutHeader(hdr : string; hcolor : integer; hpos : tnJustify);
+         Procedure PutHeader(hdr : shortstring; hcolor : integer; hpos : tnJustify);
          Procedure Clear;           { unpost and clear the menu item list }
          Procedure Clear;           { unpost and clear the menu item list }
-          Function Add(s : string) : integer; { append a menu item }
-         Procedure Insert(idx : integer; s : string); { insert a menu item }
+          Function Add(s : shortstring) : integer; { append a menu item }
+         Procedure Insert(idx : integer; s : shortstring); { insert a menu item }
          Procedure Remove(idx : integer);     { delete a menu item }
          Procedure Remove(idx : integer);     { delete a menu item }
-         Procedure Change(idx : integer; s : string); { change an item }
+         Procedure Change(idx : integer; s : shortstring); { change an item }
          Procedure Active(idx : integer; b : boolean); { toggle gray }
          Procedure Active(idx : integer; b : boolean); { toggle gray }
           Function IsActive(idx : integer) : boolean; { item active ? }
           Function IsActive(idx : integer) : boolean; { item active ? }
          Procedure Spin(b : boolean);{ toggle item looping }
          Procedure Spin(b : boolean);{ toggle item looping }
@@ -486,8 +486,8 @@ Type
           Function Rows(_r : integer) : integer; {get/set menu rows }
           Function Rows(_r : integer) : integer; {get/set menu rows }
           Function Cols(_c : integer) : integer; {get/set menu columns }
           Function Cols(_c : integer) : integer; {get/set menu columns }
           Function IsAssigned(idx : integer) : boolean; { valid & assigned }
           Function IsAssigned(idx : integer) : boolean; { valid & assigned }
-          Function GetMark : string; { return the item mark string }
-         Procedure SetMark(ms : string); { set the mark string }
+          Function GetMark : shortstring; { return the item mark shortstring }
+         Procedure SetMark(ms : shortstring); { set the mark string }
          Procedure Refresh;
          Procedure Refresh;
          Procedure SetColor(att : byte);       { change text color }
          Procedure SetColor(att : byte);       { change text color }
          Procedure SetCursorColor(att : byte); { change cursor color }
          Procedure SetCursorColor(att : byte); { change cursor color }
@@ -516,11 +516,11 @@ Procedure nDelLine(win : pWindow);
 Procedure nGotoXY(win : pWindow; x,y : integer);
 Procedure nGotoXY(win : pWindow; x,y : integer);
  Function nWhereX(win : pWindow) : integer;
  Function nWhereX(win : pWindow) : integer;
  Function nWhereY(win :  pWindow) : integer;
  Function nWhereY(win :  pWindow) : integer;
- Function nReadkey(win : pWindow) : char;
- Function nReadln(win : pWindow) : string;
-Procedure nWrite(win : pWindow; s : string);
-Procedure nWriteln(win : pWindow; s : string);
-Procedure nWriteScr(win : pWindow; x,y,att : integer; s : string);
+ Function nReadkey(win : pWindow) : AnsiChar;
+ Function nReadln(win : pWindow) : shortstring;
+Procedure nWrite(win : pWindow; s : shortstring);
+Procedure nWriteln(win : pWindow; s : shortstring);
+Procedure nWriteScr(win : pWindow; x,y,att : integer; s : shortstring);
 Procedure nRefresh(win : pWindow);
 Procedure nRefresh(win : pWindow);
 Procedure nScroll(win : pWindow; lines : integer; dir : tnUpDown);
 Procedure nScroll(win : pWindow; lines : integer; dir : tnUpDown);
 Procedure nDrawBox(win : pWindow; LineStyle,x1,y1,x2,y2,att : Integer);
 Procedure nDrawBox(win : pWindow; LineStyle,x1,y1,x2,y2,att : Integer);
@@ -552,34 +552,34 @@ Procedure nVLine(win : pwindow; col,row,attr,y : integer);
 Procedure nWriteAC(win : pwindow; x,y : integer; att,acs_char : longint);
 Procedure nWriteAC(win : pwindow; x,y : integer; att,acs_char : longint);
  Function nIsBold(att : integer) : boolean;
  Function nIsBold(att : integer) : boolean;
  Function nSetColorPair(att : integer) : integer;
  Function nSetColorPair(att : integer) : integer;
-Procedure nFWrite(win : pwindow; col,row,attrib : integer; clear : integer; s : string);
-Procedure nFWrite(col,row,attrib : integer; clear : integer; s : string);
- Function nSEdit(win : pwindow; x,y,att,z,CursPos:Integer;es:String;Var ch : Char) : String;
- Function nEdit(win : pwindow; x,y,att,z,CursPos:Integer;es:String;Var ch : Char) : String;
- Function nEdit(win : pwindow; x,y,att,z,CursPos:Integer;es:LongInt;Var ch : Char) : LongInt;
- Function nEdit(win : pwindow; x,y,att,z,CursPos:Integer;es:Real;Var ch : Char) : Real;
- Function nEdit(x,y,att,z,CursPos:Integer;es:String;Var ch : Char) : String;
- Function nEdit(x,y,att,z,CursPos:Integer;es:LongInt;Var ch : Char) : LongInt;
- Function nEdit(x,y,att,z,CursPos:Integer;es:Real;Var ch : Char) : Real;
- Function nEdit(win : pwindow; x,y,att,z,CursPos:Integer;es:String;Var chv : integer) : String;
+Procedure nFWrite(win : pwindow; col,row,attrib : integer; clear : integer; s : shortstring);
+Procedure nFWrite(col,row,attrib : integer; clear : integer; s : shortstring);
+ Function nSEdit(win : pwindow; x,y,att,z,CursPos:Integer;es:shortstring;Var ch : AnsiChar) : shortstring;
+ Function nEdit(win : pwindow; x,y,att,z,CursPos:Integer;es:shortstring;Var ch : AnsiChar) : shortstring;
+ Function nEdit(win : pwindow; x,y,att,z,CursPos:Integer;es:LongInt;Var ch : AnsiChar) : LongInt;
+ Function nEdit(win : pwindow; x,y,att,z,CursPos:Integer;es:Real;Var ch : AnsiChar) : Real;
+ Function nEdit(x,y,att,z,CursPos:Integer;es:shortstring;Var ch : AnsiChar) : shortstring;
+ Function nEdit(x,y,att,z,CursPos:Integer;es:LongInt;Var ch : AnsiChar) : LongInt;
+ Function nEdit(x,y,att,z,CursPos:Integer;es:Real;Var ch : AnsiChar) : Real;
+ Function nEdit(win : pwindow; x,y,att,z,CursPos:Integer;es:shortstring;Var chv : integer) : shortstring;
  Function nEdit(win : pwindow; x,y,att,z,CursPos:Integer;es:LongInt;Var ch : integer) : LongInt;
  Function nEdit(win : pwindow; x,y,att,z,CursPos:Integer;es:LongInt;Var ch : integer) : LongInt;
  Function nEdit(win : pwindow; x,y,att,z,CursPos:Integer;es:Real;Var ch : integer) : Real;
  Function nEdit(win : pwindow; x,y,att,z,CursPos:Integer;es:Real;Var ch : integer) : Real;
- Function nEdit(x,y,att,z,CursPos:Integer;es:String;Var ch : integer) : String;
+ Function nEdit(x,y,att,z,CursPos:Integer;es:shortstring;Var ch : integer) : shortstring;
  Function nEdit(x,y,att,z,CursPos:Integer;es:LongInt;Var ch : integer) : LongInt;
  Function nEdit(x,y,att,z,CursPos:Integer;es:LongInt;Var ch : integer) : LongInt;
  Function nEdit(x,y,att,z,CursPos:Integer;es:Real;Var ch : integer) : Real;
  Function nEdit(x,y,att,z,CursPos:Integer;es:Real;Var ch : integer) : Real;
- Function nEditNumber(win : pwindow; x,y,att,wid,decm : integer;bgd : string;initv,minv,maxv : real;var esc : boolean) : real;
- Function nEditNumber(win : pwindow; x,y,att,wid,decm : integer;bgd : string;initv,minv,maxv : longint;var esc : boolean) : longint;
- Function nEditNumber(x,y,att,wid,decm : integer;bgd : string;initv,minv,maxv : real;var esc : boolean) : real;
- Function nEditNumber(x,y,att,wid,decm : integer;bgd : string;initv,minv,maxv : longint;var esc : boolean) : longint;
- Function nEditDate(win : pwindow; x,y,att : integer;initv : string;var esc : boolean) : string;
- Function nEditDate(x,y,att : integer;initv : string;var esc : boolean) : string;
-Procedure nMakeWindow(var win : tnWindow;x1,y1,x2,y2,ta,ba,ha : integer;hasframe : boolean;hdrpos : tnJustify;hdrtxt : string);
-Procedure nMakeWindow(var win : pnWindow;x1,y1,x2,y2,ta,ba,ha : integer;hasframe : boolean;hdrpos : tnJustify;hdrtxt : string);
-Procedure nMakeMenu(var mnu : tnMenu;x,y,_w,_r,_c,ta,ca,ga,ba,ha : integer;hasframe : boolean;hdrpos : tnJustify;hdrtxt : string);
-Procedure nMakeMenu(var mnu : pnMenu;x,y,_w,_r,_c,ta,ca,ga,ba,ha : integer;hasframe : boolean;hdrpos : tnJustify;hdrtxt : string);
- Function nShowMessage(msg : string;matt : byte;hdr : string;hatt : byte;ack : boolean) : pnWindow;
- Function nReadScr(win : pWindow; x,y,n : integer) : string;
- Function nReadScr(x,y,n : integer) : string;
+ Function nEditNumber(win : pwindow; x,y,att,wid,decm : integer;bgd : shortstring;initv,minv,maxv : real;var esc : boolean) : real;
+ Function nEditNumber(win : pwindow; x,y,att,wid,decm : integer;bgd : shortstring;initv,minv,maxv : longint;var esc : boolean) : longint;
+ Function nEditNumber(x,y,att,wid,decm : integer;bgd : shortstring;initv,minv,maxv : real;var esc : boolean) : real;
+ Function nEditNumber(x,y,att,wid,decm : integer;bgd : shortstring;initv,minv,maxv : longint;var esc : boolean) : longint;
+ Function nEditDate(win : pwindow; x,y,att : integer;initv : shortstring;var esc : boolean) : shortstring;
+ Function nEditDate(x,y,att : integer;initv : shortstring;var esc : boolean) : shortstring;
+Procedure nMakeWindow(var win : tnWindow;x1,y1,x2,y2,ta,ba,ha : integer;hasframe : boolean;hdrpos : tnJustify;hdrtxt : shortstring);
+Procedure nMakeWindow(var win : pnWindow;x1,y1,x2,y2,ta,ba,ha : integer;hasframe : boolean;hdrpos : tnJustify;hdrtxt : shortstring);
+Procedure nMakeMenu(var mnu : tnMenu;x,y,_w,_r,_c,ta,ca,ga,ba,ha : integer;hasframe : boolean;hdrpos : tnJustify;hdrtxt : shortstring);
+Procedure nMakeMenu(var mnu : pnMenu;x,y,_w,_r,_c,ta,ca,ga,ba,ha : integer;hasframe : boolean;hdrpos : tnJustify;hdrtxt : shortstring);
+ Function nShowMessage(msg : shortstring;matt : byte;hdr : shortstring;hatt : byte;ack : boolean) : pnWindow;
+ Function nReadScr(win : pWindow; x,y,n : integer) : shortstring;
+ Function nReadScr(x,y,n : integer) : shortstring;
  Function nReadScrStr(win : pWindow; x,y,n : integer; buf : pchtype) : pchtype;
  Function nReadScrStr(win : pWindow; x,y,n : integer; buf : pchtype) : pchtype;
  Function nReadScrStr(x,y,n : integer; buf : pchtype) : pchtype;
  Function nReadScrStr(x,y,n : integer; buf : pchtype) : pchtype;
  Function nReadScrColor(win : pWindow; x,y : integer) : integer;
  Function nReadScrColor(win : pWindow; x,y : integer) : integer;
@@ -593,7 +593,7 @@ Procedure nPopScreen(p : pnScreenBuf; x,y : integer; win : pWindow);
 Procedure nPopScreen(p : pnScreenBuf; x,y : integer);
 Procedure nPopScreen(p : pnScreenBuf; x,y : integer);
 Procedure nPopScreen(p : pnScreenBuf);
 Procedure nPopScreen(p : pnScreenBuf);
 Procedure nReleaseScreen(p : pnScreenBuf);
 Procedure nReleaseScreen(p : pnScreenBuf);
- Function nCheckPxPicture(var s, Pic : string; var CPos : integer) : word;
+ Function nCheckPxPicture(var s, Pic : shortstring; var CPos : integer) : word;
 
 
 {$i ncrt.inc}
 {$i ncrt.inc}
 {$i pxpic.inc}
 {$i pxpic.inc}
@@ -781,20 +781,20 @@ Begin
    dorefresh := tmp_b;
    dorefresh := tmp_b;
 End;
 End;
 
 
-{ return the window border header string }
-Function tnWindow.GetHeader : string;
+{ return the window border header shortstring }
+Function tnWindow.GetHeader : shortstring;
 Begin
 Begin
    GetHeader := header;
    GetHeader := header;
 End;
 End;
 
 
 {----------------------------------------------------------------------
 {----------------------------------------------------------------------
-  put/replace a header string at the top of a bordered window
+  put/replace a header shortstring at the top of a bordered window
 
 
-     hdr = header string (top line of window, only if hasframe = true)
+     hdr = header shortstring (top line of window, only if hasframe = true)
   hcolor = header line color
   hcolor = header line color
-    hpos = justfication of header string, left, center, or right
+    hpos = justfication of header shortstring, left, center, or right
  ----------------------------------------------------------------------}
  ----------------------------------------------------------------------}
-Procedure tnWindow.PutHeader(hdr : string; hcolor : integer; hpos : tnJustify);
+Procedure tnWindow.PutHeader(hdr : shortstring; hcolor : integer; hpos : tnJustify);
 Var
 Var
    cp,
    cp,
    hx,
    hx,
@@ -951,7 +951,7 @@ Begin
    WhereY := nWhereY(wn);
    WhereY := nWhereY(wn);
 End;
 End;
 
 
-Function tnWindow.ReadKey : char;
+Function tnWindow.ReadKey : AnsiChar;
 Begin
 Begin
    ReadKey := nReadKey(wn);
    ReadKey := nReadKey(wn);
 End;
 End;
@@ -964,7 +964,7 @@ Begin
    dorefresh := tmp_b;
    dorefresh := tmp_b;
 End;
 End;
 
 
-Procedure tnWindow.FWrite(x,y,att,z : integer; s : string);
+Procedure tnWindow.FWrite(x,y,att,z : integer; s : shortstring);
 Begin
 Begin
    tmp_b := dorefresh;
    tmp_b := dorefresh;
    dorefresh := visible;
    dorefresh := visible;
@@ -1016,7 +1016,7 @@ Begin
    IsVisible := visible;
    IsVisible := visible;
 End;
 End;
 
 
-Function tnWindow.Edit(x,y,att,z,CursPos:Integer;es:String;Var ch : integer) : String;
+Function tnWindow.Edit(x,y,att,z,CursPos:Integer;es:shortstring;Var ch : integer) : shortstring;
 var
 var
    tmp_ec : tnec;
    tmp_ec : tnec;
 Begin
 Begin
@@ -1032,7 +1032,7 @@ Begin
    nEC := tmp_ec;
    nEC := tmp_ec;
 End;
 End;
 
 
-Function tnWindow.Edit(x,y,att,z,CursPos:Integer;es:String;Var ch : Char) : String;
+Function tnWindow.Edit(x,y,att,z,CursPos:Integer;es:shortstring;Var ch : AnsiChar) : shortstring;
 var
 var
    i : integer;
    i : integer;
 Begin
 Begin
@@ -1053,7 +1053,7 @@ Begin
    nEC := tmp_ec;
    nEC := tmp_ec;
 End;
 End;
 
 
-Function tnWindow.Edit(x,y,att,z,CursPos:Integer;es:LongInt;Var ch : Char) : LongInt;
+Function tnWindow.Edit(x,y,att,z,CursPos:Integer;es:LongInt;Var ch : AnsiChar) : LongInt;
 var
 var
    i : integer;
    i : integer;
 Begin
 Begin
@@ -1074,7 +1074,7 @@ Begin
    nEC := tmp_ec;
    nEC := tmp_ec;
 End;
 End;
 
 
-Function tnWindow.Edit(x,y,att,z,CursPos:Integer;es:Real;Var ch : Char) : Real;
+Function tnWindow.Edit(x,y,att,z,CursPos:Integer;es:Real;Var ch : AnsiChar) : Real;
 var
 var
    i : integer;
    i : integer;
 Begin
 Begin
@@ -1082,7 +1082,7 @@ Begin
    ch := chr(abs(i));
    ch := chr(abs(i));
 End;
 End;
 
 
-Function tnWindow.EditNumber(x,y,att,wid,decm : integer;bgd : string;initv,minv,maxv : real;var esc : boolean) : real;
+Function tnWindow.EditNumber(x,y,att,wid,decm : integer;bgd : shortstring;initv,minv,maxv : real;var esc : boolean) : real;
 var
 var
    tmp_ec : tnec;
    tmp_ec : tnec;
 Begin
 Begin
@@ -1094,7 +1094,7 @@ Begin
    nEC := tmp_ec;
    nEC := tmp_ec;
 End;
 End;
 
 
-Function tnWindow.EditNumber(x,y,att,wid,decm : integer;bgd : string;initv,minv,maxv : longint;var esc : boolean) : longint;
+Function tnWindow.EditNumber(x,y,att,wid,decm : integer;bgd : shortstring;initv,minv,maxv : longint;var esc : boolean) : longint;
 var
 var
    tmp_ec : tnec;
    tmp_ec : tnec;
 Begin
 Begin
@@ -1106,7 +1106,7 @@ Begin
    nEC := tmp_ec;
    nEC := tmp_ec;
 End;
 End;
 
 
-Function tnWindow.EditDate(x,y,att : integer;initv : string;var esc : boolean) : string;
+Function tnWindow.EditDate(x,y,att : integer;initv : shortstring;var esc : boolean) : shortstring;
 var
 var
    tmp_ec : tnec;
    tmp_ec : tnec;
 Begin
 Begin
@@ -1121,7 +1121,7 @@ End;
 {--------------------------- tnEC -------------------------------}
 {--------------------------- tnEC -------------------------------}
 
 
 Constructor tnEC.Init(ft,ih,im,em,ap : boolean;
 Constructor tnEC.Init(ft,ih,im,em,ap : boolean;
-                                 s,p : string;
+                                 s,p : shortstring;
                                   cc : integer;
                                   cc : integer;
                                   mp : nChMap);
                                   mp : nChMap);
 Begin
 Begin
@@ -1275,17 +1275,17 @@ Begin
 End;
 End;
 
 
 {---------------------------------
 {---------------------------------
-  read input string from a window
+  read input shortstring from a window
  ---------------------------------}
  ---------------------------------}
-Function nReadln(win : pWindow) : string;
+Function nReadln(win : pWindow) : shortstring;
 Begin
 Begin
    wgetstr(win,ps);
    wgetstr(win,ps);
    nReadln := StrPas(ps);
    nReadln := StrPas(ps);
 End;
 End;
 
 
-{ write a string to a window without refreshing screen }
+{ write a shortstring to a window without refreshing screen }
 { DON'T update PrevWn! }
 { DON'T update PrevWn! }
-Procedure nWriteScr(win : pWindow; x,y,att : integer; s : string);
+Procedure nWriteScr(win : pWindow; x,y,att : integer; s : shortstring);
 Var
 Var
    tmp : pwindow;
    tmp : pwindow;
 Begin
 Begin
@@ -1345,7 +1345,7 @@ End;
   write a string to a window at the current cursor position
   write a string to a window at the current cursor position
   followed by a newline
   followed by a newline
  -----------------------------------------------------------}
  -----------------------------------------------------------}
-Procedure nWriteln(win : pWindow; s : string);
+Procedure nWriteln(win : pWindow; s : shortstring);
 Begin
 Begin
    waddstr(win,StrPCopy(ps,s+#10));
    waddstr(win,StrPCopy(ps,s+#10));
    If doRefresh Then wrefresh(win);
    If doRefresh Then wrefresh(win);
@@ -1585,10 +1585,10 @@ End;
    Clear  = clear line up to x position
    Clear  = clear line up to x position
    s      = string to write
    s      = string to write
  -------------------------------------------------------------------}
  -------------------------------------------------------------------}
-Procedure nFWrite(win : pwindow; col,row,attrib : integer; clear : integer; s : string);
+Procedure nFWrite(win : pwindow; col,row,attrib : integer; clear : integer; s : shortstring);
 var
 var
-   clr : array [0..255] of char;
-   cs : string;
+   clr : array [0..255] of AnsiChar;
+   cs : shortstring;
    sub : pWindow;
    sub : pWindow;
    x,y,
    x,y,
    mx,my,
    mx,my,
@@ -1647,16 +1647,16 @@ Begin
 End;
 End;
 
 
 { overload - no pointer }
 { overload - no pointer }
-Procedure nFWrite(col,row,attrib : integer; clear : integer; s : string);
+Procedure nFWrite(col,row,attrib : integer; clear : integer; s : shortstring);
 Begin
 Begin
    nFWrite(ActiveWn,col,row,attrib,clear,s);
    nFWrite(ActiveWn,col,row,attrib,clear,s);
 End;
 End;
 
 
 { compatibility for the old function name }
 { compatibility for the old function name }
 Function nSEdit(win : pwindow; x,y,att,z,CursPos:integer;
 Function nSEdit(win : pwindow; x,y,att,z,CursPos:integer;
-                es:string;var ch : char) : string;
+                es:shortstring;var ch : AnsiChar) : shortstring;
 Var
 Var
-   s : string;
+   s : shortstring;
 Begin
 Begin
    s := nEdit(win,x,y,att,z,CursPos,es,ch);
    s := nEdit(win,x,y,att,z,CursPos,es,ch);
    nSEdit := s;
    nSEdit := s;
@@ -1669,10 +1669,10 @@ Function nEdit(win : pwindow;     { window to work in }
                att,               { color attribute }
                att,               { color attribute }
                z,                 { right-most column of edit region }
                z,                 { right-most column of edit region }
                CursPos:integer;   { place cursor on this column at start }
                CursPos:integer;   { place cursor on this column at start }
-               es:string;         { initial value of string }
+               es:shortstring;         { initial value of shortstring }
                var chv : integer  { ordinal value of character typed, }
                var chv : integer  { ordinal value of character typed, }
                                   { negative for extended keys }
                                   { negative for extended keys }
-               ) : string;
+               ) : shortstring;
 Var
 Var
    ZMode,
    ZMode,
    AppendMode,
    AppendMode,
@@ -1683,9 +1683,9 @@ Var
    pres,
    pres,
    Index : integer;
    Index : integer;
    ts,
    ts,
-   hes : string;
+   hes : shortstring;
    isextended : boolean;
    isextended : boolean;
-   ch : char;
+   ch : AnsiChar;
 
 
 {~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
 {~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
 Procedure NewString;
 Procedure NewString;
@@ -1716,7 +1716,7 @@ End;
 
 
 {~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
 {~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
 Procedure WriteChar;
 Procedure WriteChar;
-var s : string;
+var s : shortstring;
 Begin
 Begin
    ts := es;
    ts := es;
    If AppendMode Then Begin
    If AppendMode Then Begin
@@ -2006,7 +2006,7 @@ begin
                     ch := ReadKey;
                     ch := ReadKey;
                     { make it a function key }
                     { make it a function key }
                     If ch in ['1'..'9'] Then Begin
                     If ch in ['1'..'9'] Then Begin
-                       ch := Char(Ord(ch)+10);
+                       ch := AnsiChar(Ord(ch)+10);
                        chv := ord(ch) * (-1);
                        chv := ord(ch) * (-1);
                     End Else ch := #27;
                     End Else ch := #27;
                     SEditExit := true;
                     SEditExit := true;
@@ -2015,12 +2015,12 @@ begin
          Exit;
          Exit;
       End;
       End;
       #16 : Begin
       #16 : Begin
-               { embed control characters in the string }
+               { embed control characters in the shortstring }
                ch := UpCase(ReadKey);
                ch := UpCase(ReadKey);
                If ch in ['@','2','A'..'Z'] Then Begin
                If ch in ['@','2','A'..'Z'] Then Begin
                   ctrl := true;
                   ctrl := true;
                   If ch = '2' Then ch := '@';
                   If ch = '2' Then ch := '@';
-                  ch := Char(Ord(ch)-64);
+                  ch := AnsiChar(Ord(ch)-64);
                   chv := ord(ch);
                   chv := ord(ch);
                End;
                End;
             End;
             End;
@@ -2036,11 +2036,11 @@ end;
   The maps are 4 character strings interpreted as 2 sets of character
   The maps are 4 character strings interpreted as 2 sets of character
   pairs that represent the following:
   pairs that represent the following:
 
 
-  1st char - If it is #0 then it is an extended char. Use the 2nd
+  1st AnsiChar - If it is #0 then it is an extended AnsiChar. Use the 2nd
              character to identify.
              character to identify.
-  2nd char - Only used if 1st char is #0.
+  2nd AnsiChar - Only used if 1st AnsiChar is #0.
 
 
-  The first pair of the string is the actual key pressed.
+  The first pair of the shortstring is the actual key pressed.
   The second pair is what that key should be become.
   The second pair is what that key should be become.
 
 
   #0#59 = F1, extended key
   #0#59 = F1, extended key
@@ -2058,7 +2058,7 @@ end;
      #0#0#0#59  = map ^@ to F1
      #0#0#0#59  = map ^@ to F1
      #97#0#65#0 = map a to A
      #97#0#65#0 = map a to A
 }
 }
-Procedure MapKey(var ch : char;var eflag : boolean);
+Procedure MapKey(var ch : AnsiChar;var eflag : boolean);
 Var
 Var
    i,
    i,
    cv : integer;
    cv : integer;
@@ -2135,7 +2135,7 @@ End;{ of nEdit }
 
 
 { compatibility for old ch type }
 { compatibility for old ch type }
 Function nEdit(win : pwindow; x,y,att,z,CursPos:integer;
 Function nEdit(win : pwindow; x,y,att,z,CursPos:integer;
-                es:string;var ch : char) : string;
+                es:shortstring;var ch : AnsiChar) : shortstring;
 Var i : integer;
 Var i : integer;
 Begin
 Begin
    nEdit := nEdit(win,x,y,att,z,CursPos,es,i);
    nEdit := nEdit(win,x,y,att,z,CursPos,es,i);
@@ -2150,7 +2150,7 @@ Begin
 End;
 End;
 
 
 Function nEdit(x,y,att,z,CursPos:integer;
 Function nEdit(x,y,att,z,CursPos:integer;
-               es:string;var ch : char) : string;
+               es:string;var ch : AnsiChar) : string;
 Var i : integer;
 Var i : integer;
 Begin
 Begin
    nEdit := nEdit(ActiveWn,x,y,att,z,CursPos,es,i);
    nEdit := nEdit(ActiveWn,x,y,att,z,CursPos,es,i);
@@ -2165,7 +2165,7 @@ Begin
 End;
 End;
 
 
 Function nEdit(x,y,att,z,CursPos:integer;
 Function nEdit(x,y,att,z,CursPos:integer;
-               es:longint;var ch : char) : longint;
+               es:longint;var ch : AnsiChar) : longint;
 Begin
 Begin
    nEdit := nEdit(ActiveWn,x,y,att,z,CursPos,es,ch);
    nEdit := nEdit(ActiveWn,x,y,att,z,CursPos,es,ch);
 End;
 End;
@@ -2189,7 +2189,7 @@ Begin
 End;
 End;
 
 
 Function nEdit(win : pwindow; x,y,att,z,CursPos:integer;
 Function nEdit(win : pwindow; x,y,att,z,CursPos:integer;
-               es:longint;var ch : char) : longint;
+               es:longint;var ch : AnsiChar) : longint;
 Var i : integer;
 Var i : integer;
 Begin
 Begin
    nEdit := nEdit(win,x,y,att,z,CursPos,es,i);
    nEdit := nEdit(win,x,y,att,z,CursPos,es,i);
@@ -2204,7 +2204,7 @@ Begin
 End;
 End;
 
 
 Function nEdit(x,y,att,z,CursPos:integer;
 Function nEdit(x,y,att,z,CursPos:integer;
-               es:real;var ch : char) : real;
+               es:real;var ch : AnsiChar) : real;
 Var i : integer;
 Var i : integer;
 Begin
 Begin
    nEdit := nEdit(ActiveWn,x,y,att,z,CursPos,es,i);
    nEdit := nEdit(ActiveWn,x,y,att,z,CursPos,es,i);
@@ -2242,7 +2242,7 @@ Begin
 End;
 End;
 
 
 Function nEdit(win : pwindow; x,y,att,z,CursPos:integer;
 Function nEdit(win : pwindow; x,y,att,z,CursPos:integer;
-               es:real;var ch : char) : real;
+               es:real;var ch : AnsiChar) : real;
 Var i : integer;
 Var i : integer;
 Begin
 Begin
    nEdit := nEdit(win,x,y,att,z,CursPos,es,i);
    nEdit := nEdit(win,x,y,att,z,CursPos,es,i);
@@ -2264,7 +2264,7 @@ Function nEditNumber(
        att,              { edit field color attribute }
        att,              { edit field color attribute }
        wid,              { edit field width }
        wid,              { edit field width }
       decm : integer;    { number of decimal columns }
       decm : integer;    { number of decimal columns }
-       bgd : string;     { background string -
+       bgd : shortstring;     { background string -
                            if bgd = '', then no background
                            if bgd = '', then no background
                            if bgd = a single character, then is used as the
                            if bgd = a single character, then is used as the
                            background fill character.
                            background fill character.
@@ -2278,24 +2278,24 @@ Function nEditNumber(
 
 
 Const
 Const
    { up to 12 decimal places }
    { up to 12 decimal places }
-   decs : string = '[#][#][#][#][#][#][#][#][#][#][#][#]';
+   decs : shortstring = '[#][#][#][#][#][#][#][#][#][#][#][#]';
 Var
 Var
    r : real;
    r : real;
-   s,s1,s2 : string;
+   s,s1,s2 : shortstring;
    i,
    i,
    e,
    e,
    bc,
    bc,
    bx : integer;
    bx : integer;
-   ch : char;
-   fill : array [0..255] of char;
+   ch : AnsiChar;
+   fill : array [0..255] of AnsiChar;
    tmp_ec : tnEC;
    tmp_ec : tnEC;
 Begin
 Begin
    tmp_ec := nEC;
    tmp_ec := nEC;
    nEC.ExitMode := true;
    nEC.ExitMode := true;
    nEC.AppendMode := true;
    nEC.AppendMode := true;
    nEC.ClrChMap(0);
    nEC.ClrChMap(0);
-   nEC.AddChMap(#7#0#0+Char(nKeyDel));
-   nEC.AddChMap(#8#0#0+Char(nKeyDel));
+   nEC.AddChMap(#7#0#0+AnsiChar(nKeyDel));
+   nEC.AddChMap(#8#0#0+AnsiChar(nKeyDel));
    If decm > (Length(decs) div 3) Then
    If decm > (Length(decs) div 3) Then
       decm := (Length(decs) div 3);
       decm := (Length(decs) div 3);
    If decm >= wid Then decm := (wid - 1);
    If decm >= wid Then decm := (wid - 1);
@@ -2355,7 +2355,7 @@ End;
 { overload - real, no pointer }
 { overload - real, no pointer }
 Function nEditNumber(
 Function nEditNumber(
    x,y,att,wid,decm : integer;
    x,y,att,wid,decm : integer;
-                bgd : string;
+                bgd : shortstring;
               initv,
               initv,
                minv,
                minv,
                maxv : real;
                maxv : real;
@@ -2368,7 +2368,7 @@ End;
 Function nEditNumber(
 Function nEditNumber(
                 win : pwindow;
                 win : pwindow;
    x,y,att,wid,decm : integer;
    x,y,att,wid,decm : integer;
-                bgd : string;
+                bgd : shortstring;
               initv,
               initv,
                minv,
                minv,
                maxv : longint;
                maxv : longint;
@@ -2383,7 +2383,7 @@ End;
 { overload - longint, no pointer }
 { overload - longint, no pointer }
 Function nEditNumber(
 Function nEditNumber(
    x,y,att,wid,decm : integer;
    x,y,att,wid,decm : integer;
-                bgd : string;
+                bgd : shortstring;
               initv,
               initv,
                minv,
                minv,
                maxv : longint;
                maxv : longint;
@@ -2404,14 +2404,14 @@ Function nEditDate(
          x,           { edit field start column }
          x,           { edit field start column }
          y,           { edit field start row }
          y,           { edit field start row }
        att : integer; { edit field color attribute }
        att : integer; { edit field color attribute }
-     initv : string;     { initial value }
+     initv : shortstring;     { initial value }
    var esc : boolean     { if Esc key pressed = true, else = false }
    var esc : boolean     { if Esc key pressed = true, else = false }
-) : string;
+) : shortstring;
 
 
 Var
 Var
-   s : string;
+   s : shortstring;
    i : integer;
    i : integer;
-   ch : char;
+   ch : AnsiChar;
    tmp_ec : tnEC;
    tmp_ec : tnEC;
 
 
 Begin
 Begin
@@ -2432,9 +2432,9 @@ Begin
    End;
    End;
    If nCheckPxPicture(initv,nEC.Picture,i) <> 0 Then
    If nCheckPxPicture(initv,nEC.Picture,i) <> 0 Then
       system.move(initv[1],s[1],Length(initv));
       system.move(initv[1],s[1],Length(initv));
-   nEC.AddChMap(#7#0#0+Char(nKeyLeft));
-   nEC.AddChMap(#8#0#0+Char(nKeyLeft));
-   nEC.AddChMap(#0+Char(nKeyDel)+#0+Char(nKeyLeft));
+   nEC.AddChMap(#7#0#0+AnsiChar(nKeyLeft));
+   nEC.AddChMap(#8#0#0+AnsiChar(nKeyLeft));
+   nEC.AddChMap(#0+AnsiChar(nKeyDel)+#0+AnsiChar(nKeyLeft));
    Repeat
    Repeat
       s := nEdit(win,x,y,att,x+9,x,s,ch);
       s := nEdit(win,x,y,att,x+9,x,s,ch);
       If ch = #13 Then Begin
       If ch = #13 Then Begin
@@ -2448,7 +2448,7 @@ Begin
 End;
 End;
 
 
 { overload - no pointer }
 { overload - no pointer }
-Function nEditDate(x,y,att : integer;initv : string;var esc : boolean) : string;
+Function nEditDate(x,y,att : integer;initv : shortstring;var esc : boolean) : shortstring;
 Begin
 Begin
    nEditDate := nEditDate(ActiveWn,x,y,att,initv,esc);
    nEditDate := nEditDate(ActiveWn,x,y,att,initv,esc);
 End;
 End;
@@ -2461,7 +2461,7 @@ Procedure nMakeWindow(
     ta,ba,ha : integer;
     ta,ba,ha : integer;
     hasframe : boolean;
     hasframe : boolean;
     hdrpos : tnJustify;
     hdrpos : tnJustify;
-    hdrtxt : string);
+    hdrtxt : shortstring);
 Begin
 Begin
    win.init(x1,y1,x2,y2,ta,hasframe,ba);
    win.init(x1,y1,x2,y2,ta,hasframe,ba);
    If hdrtxt <> '' Then win.PutHeader(hdrtxt,ha,hdrpos);
    If hdrtxt <> '' Then win.PutHeader(hdrtxt,ha,hdrpos);
@@ -2475,7 +2475,7 @@ Procedure nMakeWindow(
     ta,ba,ha : integer;
     ta,ba,ha : integer;
     hasframe : boolean;
     hasframe : boolean;
     hdrpos : tnJustify;
     hdrpos : tnJustify;
-    hdrtxt : string);
+    hdrtxt : shortstring);
 Begin
 Begin
    New(win,init(x1,y1,x2,y2,ta,hasframe,ba));
    New(win,init(x1,y1,x2,y2,ta,hasframe,ba));
    If hdrtxt <> '' Then win^.PutHeader(hdrtxt,ha,hdrpos);
    If hdrtxt <> '' Then win^.PutHeader(hdrtxt,ha,hdrpos);
@@ -2498,9 +2498,9 @@ End;
      a nil pointer if ack = true,
      a nil pointer if ack = true,
      a pointer to the tnWindow object if ack = false
      a pointer to the tnWindow object if ack = false
  --------------------------------------------------------------------}
  --------------------------------------------------------------------}
-Function nShowMessage(msg : string;
+Function nShowMessage(msg : shortstring;
                      matt : byte;
                      matt : byte;
-                      hdr : string;
+                      hdr : shortstring;
                      hatt : byte;
                      hatt : byte;
                       ack : boolean) : pnWindow;
                       ack : boolean) : pnWindow;
 const
 const
@@ -2586,13 +2586,13 @@ End;
     y - starting row.
     y - starting row.
     n - number of characters to read.
     n - number of characters to read.
  ---------------------------------------}
  ---------------------------------------}
-Function nReadScr(win : pWindow; x,y,n : integer) : string;
+Function nReadScr(win : pWindow; x,y,n : integer) : shortstring;
 Var
 Var
    i,idx : integer;
    i,idx : integer;
-   s : string;
+   s : shortstring;
    c : longint;
    c : longint;
-   { array of char/attr values, 4 bytes each, max 256 }
-   buf : array[0..1023] of char;
+   { array of AnsiChar/attr values, 4 bytes each, max 256 }
+   buf : array[0..1023] of AnsiChar;
    p : pchtype;
    p : pchtype;
 Begin
 Begin
    s := '';
    s := '';
@@ -2609,7 +2609,7 @@ Begin
 End;
 End;
 
 
 { overload for current window }
 { overload for current window }
-Function nReadScr(x,y,n : integer) : string;
+Function nReadScr(x,y,n : integer) : shortstring;
 Begin
 Begin
    nReadScr := nReadScr(ActiveWn,x,y,n);
    nReadScr := nReadScr(ActiveWn,x,y,n);
 End;
 End;
@@ -2672,7 +2672,7 @@ Begin
    nReadScrColor := nReadScrColor(ActiveWn,x,y);
    nReadScrColor := nReadScrColor(ActiveWn,x,y);
 End;
 End;
 
 
-{ write a string with attributes, previously saved with nReadScrStr }
+{ write a shortstring with attributes, previously saved with nReadScrStr }
 Procedure nWriteScrStr(win : pWindow; x,y : integer; s : pchtype);
 Procedure nWriteScrStr(win : pWindow; x,y : integer; s : pchtype);
 Begin
 Begin
    mvwaddchstr(win,y-1,x-1,s);
    mvwaddchstr(win,y-1,x-1,s);
@@ -2814,7 +2814,7 @@ Procedure nMakeMenu(
     ta,ca,ga,ba,ha : integer;
     ta,ca,ga,ba,ha : integer;
     hasframe : boolean;
     hasframe : boolean;
     hdrpos : tnJustify;
     hdrpos : tnJustify;
-    hdrtxt : string);
+    hdrtxt : shortstring);
 Begin
 Begin
    mnu.init(x,y,_w,_r,_c,ta,ca,ga,hasframe,ba);
    mnu.init(x,y,_w,_r,_c,ta,ca,ga,hasframe,ba);
    If hdrtxt <> '' Then mnu.PutHeader(hdrtxt,ha,hdrpos);
    If hdrtxt <> '' Then mnu.PutHeader(hdrtxt,ha,hdrpos);
@@ -2828,7 +2828,7 @@ Procedure nMakeMenu(
     ta,ca,ga,ba,ha : integer;
     ta,ca,ga,ba,ha : integer;
     hasframe : boolean;
     hasframe : boolean;
     hdrpos : tnJustify;
     hdrpos : tnJustify;
-    hdrtxt : string);
+    hdrtxt : shortstring);
 Begin
 Begin
    New(mnu,init(x,y,_w,_r,_c,ta,ca,ga,hasframe,ba));
    New(mnu,init(x,y,_w,_r,_c,ta,ca,ga,hasframe,ba));
    If hdrtxt <> '' Then mnu^.PutHeader(hdrtxt,ha,hdrpos);
    If hdrtxt <> '' Then mnu^.PutHeader(hdrtxt,ha,hdrpos);
@@ -2875,8 +2875,8 @@ Procedure tnMenu.Post;
 Var
 Var
    bx,by,
    bx,by,
    mx,my : longint;
    mx,my : longint;
-   p : pchar;
-   a : array[0..SizeOf(tnS10)-1] of char;
+   p : PAnsiChar;
+   a : array[0..SizeOf(tnS10)-1] of AnsiChar;
 Begin
 Begin
    { could already be posted }
    { could already be posted }
    UnPost;
    UnPost;
@@ -2929,7 +2929,7 @@ Const
    select = #13;
    select = #13;
    cancel = #27;
    cancel = #27;
 Var
 Var
-   key : char;
+   key : AnsiChar;
    i,cnt,
    i,cnt,
    prev,
    prev,
    savecurs,
    savecurs,
@@ -3016,7 +3016,7 @@ Begin
    win^.Move(_x,_y);
    win^.Move(_x,_y);
 End;
 End;
 
 
-Procedure tnMenu.PutHeader(hdr : string; hcolor : integer; hpos : tnJustify);
+Procedure tnMenu.PutHeader(hdr : shortstring; hcolor : integer; hpos : tnJustify);
 Begin
 Begin
    win^.PutHeader(hdr,hcolor,hpos);
    win^.PutHeader(hdr,hcolor,hpos);
 End;
 End;
@@ -3060,7 +3060,7 @@ Begin
    End Else merr := E_BAD_ARGUMENT;
    End Else merr := E_BAD_ARGUMENT;
 End;
 End;
 
 
-Procedure tnMenu.AddItem(i : integer; s : string);
+Procedure tnMenu.AddItem(i : integer; s : shortstring);
 Const
 Const
    fwid : shortint = 0;
    fwid : shortint = 0;
    iwid : shortint = 1;
    iwid : shortint = 1;
@@ -3073,7 +3073,7 @@ Begin
       ClearItem(i);
       ClearItem(i);
       GetMem(items[i],Length(s)+1);
       GetMem(items[i],Length(s)+1);
       StrPCopy(items[i]^,s);
       StrPCopy(items[i]^,s);
-      pi[i] := new_item(pchar(items[i]),nil);
+      pi[i] := new_item(PAnsiChar(items[i]),nil);
       If pi[i] <> Nil Then Begin
       If pi[i] <> Nil Then Begin
          merr := E_OK;
          merr := E_OK;
          { Expand the window width if necessary. Limit to screen width.
          { Expand the window width if necessary. Limit to screen width.
@@ -3098,7 +3098,7 @@ Begin
    End Else merr := E_BAD_ARGUMENT;
    End Else merr := E_BAD_ARGUMENT;
 End;
 End;
 
 
-Function tnMenu.Add(s : string) : integer;
+Function tnMenu.Add(s : shortstring) : integer;
 Var
 Var
    i : integer;
    i : integer;
 Begin
 Begin
@@ -3111,7 +3111,7 @@ Begin
    If merr = E_OK Then Add := i;
    If merr = E_OK Then Add := i;
 End;
 End;
 
 
-Procedure tnMenu.Insert(idx : integer; s : string);
+Procedure tnMenu.Insert(idx : integer; s : shortstring);
 Begin
 Begin
    If IsValid(idx) Then Begin
    If IsValid(idx) Then Begin
       ClearItem(nMAXMENUITEMS);
       ClearItem(nMAXMENUITEMS);
@@ -3138,7 +3138,7 @@ Begin
    End Else merr := E_BAD_ARGUMENT;
    End Else merr := E_BAD_ARGUMENT;
 End;
 End;
 
 
-Procedure tnMenu.Change(idx : integer; s : string);
+Procedure tnMenu.Change(idx : integer; s : shortstring);
 Begin
 Begin
    AddItem(idx,s);
    AddItem(idx,s);
 End;
 End;
@@ -3205,8 +3205,8 @@ Begin
    If _c > 0 Then c := _c;
    If _c > 0 Then c := _c;
 End;
 End;
 
 
-{ get the item indicator prefix string }
-Function tnMenu.GetMark : string;
+{ get the item indicator prefix shortstring }
+Function tnMenu.GetMark : shortstring;
 Begin
 Begin
    If posted Then
    If posted Then
       GetMark := StrPas(menu_mark(pm))
       GetMark := StrPas(menu_mark(pm))
@@ -3214,8 +3214,8 @@ Begin
       GetMark := mark;
       GetMark := mark;
 End;
 End;
 
 
-{ set the item indicator prefix string }
-Procedure tnMenu.SetMark(ms : string);
+{ set the item indicator prefix shortstring }
+Procedure tnMenu.SetMark(ms : shortstring);
 Begin
 Begin
    mark := ms;
    mark := ms;
 End;
 End;

+ 12 - 12
packages/ncurses/src/pxpic.inc

@@ -29,7 +29,7 @@
   { which holds the Paradox-form Picture.  If an error is  }
   { which holds the Paradox-form Picture.  If an error is  }
   { found the position of the error is placed in CPos.     }
   { found the position of the error is placed in CPos.     }
 
 
-function nCheckPxPicture(var s, Pic : string;
+function nCheckPxPicture(var s, Pic : shortstring;
                       var CPos : integer) : word;
                       var CPos : integer) : word;
   const
   const
     { flError, flCharOk and flFormatOK are constants used  }
     { flError, flCharOk and flFormatOK are constants used  }
@@ -49,7 +49,7 @@ function nCheckPxPicture(var s, Pic : string;
   { the benefit of the author.  It changes the Copy func.  }
   { the benefit of the author.  It changes the Copy func.  }
   { so that its parameters represent start and end points  }
   { so that its parameters represent start and end points  }
   { rather than a start point followed by a quantity.      }
   { rather than a start point followed by a quantity.      }
-  function Copy(s : string; start, stop : integer) : string;
+  function Copy(s : shortstring; start, stop : integer) : shortstring;
   begin
   begin
     if stop < start then Copy:=''
     if stop < start then Copy:=''
     else Copy:=System.Copy(s,start,stop-start+1);
     else Copy:=System.Copy(s,start,stop-start+1);
@@ -57,7 +57,7 @@ function nCheckPxPicture(var s, Pic : string;
 
 
   { Function FindMatch recursively locates the matching   }
   { Function FindMatch recursively locates the matching   }
   (* grouping characters for "{" and "[".                *)
   (* grouping characters for "{" and "[".                *)
-  function FindMatch(P : string) : integer;
+  function FindMatch(P : Shortstring) : integer;
   var
   var
     i:integer;
     i:integer;
     match:boolean;
     match:boolean;
@@ -84,7 +84,7 @@ function nCheckPxPicture(var s, Pic : string;
   { characters successfully resolved is returned in the    }
   { characters successfully resolved is returned in the    }
   { parameter resolved. When groups or repetitions are     }
   { parameter resolved. When groups or repetitions are     }
   { encountered CP will call itself recursively.           }
   { encountered CP will call itself recursively.           }
-  function CP(var s : string; Pic : string; var CPos :
+  function CP(var s : shortstring; Pic : shortstring; var CPos :
               integer; var Resolved : integer) : word;
               integer; var Resolved : integer) : word;
   const
   const
      CharMatchSet = ['#', '?', '&', '''', '@', '!'];
      CharMatchSet = ['#', '?', '&', '''', '@', '!'];
@@ -139,7 +139,7 @@ function nCheckPxPicture(var s, Pic : string;
           s[i]:=Pic[index];
           s[i]:=Pic[index];
           if i>length(s) then begin
           if i>length(s) then begin
             CPos:=i;
             CPos:=i;
-            s[0]:=char(i);
+            SetLength(s,i);
           end;
           end;
           inc(i);
           inc(i);
           inc(index);
           inc(index);
@@ -221,13 +221,13 @@ function nCheckPxPicture(var s, Pic : string;
     function Group:word;
     function Group:word;
     var
     var
       result_: word;
       result_: word;
-      TempS: string;
-      TempPic: string;
+      TempS: shortstring;
+      TempPic: shortstring;
       TempCPos: integer;
       TempCPos: integer;
       PicEnd: integer;
       PicEnd: integer;
       TempIndex: integer;
       TempIndex: integer;
       SwapIndex:integer;
       SwapIndex:integer;
-      SwapPic : string;
+      SwapPic : shortstring;
     begin
     begin
       TempPic:=Copy(Pic,index,length(Pic));
       TempPic:=Copy(Pic,index,length(Pic));
       PicEnd:=FindMatch(TempPic);
       PicEnd:=FindMatch(TempPic);
@@ -270,17 +270,17 @@ function nCheckPxPicture(var s, Pic : string;
     var
     var
       result_:word;
       result_:word;
       count:integer;
       count:integer;
-      TempPic:string;
-      TempS:string;
+      TempPic:shortstring;
+      TempS:shortstring;
       TempCPos:integer;
       TempCPos:integer;
       TempIndex:integer;
       TempIndex:integer;
       SwapIndex:integer;
       SwapIndex:integer;
-      SwapPic:string;
+      SwapPic:shortstring;
       PicEnd:integer;
       PicEnd:integer;
       commit:boolean;
       commit:boolean;
 
 
       procedure MakeCount;
       procedure MakeCount;
-      var nstr:string;
+      var nstr:shortstring;
           code:integer;
           code:integer;
       begin
       begin
         if Pic[index] in ['0'..'9'] then begin
         if Pic[index] in ['0'..'9'] then begin

+ 1 - 1
packages/ncurses/tests/t1menu.pp

@@ -9,7 +9,7 @@ uses
   ncurses, menu;
   ncurses, menu;
 
 
 const
 const
-  choices: array[0..4] of PChar  =
+  choices: array[0..4] of PAnsiChar  =
                       (
                       (
                         'Choice 1',
                         'Choice 1',
                         'Choice 2',
                         'Choice 2',

+ 2 - 2
packages/ncurses/tests/t2menu.pp

@@ -29,7 +29,7 @@ begin
     width := mx;
     width := mx;
 
 
   wattron(win,pair);
   wattron(win,pair);
-  mvwaddnstr(win,starty,startx + st_middle(mx,width),PChar(tstr),width);
+  mvwaddnstr(win,starty,startx + st_middle(mx,width),PAnsiChar(tstr),width);
   wattroff(win,pair);
   wattroff(win,pair);
 end;
 end;
 
 
@@ -37,7 +37,7 @@ end;
 type
 type
   PMinfo = ^TMinfo;
   PMinfo = ^TMinfo;
   TMinfo = record
   TMinfo = record
-    n, d: PChar;
+    n, d: PAnsiChar;
   end;
   end;
 
 
 
 

+ 6 - 6
packages/ncurses/tests/t3form.pp

@@ -17,10 +17,10 @@ procedure draw;
 
 
 function randomchar: chtype;
 function randomchar: chtype;
 var
 var
-  ch: Char = #0;
+  ch: AnsiChar = #0;
 begin
 begin
   while not (ch in ['0'..'9','A'..'Z','a'..'z']) do
   while not (ch in ['0'..'9','A'..'Z','a'..'z']) do
-    ch := Char(Random(123));
+    ch := AnsiChar(Random(123));
   randomchar := chtype(ch);
   randomchar := chtype(ch);
 end;
 end;
 
 
@@ -42,10 +42,10 @@ begin
 end;
 end;
 
 
 const
 const
-  enumval: array[0..2] of PChar = ('one', 'two', 'three');
-  desc: array[0..5] of PChar =
+  enumval: array[0..2] of PAnsiChar = ('one', 'two', 'three');
+  desc: array[0..5] of PAnsiChar =
               (
               (
-                'TYPE_ALPHA    Char data, a min width 8',
+                'TYPE_ALPHA    AnsiChar data, a min width 8',
                 'TYPE_ENUM      one, two, three',
                 'TYPE_ENUM      one, two, three',
                 'TYPE_INTEGER     -300 .. 300',
                 'TYPE_INTEGER     -300 .. 300',
                 'TYPE_NUMERIC    -30.0 .. 30.0',
                 'TYPE_NUMERIC    -30.0 .. 30.0',
@@ -108,7 +108,7 @@ try
    field[6] := nil;
    field[6] := nil;
 
 
    set_field_type(field[0],TYPE_ALPHA,8);
    set_field_type(field[0],TYPE_ALPHA,8);
-   set_field_type(field[1],TYPE_ENUM,PPChar(enumval),0,0);
+   set_field_type(field[1],TYPE_ENUM,PPAnsiChar(enumval),0,0);
    set_field_type(field[2],TYPE_INTEGER,3,-300,300);
    set_field_type(field[2],TYPE_INTEGER,3,-300,300);
    set_field_type(field[3],TYPE_NUMERIC,8,-30.0,30.0);
    set_field_type(field[3],TYPE_NUMERIC,8,-30.0,30.0);
    set_field_type(field[4],TYPE_REGEXP,'^http://.+\.(ru|net|com)\s*$');
    set_field_type(field[4],TYPE_REGEXP,'^http://.+\.(ru|net|com)\s*$');

+ 1 - 1
packages/ncurses/tests/tbackground.pp

@@ -15,7 +15,7 @@ begin
 	start_color();
 	start_color();
 
 
 	pair_content(0, @f, @b);
 	pair_content(0, @f, @b);
-  printw(PChar('pair 0 contains (%d,%d)'#10), f, b);
+  printw(PAnsiChar('pair 0 contains (%d,%d)'#10), f, b);
 	getch();
 	getch();
 
 
 	printw('Initializing pair 1 to red/black'#10);
 	printw('Initializing pair 1 to red/black'#10);

+ 2 - 2
packages/ncurses/tests/tclock.pp

@@ -188,7 +188,7 @@ begin
   attron(COLOR_PAIR(3));
   attron(COLOR_PAIR(3));
   mvaddstr(cy - 5, cx - Length(title1) DIV 2, title1);
   mvaddstr(cy - 5, cx - Length(title1) DIV 2, title1);
   mvaddstr(cy - 4, cx - Length(title2) DIV 2, title2);
   mvaddstr(cy - 4, cx - Length(title2) DIV 2, title2);
-  mvaddstr(cy - 3, cx - Length(vstr) DIV 2, PChar(vstr));
+  mvaddstr(cy - 3, cx - Length(vstr) DIV 2, PAnsiChar(vstr));
   attroff(COLOR_PAIR(3));
   attroff(COLOR_PAIR(3));
   attron(A_UNDERLINE);
   attron(A_UNDERLINE);
   mvaddstr(cy + 2, cx - Length(title3) DIV 2, title3);
   mvaddstr(cy + 2, cx - Length(title3) DIV 2, title3);
@@ -242,7 +242,7 @@ begin
       Hour := Hour MOD 12;
       Hour := Hour MOD 12;
 
 
       timestr := DateTimeToStr(Now);
       timestr := DateTimeToStr(Now);
-      mvaddstr(cy + round(sradius) - 4, cx - Length(timestr) DIV 2, PChar(timestr));
+      mvaddstr(cy + round(sradius) - 4, cx - Length(timestr) DIV 2, PAnsiChar(timestr));
 
 
       angle := Hour * _2PI / 12;
       angle := Hour * _2PI / 12;
       dline(cy, cx, cy - A2Y(angle, hradius), cx + A2X(angle, hradius), chtype('*'),Hrest);
       dline(cy, cx, cy - A2Y(angle, hradius), cx + A2X(angle, hradius), chtype('*'),Hrest);

+ 1 - 1
packages/ncurses/tests/tevent.pp

@@ -30,7 +30,7 @@ begin
         chtype('2'): raw();
         chtype('2'): raw();
         chtype('3'): halfdelay(10);
         chtype('3'): halfdelay(10);
       else
       else
-        mvaddstr(LINES - 1, 1,PChar(Format('name:%-14s code:%d', [ keyname(ch), ch ] )));
+        mvaddstr(LINES - 1, 1,PAnsiChar(Format('name:%-14s code:%d', [ keyname(ch), ch ] )));
       end;
       end;
     until (ch = chtype('q')) OR (ch = KEY_F(10));
     until (ch = chtype('q')) OR (ch = KEY_F(10));
   finally
   finally

+ 3 - 3
packages/ncurses/tests/tmouse.pp

@@ -10,10 +10,10 @@ procedure draw;
 
 
 function randomchar: chtype;
 function randomchar: chtype;
 var
 var
-  ch: Char = #0;
+  ch: AnsiChar = #0;
 begin
 begin
   while not (ch in ['0'..'9','A'..'Z','a'..'z']) do
   while not (ch in ['0'..'9','A'..'Z','a'..'z']) do
-    ch := Char(Random(123));
+    ch := AnsiChar(Random(123));
   randomchar := chtype(ch);
   randomchar := chtype(ch);
 end;
 end;
 
 
@@ -56,7 +56,7 @@ begin
   begin
   begin
     mvwaddstr(win, 1, 1, '                  ');
     mvwaddstr(win, 1, 1, '                  ');
     str := Format('y := %D, x := %D', [event.y, event.x]);
     str := Format('y := %D, x := %D', [event.y, event.x]);
-    mvwaddstr(win, 1, 2, PChar(str));
+    mvwaddstr(win, 1, 2, PAnsiChar(str));
     wattron(win,A_BOLD);
     wattron(win,A_BOLD);
     mvwaddch(win, 3, 9, mvinch(event.y,event.x ));
     mvwaddch(win, 3, 9, mvinch(event.y,event.x ));
     wattroff(win,A_BOLD);
     wattroff(win,A_BOLD);

+ 2 - 2
packages/ncurses/tests/tnlshello.pp

@@ -38,9 +38,9 @@ begin
 
 
     TranslateResourcestrings('%s/messages.mo');
     TranslateResourcestrings('%s/messages.mo');
     wattron(win,A_BLINK OR A_BOLD OR COLOR_PAIR(2));
     wattron(win,A_BLINK OR A_BOLD OR COLOR_PAIR(2));
-    mvwaddstr(win,3,3, PChar(hello_world));
+    mvwaddstr(win,3,3, PAnsiChar(hello_world));
     wattroff(win,A_BLINK OR A_BOLD OR COLOR_PAIR(2));
     wattroff(win,A_BLINK OR A_BOLD OR COLOR_PAIR(2));
-    mvwaddstr(win,5,3, PChar(press_key));
+    mvwaddstr(win,5,3, PAnsiChar(press_key));
     wrefresh(win);
     wrefresh(win);
     getch();
     getch();
   finally
   finally