home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / dtx9302 / tvision / install / install.pas next >
Encoding:
Pascal/Delphi Source File  |  1993-03-08  |  5.3 KB  |  163 lines

  1. (* ****************************************************** *)
  2. (*                    INSTALL.PAS                         *)
  3. (*         Installationsprogramm mit Turbo Vision         *)
  4. (*         (c) 1993 Dieter Craasmann & DMV                *)
  5. (* ****************************************************** *)
  6. PROGRAM Install;
  7.  
  8. {$M 32768,8192,655360}
  9. {$X+,S-}
  10.  
  11. USES Crt, Dos, Objects, Drivers, Views,
  12.      Menus, Dialogs, Neu_StdD, MsgBox,
  13.      App;
  14.  
  15. CONST
  16.   cmInfo       = 104; {Konstante für Menü}
  17.   cmPara       = 105;
  18.  
  19. TYPE
  20.   OAnwendungsTyp = OBJECT (tApplication)
  21.                      PROCEDURE HandleEvent(VAR Event: TEvent); virtual;
  22.                      PROCEDURE InitMenuBar; virtual;
  23.                      PROCEDURE InitStatusLine; virtual;
  24.                      PROCEDURE OutOfMemory; virtual;
  25.                      PROCEDURE Installiere;
  26.                      PROCEDURE HILFE;
  27.                    END;
  28.  
  29. VAR
  30.   Anwendung       : OAnwendungsTyp;
  31.  
  32.   PROCEDURE OAnwendungsTyp.InitMenuBar;
  33.   VAR
  34.     R: TRect;
  35.   BEGIN
  36.     GetExtent(R);
  37.     R.B.Y := R.A.Y + 1;
  38.     MenuBar := New(PMenuBar, Init(R, NewMenu(
  39.       NewSubMenu('~I~nstallation', hcNoContext, NewMenu(
  40.         NewItem('~I~nstallieren', '', kbnoKey, cmPara, hcNoContext,
  41.         NewItem('E~x~it', 'ESC', kbESC, cmQuit, hcNoContext,
  42.       NIL))),
  43.       NewSubMenu('~H~ilfen ', hcNoContext, NewMenu(
  44.         NewItem('~I~nstallations-Hilfen', 'F1', kbF1, cmHelp, hcNoContext,
  45.         NewItem('~D~ruckerauswahl-Hilfen', 'F2', kbF2, cmHelpD, hcNoContext,
  46.       NIL))),
  47.     NIL)))));
  48.   END;
  49.  
  50.   PROCEDURE OAnwendungsTyp.Hilfe;
  51.   VAR
  52.     Msg  : STRING;
  53.     Msg2 : STRING;
  54.     Msg3 : STRING;
  55.   BEGIN
  56.     Msg :=^C'Installations-Hinweise'#13 +
  57.     ^C'Wählen Sie aus den Laufwerken das aus, in das das Programm installiert  '#13 +
  58.     ^C'werden soll. Als Beispiel "C:\" oder "D:\",  etc. wie vorgegeben. Mit   '#13 +
  59.     ^C'dem Cursor treffen Sie die Wahl und mit "Return" erfolgt die Gesamtwahl.';
  60.     Msg2 :=^C'Mit der Tabulator-Taste können Sie in das nächste Auswahlfeld wechseln '#13 +
  61.     ^C'oder durch anklicken der Punkte und der Wahlknöpfe mit der Mouse wird  '#13 +
  62.     ^C'der entsprechende Befehl ausgeführt.'#13 +
  63.     ^C'Wechsel zum Einfügen/Überschreiben mit der Einfügetaste.';
  64.     Msg3 :=^C'Durch die Anwahl mit den Tasten "ALT" + "gekennzeichnetem" Buchstaben'#13 +
  65.     ^C'kann auch ein Feld oder Befehlsknopf direkt angesprochen werden.'#13 +
  66.     ^C'Wählen Sie den Monitor ihres PCs und Ihren entsprechenden Drucker aus.'#13 +
  67.     ^C'Druckerhilfen siehe Hilfe 2 im Menü.';
  68.     MessageBoxGross(Msg, NIL,Msg2, NIL,Msg3, NIL,80,23, mfHelp + mfOkButton);
  69.   END;
  70.  
  71.   PROCEDURE HilfeD;
  72.   VAR
  73.     Msg  : STRING;
  74.     Msg2 : STRING;
  75.     Msg3 : STRING;
  76.   BEGIN
  77.     Msg :=^C'AUSWAHL DRUCKER/MODUS:   SCHRIFTARTEN:        ZEILEN JE SEITE:             '#13 +
  78.     ^C''#13 +
  79.     ^C'1. Epson       Schmalschrift #15    #27,#67,#72       '#13 +
  80.     ^C'               Normalschrift #18    (#72 = Zeilenzahl)'#13 +
  81.     ^C'               Blattvorschub #12                       ';
  82.     Msg2 :=^C'2. IBM         Schmalschrift #15    #27,#91,72,#116   '#13 +
  83.     ^C'               Normalschrift #18    (72 = Zeilenzahl) '#13 +
  84.     ^C'               Blattvorschub #12                      ';
  85.     Msg3 :=^C'3. Laser KYOCERA EPSON über Font: !R! FRPO U7,5; EXIT;'#13 +
  86.     ^C'           Sonst wie unter 1. Epson (#72 =Zeilenzahl) '#13 +
  87.     ^C'    '#13 +
  88.     ^C'    ';
  89.     MessageBoxGross(Msg, NIL,Msg2, NIL,Msg3, NIL,80,23, mfHelp + mfOkButton);
  90. END;
  91.  
  92.   PROCEDURE Copyright;
  93.   VAR
  94.     Msg : STRING;
  95.   BEGIN
  96.     Msg := ^C'Copyright (c) 1993 Dieter Craasmann & DMV '#13 +
  97.            ^C'Mit Turbo - Vision erstellt'#13;
  98.     MessageBox(Msg, NIL, 39, 9, mfInformation + mfOkButton);
  99.   END;
  100.  
  101.   PROCEDURE OAnwendungsTyp.installiere;
  102.   VAR
  103.     D: PFileDialog;  {Zeiger für File-Box}
  104.   BEGIN
  105.     D:=New(PFileDialog,NewParameter('C:\','INSTALL','INSTALL'));
  106.     Redraw;            {Ausgangslaufwerk,Ausgangspfad,Zielpfad}
  107.   END;
  108.  
  109.   PROCEDURE OAnwendungsTyp.HandleEvent(VAR Event: TEvent);
  110.   BEGIN
  111.     TApplication.HandleEvent(Event);
  112.     CASE Event.What OF
  113.       evCommand:
  114.         CASE Event.Command OF
  115.           cmPara     :  Installiere;
  116.           cmHelp     :  Hilfe;
  117.           cmHelpD    :  HilfeD;
  118.           cmInfo     :  Copyright;
  119.           cmMenu     :  Hilfe;
  120.         ELSE
  121.           Exit;
  122.         END;
  123.     ELSE
  124.       Exit;
  125.     END;
  126.     ClearEvent(Event);
  127.   END;
  128.  
  129.   PROCEDURE OAnwendungsTyp.InitStatusLine;
  130.   VAR
  131.     R : TRect;
  132.   BEGIN
  133.     GetExtent(R);
  134.     R.A.Y := R.B.Y - 1;
  135.     New(StatusLine, Init(R,
  136.       NewStatusDef(0, $FFFF,
  137.         NewStatusKey('~ESC~ Beenden', kbEsc, cmClose,
  138.         NewStatusKey('~F1~ Hilfe', kbF1, cmHelp,
  139.         NewStatusKey('~F2~ Hilfe Druckerwahl', kbF2, cmHelpD,
  140.         NewStatusKey('~F10~ Menü ', kbF10, cmMenu,
  141.         NewStatusKey(' ~INSTALL~ - Copyright', kbNoKey, cmInfo,
  142.       NIL))))),
  143.     NIL)));
  144.   END;
  145.  
  146.   PROCEDURE OAnwendungsTyp.OutOfMemory;
  147.   VAR
  148.     Msg : STRING;
  149.   BEGIN
  150.     Msg := ^C'Nicht genug Arbeitsspeicher'#13 +
  151.            ^C'vorhanden';
  152.     MessageBox(Msg, NIL,36,9, mfError + mfOkButton);
  153.   END;
  154.  
  155. BEGIN
  156.   Anwendung.Init;
  157.   Anwendung.Run;
  158.   Anwendung.Done;
  159. END.
  160. (* ****************************************************** *)
  161. (*               Ende vonINSTALL.PAS                      *)
  162.  
  163.