home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / spezial / 22 / saa / demos / pldemo.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1991-01-04  |  2.2 KB  |  74 lines

  1. (* ----------------------------------------------------- *)
  2. (*                    PLDEMO.PAS                         *)
  3. (*     Demonstriert die verschiedenen PickList-Typen     *)
  4. (*        (c) 1991 by R.Reichert & toolbox               *)
  5. (* ----------------------------------------------------- *)
  6. PROGRAM PickListTest1;
  7.  
  8. USES Stuff, MouKey, WinVSM, DBxItems;
  9.  
  10. VAR
  11.   VSM   : WExtVSMPtr;
  12.   Ev    : EventObj;
  13.   i,
  14.   Answer: BYTE;
  15.   Quit  : BOOLEAN;
  16.   List  : PickListPtr;
  17.  
  18. BEGIN
  19.   VSM := New (WextVSMPtr,
  20.               Init (New (ScreenObjPtr, Init (0, 0))));
  21.   List := New (ExtPickListPtr,
  22.                Init (10, 10, 30, 20,
  23.                      ' #PickList ', AltP,
  24.                      VSM));
  25.                { ^^^ hier können die verschiedenen Typen
  26.                      zum Testen eingesetzt werden }
  27.  
  28.   IF List=NIL THEN BEGIN
  29.     WriteLn ('*** Fehler: Objekt(e) nicht initialisiert.');
  30.     Writeln;
  31.     Writeln ('            Programm abgebrochen.');
  32.     Halt (1);
  33.   END;
  34.   VSM^.ClrScr;
  35.   FOR i := 1 TO 30 DO
  36.     IF i MOD 5=0 THEN
  37.       List^.Add (New (StringPtr,
  38.                  Init ('  Element '+IntToStr (i, 5)+
  39.                        ' ********* ')))
  40.     ELSE
  41.       List^.Add (New (StringPtr,
  42.                  Init ('  Element '+IntToStr (i, 5))));
  43.   List^.Display;
  44.   Mouse^.Show;
  45.   EvHand^.SetTakeOut (TRUE);
  46.   Answer := ItOk;
  47.   Quit := FALSE;
  48.   REPEAT
  49.     EvHand^.WaitForEvent (EvAll, Ev);
  50.     IF (Ev.EventType=EvKeyState) AND
  51.        (Ev.StateKey=Alt) THEN
  52.       List^.DisplayHotKey
  53.     ELSE
  54.       List^.CheckEvent (Ev);
  55.     Answer := List^.GetReturnCode;
  56.     Quit := (Answer=ItSelected) OR
  57.             (Answer=ItFinish);
  58.   UNTIL Quit;
  59.   Evhand^.SetTakeOut (FALSE);
  60.   VSM^.GotoXY (1, 1);
  61.   ReadLn;
  62.   IF Answer<>ItFinish THEN BEGIN
  63.     Writeln ('Gewählt wurde: ');
  64.     Writeln ('>>> ', List^.GetResult, ' <<<');
  65.   END ELSE
  66.     Writeln ('Keine Wahl, da abgebrochen wurde.');
  67.   ReadLn;
  68.   Dispose (List, Done);
  69.   Dispose (VSM, Done);
  70. END.
  71. (* ----------------------------------------------------- *)
  72. (*                 Ende von PLDEMO.PAS                   *)
  73. (* ----------------------------------------------------- *)
  74.