home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1996 August
/
VPR9608A.BIN
/
del20try
/
install
/
data.z
/
MAIN.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1996-05-08
|
4KB
|
166 lines
{
MastApp Main Window.
By default, the database component's alias is DBDEMOS, and so the
application accesses the Paradox tables. You can upsize the
application to use Local InterBase data by choosing View | Remote
Data from the application's main menu. For this to work, however,
the Local InterBase Server must be running. The application checks
for this and raises an exception if there's a problem.
The application also creates the MASTSQL alias if it doesn't
already exist. This code for this appears in the MastData module.
}
unit Main;
interface
uses
SysUtils, Windows, Messages, Classes, Graphics, Controls,
Forms, Dialogs, Buttons, StdCtrls, Menus, ExtCtrls, DB;
type
TMainForm = class(TForm)
MainPanel: TPanel;
OrderBtn: TSpeedButton;
BrowseBtn: TSpeedButton;
PartsBtn: TSpeedButton;
CloseBtn: TSpeedButton;
HelpBtn: TSpeedButton;
MainMenu: TMainMenu;
FileMenu: TMenuItem;
FileExit: TMenuItem;
FileNewOrder: TMenuItem;
ViewMenu: TMenuItem;
ViewOrders: TMenuItem;
ViewPartsInventory: TMenuItem;
ViewStayOnTop: TMenuItem;
ViewLocal: TMenuItem;
ViewRemote: TMenuItem;
HelpMenu: TMenuItem;
HelpAbout: TMenuItem;
HelpContents: TMenuItem;
procedure BrowseCustOrd(Sender: TObject);
procedure CloseApp(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BrowseParts(Sender: TObject);
procedure ToggleStayonTop(Sender: TObject);
procedure NewOrder(Sender: TObject);
procedure HelpBtnClick(Sender: TObject);
procedure AboutClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure ViewLocalClick(Sender: TObject);
procedure ViewRemoteClick(Sender: TObject);
private
procedure CloseAllWindows;
end;
var
MainForm: TMainForm;
implementation
uses
DataMod, { Data Module }
BrCstOrd, { The Browse Orders by Customer form }
BrParts, { The Browse Parts form }
EdOrders, { The Edit Orders form }
QryCust, { The Specify Date Range form }
About, { The About dialog box }
IniFiles; { Delphi Unit for INI file support }
{$R *.DFM}
procedure TMainForm.BrowseCustOrd(Sender: TObject);
begin
BrCustOrdForm.Show;
end;
procedure TMainForm.CloseApp(Sender: TObject);
begin
Close;
end;
procedure TMainForm.FormCreate(Sender: TObject);
var
W: Longint;
begin
ClientWidth := CloseBtn.Left + CloseBtn.Width + 1;
ClientHeight := CloseBtn.Top + CloseBtn.Height;
MainPanel.Align := alClient;
{ position the form at the top of display }
Left := 0;
Top := 0;
end;
procedure TMainForm.BrowseParts(Sender: TObject);
begin
BrPartsForm.Show;
end;
procedure TMainForm.ToggleStayonTop(Sender: TObject);
begin
with Sender as TMenuItem do
begin
Checked := not Checked;
if Checked then MainForm.FormStyle := fsStayOnTop
else MainForm.FormStyle := fsNormal;
end;
end;
procedure TMainForm.NewOrder(Sender: TObject);
begin
EdOrderForm.Enter;
end;
procedure TMainForm.HelpBtnClick(Sender: TObject);
begin
Application.HelpCommand(HELP_CONTENTS, 0);
end;
procedure TMainForm.AboutClick(Sender: TObject);
begin
AboutBox.ShowModal;
end;
procedure TMainForm.FormDestroy(Sender: TObject);
begin
Application.HelpCommand(HELP_QUIT,0);
end;
procedure TMainForm.CloseAllWindows;
var
I: Integer;
F: TForm;
begin
for I := 0 to Application.ComponentCount - 1 do
begin
if Application.Components[I] is TForm then
begin
F := TForm(Application.Components[I]);
if (F <> Self) and (F.Visible) then F.Close;
end;
end;
end;
procedure TMainForm.ViewLocalClick(Sender: TObject);
begin
CloseAllWindows;
MastData.UseLocalData;
ViewLocal.Checked := True;
Caption := Application.Title + ' (Paradox Data)';
end;
procedure TMainForm.ViewRemoteClick(Sender: TObject);
begin
CloseAllWindows;
MastData.UseRemoteData;
ViewRemote.Checked := True;
Caption := Application.Title + ' (Local Interbase)';
end;
end.