home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / spezial / 22 / windows / demos / adwdemo.pas next >
Encoding:
Pascal/Delphi Source File  |  1991-01-04  |  3.5 KB  |  109 lines

  1. (* ----------------------------------------------------- *)
  2. (*                      ADWDEMO.PAS                      *)
  3. (*   Demonstration zur Unit ActDWin: Ein Ascii-Viewer.   *)
  4. (*            (c) 1991 by R.Reichert & toolbox           *)
  5. (* ----------------------------------------------------- *)
  6. PROGRAM DataWindowDemo;
  7.  
  8. USES Dos,    Stuff,   MouKey,
  9.      WinVSM, ActStWi, ActDWin;
  10.  
  11. VAR
  12.   ADW    : ActiveDataWindowPtr;
  13.   VSM    : WExtVSMPtr;
  14.   Ev     : EventObj;
  15.   i      : BYTE;
  16.   Answer : BYTE;
  17.   Dir    : DirStr;
  18.   Name   : NameStr;
  19.   Ext    : ExtStr;
  20.   xl, yl : BYTE;
  21.  
  22. PROCEDURE ShowMemAvail;
  23. BEGIN
  24.   VSM^.WriteStr (70, 25, 15,
  25.                  LongIntToStr (MemAvail, 10));
  26.   VSM^.WriteStr (60, 25, 15,
  27.                  IntToStr (Answer, 5));
  28. END;
  29.  
  30. BEGIN
  31.   IF ParamCount=0 THEN BEGIN
  32.     WriteLn ('*** Fehler: Kein Parameter !');
  33.     WriteLn;
  34.     WriteLn ('Aufrufsyntax: ADWDemo Name');
  35.     Write('Name=Dateiname des anzuschauenden Files.');
  36.     WriteLn;
  37.     Write ('Program abgebrochen.');
  38.     Halt;
  39.   END;
  40.   FSplit (ParamStr (1), Dir, Name, Ext);
  41.   VSM := New (WExtVSMPtr,
  42.               Init (New (ScreenObjPtr, Init (0, 0))));
  43.   ADW := New (ActiveDataWindowPtr, Init (80, 2000,
  44.                                          4200, VSM));
  45.   IF (ADW<>NIL) THEN BEGIN
  46.     Xl := VSM^.GetXLength;  Yl := VSM^.GetYLength;
  47.     VSM^.FillPart (1, 1, xl, 1, 7,   ' ');
  48.     VSM^.WriteStr (xl DIV 2 - 24, 1, 15,
  49.                    ' Demonstrationsprogramm zu'+
  50.                    ' ActiveDataWindow v2.0 ');
  51.     VSM^.FillPart (1, 2,    xl,    2,  15, '─');
  52.     VSM^.FillPart (1, 3,    xl, yl-2, $70, '░');
  53.     VSM^.FillPart (1, yl-1, xl, yl-1,  15, '─');
  54.     VSM^.WriteStr (xl DIV 2 - 17, yl, 15,
  55.                    ' (c) 1991 by R.Reichert & toolbox ');
  56.     Mouse^.Show;
  57.     ADW^.SetShowCurPos (FALSE);
  58.     ADW^.SetTitles (' ASCII-Viewer v2.0 - File: '+
  59.                     UpString (Name+Ext)+' ', '');
  60.     ADW^.SetIconTitle (UpString (Name+Ext));
  61.     ADW^.SetNumber (1);
  62.     ADW^.SetShadow (TRUE);
  63.     ADW^.SetMinMax (1, 2, xl, Pred (yl));
  64.     ADW^.SetMaxXY (1, 3, xl-2, yl-2);
  65.     ADW^.SetXY (2, 3, xl-3, 2*yl DIV 3);
  66.     ADW^.SetColors (15, 15, 0, 7);
  67.     ADW^.SetIconXY (xl-20, yl-4);
  68.     ADW^.SetSpaces (2, 2, 1, 1);
  69.     ADW^.Open;
  70.     ADW^.WriteStr ('Laden . . .  bitte einen Augenblick '+
  71.                    'Geduld. ');
  72.     ADW^.LoadAscii (ParamStr (1), TRUE);
  73.     IF ADW^.GetReturnCode=0 THEN BEGIN
  74.       EvHand^.SetTakeOut (TRUE);  Answer := 0;
  75.       REPEAT
  76.         EvHand^.WaitForEvent (EvAll, Ev);
  77.         ADW^.CheckEvent (Ev);
  78.         Answer := ADW^.GetReturnCode;
  79.         IF Answer=ADWSwitchedIcon THEN
  80.           ADW^.SetActive;
  81.         ShowMemavail;
  82.       UNTIL Answer=ClosedWin;
  83.       EvHand^.SetTakeOut (FALSE);
  84.       Mouse^.Hide;
  85.     END ELSE BEGIN
  86.       ADW^.WriteStr ('');
  87.       ADW^.WriteStr ('*** Fehler: Datei konnte nicht '+
  88.                      'geladen werden.');
  89.       ADW^.WriteStr ('');
  90.       ADW^.WriteStr ('');
  91.       ADW^.WriteStr ('Program abgebrochen.');
  92.       REPEAT UNTIL VSM^.KeyPressed;
  93.       ADW^.Close;
  94.     END;
  95.     VSM^.ClrScr;
  96.     Dispose (ADW, Done);
  97.     Dispose (VSM, Done)
  98.   END ELSE BEGIN
  99.     Writeln ('*** Fehler: Objekt(e) konnte(n) nicht '+
  100.              'initialisiert werden.');
  101.     Writeln;
  102.     Write ('Programm abgebrochen.');
  103.     Writeln;
  104.   END;
  105. END.
  106. (* ----------------------------------------------------- *)
  107. (*                 Ende von ADWDEMO.PAS                  *)
  108. (* ----------------------------------------------------- *)
  109.