home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / dev / misc / prog_bar.lha / prog_bar / Modula-2 / Demo / Demo.mod < prev    next >
Encoding:
Text File  |  1997-01-12  |  2.2 KB  |  80 lines

  1. MODULE Demo;
  2.  
  3. IMPORT
  4.    P := prog_bar,
  5.    I := Intuition,
  6.    E := Exec,
  7.    GT := GadTools,
  8.    G := Graphics,
  9.    U := Utility,
  10.    D := Dos;
  11.  
  12. VAR
  13.       p_bar : P.PBarPtr;
  14.       win : I.WindowPtr;
  15.       scr : I.ScreenPtr;
  16.       vi : GT.VisualInfoPtr;
  17.       done : BOOLEAN;
  18.       valu, delta, size : INTEGER;
  19.  
  20. BEGIN
  21.  
  22.    scr := I.LockPubScreen(NIL);
  23.    IF scr <> NIL THEN
  24.       vi := GT.GetVisualInfo(scr, NIL);
  25.       IF vi <> NIL THEN
  26.          win := I.OpenWindowTags(NIL,
  27.                   I.WA_Title, " Prog_Bar Demo Program from Modula-2",
  28.                   I.WA_Width,          500,     I.WA_Height,         100,
  29.                   I.WA_CloseGadget,    FALSE,   I.WA_DepthGadget,    TRUE,
  30.                   I.WA_DragBar,        TRUE,    I.WA_Activate,       TRUE,
  31.                   I.WA_IDCMP,          {},
  32.                   U.TAG_DONE);
  33.          IF win <> NIL THEN
  34.  
  35.             size := 200;
  36.             delta := 1;
  37.  
  38.             p_bar := P.CreateProgBar( win, 50, 40, 400, 25, size,
  39.                      P.PB_BorderType,     P.PBBT_RIDGE,
  40.                      P.PB_TextMode,       P.PBTM_VALUE,
  41.                      P.PB_TextPosition,   P.PBTP_CENTRE,
  42.                      U.TAG_DONE);
  43.             IF p_bar <> NIL THEN
  44.  
  45.                done := FALSE;
  46.                valu := 1;
  47.  
  48.                WHILE done = FALSE DO
  49.                   D.Delay(5);
  50.                   P.UpdateProgBar(p_bar, valu );
  51.                   valu := valu + delta;
  52.                   IF valu > size THEN
  53.                      IF delta = 1 THEN
  54.                         delta := 5;
  55.                         valu := 0;
  56.                         D.Delay(100);
  57.                         P.SetProgBarAttrs(p_bar, P.PB_BorderType, P.PBBT_RECESSED,
  58.                                                  P.PB_Direction,  P.PBDE_LEFT,
  59.                                                  P.PB_TextMode,   P.PBTM_PERCENT,
  60.                                                  U.TAG_DONE);
  61.                      ELSE
  62.                         done := TRUE;
  63.                      END;
  64.                   END;
  65.                END;
  66.  
  67.                P.FreeProgBar(p_bar);
  68.             END;
  69.  
  70.             I.CloseWindow(win);
  71.          END;
  72.  
  73.          GT.FreeVisualInfo(vi);
  74.       END;
  75.  
  76.       I.UnlockPubScreen(NIL, scr);
  77.    END;
  78.  
  79. END Demo.
  80.