home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Best of German Only 1
/
romside_best_of_german_only_1.iso
/
wissen
/
dos
/
wgraph
/
entpack.exe
/
WGDEMO!.EXE
/
WGDEMO.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1992-12-26
|
17KB
|
553 lines
{$F+}
(************************************************************
* *
* DEMONSTRATIONSPROGRAMM für die Klassenbibliothek WGRAPH *
* *
* Folgende Units liegen als Quelltexte in der *
* selbstextrahierenden Datei WGDEMOQT.EXE *
* bei *
* *
* GCLOCK/GINFO/GQUELL/GMINIDB/GDIAG/GPAINT/GFILEDLG *
* *
************************************************************)
program WGDEMO;
uses Overlay,
GDecl,
GEvent,
GViews,
GDlg,
GApp,
GPCX,
GClock,
GInfo,
GQuell,
GMiniDB,
GDiag,
GPaint,
GFileDlg,
Graph;
{$O GPCX}
{$O GClock}
{$O GInfo}
{$O GQuell}
{$O GMiniDB}
{$O GDiag}
{$O GPaint}
{$O GFileDlg}
const cmOwn = 101;
cmList = 102;
cmMemory = 103;
cmUhr = 104;
cmDPrinter = 201;
cmVektor = 202;
cmListBox = 203;
cmTools = 204;
cmMaus = 205;
cmJoyStick = 206;
cmErfassen = 301;
cmAnzeigen = 302;
cmDia1 = 401;
cmFarn = 402;
cmPaint = 403;
cmNoFunction = 99;
msgSetClock = 1; {Digitaluhr neu setzen}
type TApplication=object(TApp)
procedure SetDesktopFrame(Titel:string); virtual;
procedure SetDesktopBackground; virtual;
procedure InitMenuBar; virtual;
procedure HandleEvent; virtual;
procedure SetDialogData; virtual;
procedure SpeicherStatus;
procedure DigitalUhr;
procedure Lister(Nummer:byte);
procedure DruckerDialog;
procedure VektorZeichensaetze;
procedure AdressDB(DInput:boolean);
procedure KuchenDiagramm;
procedure FarnBlatt;
procedure Paint;
procedure InputDialog(FType:str12);
procedure BildSpeichern;
procedure ToolBar;
procedure MausDemo;
procedure JoystickDemo;
end;
PNewDTBgrd=^TNewDTBgrd;
TNewDTBgrd=object(TDsktpBgrd)
BgImage:TPCXImage;
procedure Draw;virtual;
end;
tPDlgData=record
Schalter:string[19]; {DruckerDialog}
end;
var MyProg:TApplication;
PrintDialogData:tPDlgData;
{Implementation TApplication}
procedure TApplication.SetDesktopFrame(Titel:string);
var R:TRect;
begin
with Desktop^ do
begin
GetBounds(R);
Frame:=new(PFrame, Init(R,R,Titel,winDouble+winPanel+winMenu));
Frame^.Palette:=Palette1;
List^.InsertItem(Frame);
end;
end;
procedure TApplication.SetDesktopBackground;
var R:TRect;
NBgrd:PNewDTBgrd;
begin
with Desktop^ do
begin
R:=Frame^.Area;
NBgrd:=new(PNewDTBgrd, Init(R));
NBgrd^.Palette[7]:=#14;
NBgrd^.Palette[8]:=#11;
List^.InsertItem(NBgrd);
end;
end;
procedure TApplication.InitMenuBar;
begin
Palette[1]:=#14;
Palette[5]:=#14;
Palette[4]:=#4;
Palette[12]:=#4;
MainMenu('~F~enster',0);
SubMenu('~I~n eigener Sache ...',cmOwn,0,0,false,false);
SubMenu('~Q~uelltext-Lister',cmList,0,0,false,false);
SubMenu('~S~peicher-Ressourcen',cmMemory,0,0,false,false);
SubMenu('~D~igitaluhr',cmUhr,0,0,false,false);
NewLine;
SubMenu('E~x~it Alt-X',cmCloseApplication,0,altX,false,false);
MainMenu('~D~ialogfenster',0);
SubMenu('~D~ruckerdialog',cmDPrinter,0,0,false,false);
SubMenu('~V~ektorzeichensätze',cmVektor,0,0,false,false);
SubMenu('~L~istbox',cmListBox,0,0,false,false);
SubMenu('~T~oolbar',cmTools,0,0,false,false);
NewLine;
SubMenu('~M~ausdemo',cmMaus,0,0,false,false);
SubMenu('~J~oystickdemo',cmJoyStick,0,0,false,false);
MainMenu('~A~dressen',0);
SubMenu('~E~rfassen F2',cmErfassen,0,kbF2,false,false);
SubMenu('~A~nzeigen F3',cmAnzeigen,0,kbF3,false,false);
MainMenu('~G~rafik',0);
SubMenu('~K~uchendiagramm',cmDia1,0,0,false,false);
SubMenu('~F~arnblatt',cmFarn,0,0,false,false);
SubMenu('~M~alen',cmPaint,0,0,false,false);
end;
procedure TApplication.HandleEvent;
begin
Heap^.ShowHeapStatus(523,8,White);
TProgram.HandleEvent;
case Event.Command of
cmOwn : Lister(1);
cmList : Lister(2);
cmMemory : SpeicherStatus;
cmUhr : DigitalUhr;
cmDPrinter : DruckerDialog;
cmVektor : VektorZeichensaetze;
cmTools : ToolBar;
cmListBox : InputDialog('*.*');
cmMaus : MausDemo;
cmJoyStick : JoystickDemo;
cmErfassen : AdressDB(true);
cmAnzeigen : AdressDB(false);
cmDia1 : Kuchendiagramm;
cmFarn : FarnBlatt;
cmPaint : Paint;
cmPLoad : InputDialog('*.pcx');
cmPSave : BildSpeichern;
cmNoFunction : MessageBox(1,'Bsp.: Messagebox','Keine Funktion#implementiert');
end; {case}
end;
procedure TApplication.SetDialogData;
begin
with PrintDialogData do Schalter:='TTGRrrrrGrRrCGcccS';
with Adresse do
begin
Schalter:='TTTTLLLLS';
FillChar(Firma,SizeOf(Firma),' ');
FillChar(Ort,SizeOf(Ort),' ');
FillChar(Strasse,SizeOf(Strasse),' ');
FillChar(Telefon,SizeOf(Telefon),' ');
end;
with DlgData do
begin
Schalter:='LBTTS';
FillChar(DateiName,SizeOf(DateiName),' ');
DateiName[0]:=#32;
FillChar(Datei,SizeOf(Datei),' ');
Datei[0]:=#12;
end;
with ImgData do
begin
Schalter:='LTTS';
FillChar(DateiName,SizeOf(DateiName),' ');
DateiName[0]:=#32;
end;
with MausData do Schalter:='TGRrrrrrrrrrTTTTTTT';
end;
procedure TApplication.SpeicherStatus;
var R:TRect;
Window:PMemoryInfo;
begin
R.Assign(60,80,450,320);
Window:=new(PMemoryInfo, Init(R,'Speicher-Ressourcen',winDouble+winPanel+winMenu));
Window^.SetWindowAttrib(false);
InsertDesktop(Window);
end;
procedure TApplication.DigitalUhr;
var R:TRect;
Window:PDigitalUhr;
begin
R.Assign(360,80,550,185);
Window:=new(PDigitalUhr, Init(R,'Uhr',winDouble+winPanel+winMenu));
Window^.SetWindowAttrib(false);
InsertDesktop(Window);
end;
procedure TApplication.Lister(Nummer:byte);
var R:TRect;
Window:PScrollWindow;
x,y:integer;
begin
R.Assign(60,80,440,280);
Window:=new(PScrollWindow, Init(R,Nummer,'ScrollWindow / Lister für TextDateien',winDouble+winPanel+winMenu+winKey));
Window^.SetWindowAttrib(false);
InsertDesktop(Window);
end;
procedure TApplication.DruckerDialog;
var R:TRect;
Window:PDlgWindow;
begin
R.Assign(60,80,440,390);
Window:=new(PDlgWindow, Init(R,'Beispiel für einen Drucker-Dialog',winDouble+winPanel));
with Window^ do
begin
SetPushButton(190,270,80,22,'OK',cmCloseWindow);
SetPushButton(285,270,80,22,'Abbrechen',cmCloseWindow);
SetGroupFrame(20,40,180,140,'Druckertyp',NormWidth);
SetRadioButton(40,70,'~M~atrixdrucker',1);
SetRadioButton(40,90,'~L~aserdrucker',1);
SetRadioButton(40,110,'~T~ypenraddrucker',1);
SetRadioButton(40,130,'~B~ubble-Jet',1);
SetRadioButton(40,150,'T~h~ermodrucker',1);
SetGroupFrame(220,40,135,90,'Auflösung',NormWidth);
SetRadioButton(240,70,'~3~00 dpi',2);
SetRadioButton(240,90,'~1~60 dpi',2);
SetRadioButton(240,110,' ~7~5 dpi',2);
SetCheckButton(225,165,'~E~inzelblatt');
SetGroupFrame(20,200,155,88,'',ThickWidth);
SetCheckButton(40,225,'~F~ett');
SetCheckButton(40,245,'~K~ursiv');
SetCheckButton(40,265,'~U~nterstrichen');
SetStaticText(195,210,'Drucker-Dialog',LeftText);
SetTextParameters(TSCRFont,HorizDir,1);
ChangePalColor(10,Red);
SetData(PrintDialogData);
end;
InsertDesktop(Window);
end;
procedure TApplication.VektorZeichensaetze;
var R:TRect;
Window:PDlgWindow;
begin
R.Assign(60,80,440,360);
Window:=new(PDlgWindow, Init(R,'Unterstützte Vektor-Zeichensätze',winDou