home *** CD-ROM | disk | FTP | other *** search
/ Best of German Only 1 / romside_best_of_german_only_1.iso / wissen / dos / wgraph / entpack.exe / WGBSP!.EXE / BSP21.PAS < prev    next >
Pascal/Delphi Source File  |  1992-12-05  |  2KB  |  94 lines

  1. program Beispiel21;
  2.  
  3. uses GDecl,
  4.      GEvent,
  5.      GViews,
  6.      GDlg,
  7.      GApp,
  8.      Graph;
  9.  
  10.  
  11. const cmDialog = 101;
  12.  
  13. type TApplication=object(TApp)
  14.        procedure InitMenuBar; virtual;
  15.        procedure SetDialogData; virtual;
  16.        procedure HandleEvent; virtual;
  17.        procedure DialogWindow;
  18.      end;
  19.  
  20.      tAdressData=record
  21.                    Schalter : string[7];
  22.                    Firma    : string[40];
  23.                    Ort      : string[25];
  24.                    Strasse  : string[30];
  25.                    Telefon  : string[20];
  26.                  end;
  27.  
  28. var MyProg:TApplication;
  29.     Adresse:tAdressData;
  30.  
  31. {Implementation TApplication}
  32.  
  33. procedure TApplication.InitMenuBar;
  34. begin
  35.   Palette[1]:=#14;
  36.   Palette[5]:=#14;
  37.   Palette[4]:=#4;
  38.   Palette[12]:=#4;
  39.   MainMenu('~F~enster',0);
  40.    SubMenu('~D~ialogfenster',cmDialog,0,0,false,false);
  41.    SubMenu('E~x~it  Alt-X',cmCloseApplication,0,altX,false,false);
  42. end;
  43.  
  44. procedure TApplication.SetDialogData;
  45. begin
  46.   with Adresse do
  47.    begin
  48.      Schalter:='TTLLLLS';
  49.      FillChar(Firma,SizeOf(Firma),' ');
  50.      FillChar(Ort,SizeOf(Ort),' ');
  51.      FillChar(Strasse,SizeOf(Strasse),' ');
  52.      FillChar(Telefon,SizeOf(Telefon),' ');
  53.    end;
  54. end;
  55.  
  56. procedure TApplication.HandleEvent;
  57. begin
  58.   Heap^.ShowHeapStatus(523,8,White);
  59.   TProgram.HandleEvent;
  60.   case Event.Command of
  61.    cmDialog : DialogWindow;
  62.   end; {case}
  63. end;
  64.  
  65.  
  66. procedure TApplication.DialogWindow;
  67. var R:TRect;
  68.     Window:PDlgWindow;
  69. begin
  70.   R.Assign(60,80,440,350);
  71.   Window:=new(PDlgWindow, Init(R,'Beispiel 21 : Texteingabe',winDouble+winPanel));
  72.   with Window^ do
  73.    begin
  74.      SetPushButton(155,220,80,22,'OK',cmCloseWindow);
  75.      SetPushButton(255,220,100,22,'Abbrechen',cmNothing);
  76.      SetInputLine(140,95,25,'~F~irma    :',40,ASCII);
  77.      SetInputLine(140,120,20,'~O~rt      :',25,ASCII);
  78.      SetInputLine(140,145,20,'~S~traße   :',30,ASCII);
  79.      SetInputLine(140,170,20,'~T~elefon  :',20,ASCII);
  80.      SetStaticText(40,35,'Adressenerfassung',LeftText);
  81.       SetTextParameters(TriplexFont,HorizDir,2);
  82.       ChangePalColor(10,Red);
  83.      SetData(Adresse);
  84.    end;
  85.   InsertDesktop(Window);
  86. end;
  87.  
  88. {--- Hauptprogramm ---}
  89.  
  90. begin
  91.   MyProg.Init('Beispiel 21');
  92.   MyProg.Run;
  93.   MyProg.Done;
  94. end.