home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / delite / int / delite1x.int < prev    next >
Encoding:
Text File  |  1992-04-01  |  4.2 KB  |  105 lines

  1. UNIT Delite1X;
  2.  
  3. (*****************************************************************************
  4. Name:              Delite1X.PAS
  5. Version:           1.0
  6. Edit Datum:        17.6.91
  7. Autor:             Andreas Schumm
  8. Kurzbeschreibung:  Kompatibilität zu deLite 1.X Dialogen
  9. *****************************************************************************)
  10.  
  11. INTERFACE
  12.  
  13. Uses Kernel, API, RSC, DOS, CRT;
  14.  
  15. CONST   MaxItems      = 256;   { Anzahl der Einträge im ListDialog }
  16.         MaxListSpot   =  32;   { Anzahl der gleichzeitig sichtbaren Einträge }
  17.  
  18. TYPE    editset= (all, capital, filename);     { Eingabe Zeichensätze }
  19.         DlgSet = (escaped, success, empty);    { Ergebnistyp der Api Dialoge }
  20.         DlgStr = string[128];
  21.  
  22.         ListProc = PROCEDURE(VAR item: NameString; VAR eol : BOOLEAN);
  23.                                              { Prozedurtyp des Listdialogs }
  24.  
  25.  
  26.         HotSpot        = RECORD                { erogene Zone }
  27.                            x1,y1    : INTEGER;
  28.                            x2,y2    : INTEGER;
  29.                          END;
  30.  
  31.         SmallDialog = RECORD
  32.                         text1: Dlgstr;
  33.                         text2: DlgStr;
  34.                         deflt: DlgStr;
  35.                         xorg : INTEGER;
  36.                         yorg : INTEGER;
  37.                         len  : BYTE;
  38.                         topic: namestring;
  39.                       END;
  40.  
  41.         TwinDialog  = RECORD
  42.                         text1 : Dlgstr;
  43.                         text2 : DlgStr;
  44.                         text3 : DlgStr;
  45.                         deflt1: DlgStr;
  46.                         deflt2: DlgStr;
  47.                         xorg  : INTEGER;
  48.                         yorg  : INTEGER;
  49.                         len   : BYTE;
  50.                         topic1: NameString;
  51.                         topic2: NameString;
  52.                       END;
  53.  
  54.         ListDialog  = RECORD
  55.                         TEXT      : DlgStr;  { Überschrift }
  56.                         Itemwidth : INTEGER; { Anzeigebreite der Listenelemente }
  57.                         ListLength: INTEGER; { Anzahl der sichtbaren Elemente }
  58.                         xorg,yorg : INTEGER; { Ursprung }
  59.                         GetFirst  : ListProc;{ Selektiere erstes Element }
  60.                         GetNext   : ListProc;{ Selektiere nächstes Element }
  61.                         PoppedUp  : BOOLEAN; { Kennung: Dialog ist schon da }
  62.                         topic     : NameString;
  63.                       END;
  64.  
  65.         TheListType = RECORD
  66.                         NItems : INTEGER;    { Anzahl der Elemente }
  67.                         eol    : BOOLEAN;    { end_of_list schon erreicht }
  68.                         Item   : NameString; { lokale Variable }
  69.                         ItemStr: NameString; { aktueller Eintrag }
  70.                         Items  : ARRAY[1..MaxItems] OF nameString; { Die Liste }
  71.                         ListPtr: INTEGER;    { relativ zum Fensterbeginn }
  72.                         TOLW   : INTEGER;    { erstes Item im Fenster }
  73.                         Spots  : ARRAY[1..MaxListSpot] OF HotSpot;
  74.                         UpSpot : HotSpot;    { Scroll Up }
  75.                         DwnSpot: HotSpot;    { Scroll Down }
  76.                         Elevate: HotSpot;    { Der Elevator }
  77.                       END;
  78.  
  79.  
  80.         TheList      = ^TheListType;
  81.  
  82.  
  83.  { *********************************************************************** }
  84.  
  85.  PROCEDURE InitSmallDlg(rsc: SmallDialog);
  86.  FUNCTION  DoSmallDlg(VAR rsc: SmallDialog; VAR res: STRING):DlgSet;
  87.  PROCEDURE CloseSmallDlg;
  88.  
  89.  PROCEDURE InitTwinDlg(rsc: TwinDialog);
  90.  FUNCTION  DoTwinDlg1(VAR rsc: TwinDialog; VAR res: STRING):DlgSet;
  91.  FUNCTION  DoTwinDlg2(VAR rsc: TwinDialog; VAR res: STRING):DlgSet;
  92.  PROCEDURE CloseTwinDlg;
  93.  
  94.  PROCEDURE InitListDialog(rsc: ListDialog; VAR ThisList: TheList);
  95.  FUNCTION  DoListDialog(rsc: ListDialog;
  96.                         VAR res: NameString;
  97.                         VAR ThisList: TheList):DlgSet;
  98.  PROCEDURE UpdateListDialog(rsc: ListDialog;
  99.                             VAR ThisList: TheList;
  100.                             JustRedraw: BOOLEAN);
  101.  PROCEDURE CloseListDialog;
  102.  
  103. IMPLEMENTATION
  104.  
  105. END.