Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit unit1_neo;
- {$mode objfpc}{$H+}
- interface
- uses
- Classes, SysUtils, sqldb, Forms, Controls, Graphics, Dialogs, ComCtrls,
- StdCtrls, ExtCtrls, Menus, DBCtrls, ActnList, BCListBox, Windows,
- rxdbgrid, rxdbcomb, RxDBGridExportPdf, RxDBGridFooterTools,
- RxSortZeos, RxDBGridPrintGrid, RxLazReport, LCLType, db, DBGrids,
- Buttons, LR_Desgn, ZConnection, ATButtons;
- // FXContainer
- type
- { TForm_Neo }
- TForm_Neo = class(TForm)
- Action_AddCustomersColorOff: TAction;
- Action_AddCustomersColorOn: TAction;
- Action_AddItemsColorOff: TAction;
- Action_AddItemsColorOn: TAction;
- Action_CreateBOMColorOff: TAction;
- Action_CreateBOMColorOn: TAction;
- Action_ShowInventoryColorOff: TAction;
- Action_ShowInventoryColorOn: TAction;
- Action_TopPanelAddCustomersColorOff: TAction;
- Action_TopPanelAddCustomersColorOn: TAction;
- Action_TopPanelAddItemsColorOff: TAction;
- Action_TopPanelAddItemsColorOn: TAction;
- Action_TopPanelCreateBOMColorOff: TAction;
- Action_TopPanelCreateBOMColorOn: TAction;
- Action_ChildCreateBOMColorOff: TAction;
- Action_ChildCreateBOMColorOn: TAction;
- Action_ChildAddItemsColorOn: TAction;
- Action_ChildAddItemsColorOff: TAction;
- Action_ChildAddCustomersColorOn: TAction;
- Action_ChildAddCustomersColorOff: TAction;
- Action_HomeTreeColorOn: TAction;
- Action_HomeTreeColorOff: TAction;
- ActionList1: TActionList;
- ColorDialog1: TColorDialog;
- ComboBox_AddCustomersFilters: TComboBox;
- ComboBox_AddItemsFilters: TComboBox;
- ComboBox_BOMShowInventoryFilters: TComboBox;
- DBNavigator_AddCustomers: TDBNavigator;
- DBNavigator_AddItems: TDBNavigator;
- DBNavigator_BOMInventoryItems: TDBNavigator;
- Edit1: TEdit;
- Edit2: TEdit;
- Edit_AddCustomersSearch: TEdit;
- Edit_AddItemsSearch: TEdit;
- Edit_BOMShowInventorySearch: TEdit;
- //FXContainer1: TFXContainer;
- Label1: TLabel;
- Label2: TLabel;
- Label_AddCustomerAutoWildcard: TLabel;
- Label_AddItemsAutoWildcard: TLabel;
- Memo2: TMemo;
- MenuItem_ShowHintsOn: TMenuItem;
- MenuItem_ShowHints: TMenuItem;
- MenuItem_ShowHintsOff: TMenuItem;
- N3: TMenuItem;
- MenuItem_SetGridRowHeight: TMenuItem;
- N2: TMenuItem;
- MenuItem_CreateBOMGridColor: TMenuItem;
- MenuItem_ShowInventoryGridColor: TMenuItem;
- MenuItem_ShowInventoryGridColorOff: TMenuItem;
- MenuItem_ShowInventoryGridColorOn: TMenuItem;
- MenuItem_CreateBOMGridColorOff: TMenuItem;
- MenuItem_CreateBOMGridColorOn: TMenuItem;
- MenuItem_AddItemsGridColorOff: TMenuItem;
- MenuItem_AddItemsGridColorOn: TMenuItem;
- MenuItem_AddCustomersGridColorOff: TMenuItem;
- MenuItem_AddCustomersGridColorOn: TMenuItem;
- MenuItem_AddCustomersGridColor: TMenuItem;
- MenuItem_AddItemsGridColor: TMenuItem;
- Panel_BOMBottomInventory: TPanel;
- Timer1: TTimer;
- ToggleBox_ShowInventoryAutoWildcard: TToggleBox;
- TopPanelCreateBOM: TPanel;
- TopPanelAddItems: TPanel;
- ToggleBox_AddItemsAutoWildcard: TToggleBox;
- TopPanelAddCustomers: TPanel;
- RxDBGridExportPDF1: TRxDBGridExportPDF;
- RxDBGridFooterTools1: TRxDBGridFooterTools;
- RxDBGridPrint1: TRxDBGridPrint;
- ToggleBox_AddCustomersAutoWildcard: TToggleBox;
- MenuItem10: TMenuItem;
- MenuItem_TopPanelAddItemsColorOff: TMenuItem;
- MenuItem_TopPanelAddItemsColorOn: TMenuItem;
- MenuItem13: TMenuItem;
- MenuItem_TopPanelCreateBOMColorOff: TMenuItem;
- MenuItem_TopPanelCreateBOMColorOn: TMenuItem;
- MenuItem2: TMenuItem;
- MenuItem3: TMenuItem;
- MenuItem_TopPanelAddCustomerColorOff: TMenuItem;
- MenuItem_TopPanelAddCustomerColorOn: TMenuItem;
- MainMenu1: TMainMenu;
- Memo1: TMemo;
- MenuItem1: TMenuItem;
- MenuItem_AltGridColorOn: TMenuItem;
- MenuItem_ChildCreateBOMColorOn: TMenuItem;
- MenuItem_ChildAddItemsColorOff: TMenuItem;
- MenuItem_ChildAddItemsColorOn: TMenuItem;
- MenuItem_ChildAddCustomerColorOff: TMenuItem;
- MenuItem_ChildAddCustomerColorOn: TMenuItem;
- MenuItemHomeTreeColorOff: TMenuItem;
- MenuItemHomeTreeColorOn: TMenuItem;
- MenuItem4: TMenuItem;
- MenuItem5: TMenuItem;
- MenuItem7: TMenuItem;
- MenuItem8: TMenuItem;
- MenuItem_ChildCreateBOMColorOff: TMenuItem;
- MenuItemExit: TMenuItem;
- MenuItem_About: TMenuItem;
- MenuItem_AltGridColor: TMenuItem;
- MenuItem_Common: TMenuItem;
- MenuItem_File: TMenuItem;
- MenuItem_Help: TMenuItem;
- MenuItem_Inquiries: TMenuItem;
- MenuItem_Item: TMenuItem;
- MenuItem_Journals: TMenuItem;
- MenuItem_Options: TMenuItem;
- MenuItem_Periodic: TMenuItem;
- MenuItem_Reports: TMenuItem;
- MenuItem_Setups: TMenuItem;
- N1: TMenuItem;
- PageCon_Top: TPageControl;
- PageCon_Main: TPageControl;
- PageCon_Child: TPageControl;
- RxSortZeos1: TRxSortZeos;
- RxUnitComboBox: TRxDBComboBox;
- RxDBGrid_ShowInventory: TRxDBGrid;
- RxDBGrid_CreateBOM: TRxDBGrid;
- RxDBGrid_AddCustomers: TRxDBGrid;
- RxDBGrid_AddItems: TRxDBGrid;
- Splitter1: TSplitter;
- Splitter2: TSplitter;
- Splitter3: TSplitter;
- StatusBar1: TStatusBar;
- TS_TopAddItems: TTabSheet;
- TS_TopCreateBOM: TTabSheet;
- TS_TopAddCustomers: TTabSheet;
- TreeView_ChildCreateBOM: TTreeView;
- TS_ChildCreateBOM: TTabSheet;
- TreeView_ChildAddItems: TTreeView;
- TS_ChildAddItems: TTabSheet;
- TS_ChildAddCustomers: TTabSheet;
- TreeView_ChildAddCustomers: TTreeView;
- TS_CreateBOM: TTabSheet;
- TS_AddCustomers: TTabSheet;
- TS_AddItems: TTabSheet;
- HomeTree: TTreeView;
- procedure ComboBox_AddCustomersFiltersChange(Sender: TObject);
- procedure ComboBox_AddCustomersFiltersEnter(Sender: TObject);
- procedure ComboBox_AddCustomersFiltersExit(Sender: TObject);
- procedure ComboBox_AddItemsFiltersChange(Sender: TObject);
- procedure ComboBox_BOMShowInventoryFiltersChange(Sender: TObject);
- procedure DBNavigator_AddCustomersEnter(Sender: TObject);
- procedure DBNavigator_AddCustomersExit(Sender: TObject);
- procedure Edit_AddCustomersSearchEnter(Sender: TObject);
- procedure Edit_AddCustomersSearchExit(Sender: TObject);
- procedure Edit_AddCustomersSearchKeyUp(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- procedure Edit_AddItemsSearchKeyUp(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- procedure Edit_BOMShowInventorySearchKeyUp(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- procedure FormActivate(Sender: TObject);
- procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
- procedure FormCreate(Sender: TObject);
- procedure HomeTreeChange(Sender: TObject; Node: TTreeNode);
- procedure HomeTreeEnter(Sender: TObject);
- procedure HomeTreeExit(Sender: TObject);
- procedure HomeTreeResize(Sender: TObject);
- procedure MenuItemExitClick(Sender: TObject);
- procedure CreateTables;
- procedure MenuItemHomeTreeColorOffClick(Sender: TObject);
- procedure MenuItemHomeTreeColorOnClick(Sender: TObject);
- procedure MenuItem_AboutClick(Sender: TObject);
- procedure MenuItem_AddCustomersGridColorOffClick(Sender: TObject);
- procedure MenuItem_AddCustomersGridColorOnClick(Sender: TObject);
- procedure MenuItem_AddItemsGridColorOffClick(Sender: TObject);
- procedure MenuItem_AddItemsGridColorOnClick(Sender: TObject);
- procedure MenuItem_ChildAddCustomerColorOffClick(Sender: TObject);
- procedure MenuItem_ChildAddCustomerColorOnClick(Sender: TObject);
- procedure MenuItem_ChildAddItemsColorOffClick(Sender: TObject);
- procedure MenuItem_ChildAddItemsColorOnClick(Sender: TObject);
- procedure MenuItem_ChildCreateBOMColorOffClick(Sender: TObject);
- procedure MenuItem_ChildCreateBOMColorOnClick(Sender: TObject);
- procedure MenuItem_CreateBOMGridColorOffClick(Sender: TObject);
- procedure MenuItem_CreateBOMGridColorOnClick(Sender: TObject);
- procedure MenuItem_SetGridRowHeightClick(Sender: TObject);
- procedure MenuItem_ShowHintsOffClick(Sender: TObject);
- procedure MenuItem_ShowHintsOnClick(Sender: TObject);
- procedure MenuItem_ShowInventoryGridColorOffClick(Sender: TObject);
- procedure MenuItem_ShowInventoryGridColorOnClick(Sender: TObject);
- procedure MenuItem_TopPanelAddCustomerColorOffClick(Sender: TObject);
- procedure MenuItem_TopPanelAddCustomerColorOnClick(Sender: TObject);
- procedure MenuItem_TopPanelAddItemsColorOffClick(Sender: TObject);
- procedure MenuItem_TopPanelAddItemsColorOnClick(Sender: TObject);
- procedure MenuItem_TopPanelCreateBOMColorOffClick(Sender: TObject);
- procedure MenuItem_TopPanelCreateBOMColorOnClick(Sender: TObject);
- procedure PageCon_ChildResize(Sender: TObject);
- procedure ReadGridAltColors;
- procedure RxDBGrid_AddCustomersColExit(Sender: TObject);
- procedure RxDBGrid_AddCustomersColumnSized(Sender: TObject);
- procedure RxDBGrid_AddCustomersEnter(Sender: TObject);
- procedure RxDBGrid_AddCustomersExit(Sender: TObject);
- procedure RxDBGrid_AddCustomersKeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- procedure RxDBGrid_AddCustomersKeyUp(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- procedure RxDBGrid_AddItemsColumnSized(Sender: TObject);
- procedure RxDBGrid_AddItemsKeyUp(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- procedure RxDBGrid_AddItemsSelectEditor(Sender: TObject; Column: TColumn;
- var Editor: TWinControl);
- procedure RxDBGrid_CreateBOMColumnSized(Sender: TObject);
- procedure RxDBGrid_CreateBOMKeyUp(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- procedure RxDBGrid_ShowInventoryColumnSized(Sender: TObject);
- procedure RxDBGrid_ShowInventoryDblClick(Sender: TObject);
- procedure RxDBGrid_ShowInventoryKeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- procedure RxDBGrid_ShowInventoryKeyUp(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- procedure RxUnitComboBoxKeyPress(Sender: TObject; var Key: char);
- procedure Timer1Timer(Sender: TObject);
- procedure ToggleBox_AddCustomersAutoWildcardClick(Sender: TObject);
- procedure ToggleBox_AddCustomersAutoWildcardEnter(Sender: TObject);
- procedure ToggleBox_AddCustomersAutoWildcardExit(Sender: TObject);
- procedure ToggleBox_AddItemsAutoWildcardClick(Sender: TObject);
- procedure ToggleBox_ShowInventoryAutoWildcardClick(Sender: TObject);
- procedure TreeView_ChildAddCustomersEnter(Sender: TObject);
- procedure TreeView_ChildAddCustomersExit(Sender: TObject);
- private
- procedure WriteGridColSizes;
- procedure ReadGridColSizes;
- procedure ReadSplitterINI;
- procedure SelectCustomers;
- procedure SelectItems;
- procedure SelectInventoryForBOM;
- procedure ReloadDBComboBox;
- procedure SetDBGridTitlesCustomers;
- procedure SetDBGridTitlesAddItems;
- procedure SetDBGridTitlesShowInventory;
- procedure VerifyCustPhoneNumbers;
- procedure VerifyCustEmails;
- procedure SetAddItemsGridFloats;
- procedure SetShowInventoryGridFloats;
- procedure ReadPanelColors;
- procedure ReadGridRowHeight;
- procedure ReadHints;
- procedure AddInventoryItemToBOM;
- procedure AddCustomer;
- procedure ShowCustomerNote;
- ////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////
- procedure ZQ_AddCustomersAfterDelete(DataSet: TDataSet);
- procedure ZQ_AddCustomersAfterPost(DataSet: TDataSet);
- procedure ZQ_AddCustomersBeforePost(DataSet: TDataSet);
- procedure ZQ_AddItemsAfterApplyUpdates(Sender: TObject);
- procedure ZQ_AddItemsAfterDelete(DataSet: TDataSet);
- procedure ZQ_AddItemsAfterPost(DataSet: TDataSet);
- procedure ZQ_AddItemsBeforePost(DataSet: TDataSet);
- public
- intGridRowHeight: Integer;
- //VARIABLES FOR ADDCUSTOMER
- //strFname, strLname, strCompany, strPhAddress, strPhCity, strPhState,
- //strPhZipCode, strBillAddress, strBillCity, strBillState, strBillZipCode,
- //strEmail1, strEmail2, strWorkNum, strCellNum, strNotes : String;
- // CONTROL VARIABLE USED ON OTHER FORMS TO CONTROL THE MAIN FLOW ONCE IT
- // GETS BACK HERE.
- boolCancel: Boolean;
- // CONTROL VARIABLE FOR F11 KEY. USED IN RxDBGrid_AddCustomersKeyUp
- TreeViewsHidden : Boolean;
- end;
- var
- Form_Neo: TForm_Neo;
- implementation
- uses
- IniFiles,
- unit_gridrowheight,
- unit_about,
- //unit_addcustomer,
- unit_viewcustomernote,
- dm;
- {$R *.lfm}
- { TForm_Neo }
- {----------------------------------------------------------------------------
- GET THE FORM SETUP TO SHOW ADDCUSTOMER. THIS MAY CHANGE DUE TO A POSSIBLE
- HOME PAGE, SOMETHING TINA MIGHT PREFER, SOMETHING SHE'S MORE ACCUSTOMED TO.
- --------------------------------------------------------------------------- }
- procedure TForm_Neo.FormCreate(Sender: TObject);
- begin
- Form_Neo.Caption := 'Neo';
- RxDBGrid_ShowInventory.ReadOnly := True;
- end;
- {------------------------------------------------------------------------------
- CONNECT THE DATABASE COMPONENTS
- ------------------------------------------------------------------------------}
- procedure TForm_Neo.FormActivate(Sender: TObject);
- begin
- try
- with DM1.ZConn do
- begin
- Disconnect;
- HostName := 'localhost';
- Protocol := 'sqlite-3';
- Database := ExtractFilePath(Application.ExeName) + 'data.db';
- Properties.Add('foreign_keys=TRUE');
- Connected := True;
- end;
- DM1.DS_AddCustomers.DataSet := DM1.ZQ_AddCustomers;
- DM1.DS_AddItems.DataSet := DM1.ZQ_AddItems;
- DM1.DS_CreateBOM.DataSet := DM1.ZQ_CreateBOM;
- DM1.DS_ReadInventory.DataSet := DM1.ZQ_ReadInventory;
- DM1.DS_UnitComboBox.DataSet := DM1.ZQ_UnitComboBox;
- DM1.ZQ_AddCustomers.Connection := DM1.ZConn;
- DM1.ZQ_AddItems.Connection := DM1.ZConn;
- DM1.ZQ_CreateBOM.Connection := DM1.ZConn;
- DM1.ZQ_ReadInventory.Connection := DM1.ZConn;
- DM1.ZQ_UnitComboBox.Connection := DM1.ZConn;
- RxDBGrid_AddCustomers.DataSource := DM1.DS_AddCustomers;
- RxDBGrid_AddItems.DataSource := DM1.DS_AddItems;
- RxDBGrid_CreateBOM.DataSource := DM1.DS_CreateBOM;
- RxDBGrid_ShowInventory.DataSource := DM1.DS_ReadInventory;
- RxUnitComboBox.DataSource := DM1.DS_AddItems;
- DBNavigator_AddCustomers.DataSource := DM1.DS_AddCustomers;
- DBNavigator_AddItems.DataSource := DM1.DS_AddItems;
- DBNavigator_BOMInventoryItems.DataSource := DM1.DS_ReadInventory;
- // SET HOW CALLS TO THE DATASET FROM THE DATAMODULE ARE CALLED
- DM1.ZQ_AddCustomers.AfterDelete := @ZQ_AddCustomersAfterDelete;
- DM1.ZQ_AddCustomers.AfterPost := @ZQ_AddCustomersAfterPost;
- DM1.ZQ_AddCustomers.BeforePost := @ZQ_AddCustomersBeforePost;
- DM1.ZQ_AddItems.AfterApplyUpdates := @ZQ_AddItemsAfterApplyUpdates;
- DM1.ZQ_AddItems.AfterDelete := @ZQ_AddItemsAfterDelete;
- DM1.ZQ_AddItems.AfterPost := @ZQ_AddItemsAfterPost;
- DM1.ZQ_AddItems.BeforePost := @ZQ_AddItemsBeforePost;
- // CREATE THE TABLES, IF ANY ARE NEEDED
- CreateTables;
- // GET THE COMBOBOX READY
- with RxUnitComboBox do
- begin
- DataField := 'inventory_unit';
- Visible:= False;
- end;
- TreeViewsHidden := False;
- // LOAD THE COMBOBOX
- ReloadDBComboBox;
- // FILL THE CUSTOMER, ITEMS, INVENTORY GRIDS
- SelectCustomers;
- SelectItems;
- SelectInventoryForBOM;
- // SET THE GRID WIDTHS ON ALL THE GRIDS
- ReadGridColSizes;
- ReadGridAltColors;
- ReadGridRowHeight;
- // CHECK IF HINTS WILL BE DISPLAYED
- ReadHints;
- // PUT THE HOMETREE AND CHILD PANELS BACK TO THE WAY THEY LEFT THEM, THEN
- // COLOR THE PANELS.
- ReadSplitterINI;
- ReadPanelColors;
- // HERE WE SYNC THE THREE PAGECONTROLS, HIDE ALL TABS, AND
- // INCREASE THE DEFAULT ROW HEIGHT
- PageCon_Main.PageIndex := 0;
- PageCon_Child.PageIndex := 0;
- PageCon_Top.PageIndex := 0;
- PageCon_Main.ShowTabs := False;
- PageCon_Child.ShowTabs := False;
- PageCon_Top.ShowTabs := False;
- // PUT FOCUS ON THE CUSTOMER GRID
- RxDBGrid_AddCustomers.SetFocus;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.ComboBox_AddCustomersFiltersChange(Sender: TObject);
- begin
- Edit_AddCustomersSearch.SetFocus;
- end;
- procedure TForm_Neo.ComboBox_AddCustomersFiltersEnter(Sender: TObject);
- begin
- StatusBar1.Panels[1].Text := 'Add Customers Search Items';
- end;
- procedure TForm_Neo.ComboBox_AddCustomersFiltersExit(Sender: TObject);
- begin
- StatusBar1.Panels[1].Text := '';
- end;
- procedure TForm_Neo.ComboBox_AddItemsFiltersChange(Sender: TObject);
- begin
- Edit_AddItemsSearch.SetFocus;
- end;
- procedure TForm_Neo.ComboBox_BOMShowInventoryFiltersChange(Sender: TObject);
- begin
- Edit_BOMShowInventorySearch.SetFocus;
- end;
- procedure TForm_Neo.DBNavigator_AddCustomersEnter(Sender: TObject);
- begin
- StatusBar1.Panels[1].Text := 'Add Customers DB Navigator';
- end;
- procedure TForm_Neo.DBNavigator_AddCustomersExit(Sender: TObject);
- begin
- StatusBar1.Panels[1].Text := '';
- end;
- procedure TForm_Neo.Edit_AddCustomersSearchEnter(Sender: TObject);
- begin
- StatusBar1.Panels[1].Text := 'Add Customers Search Box';
- end;
- procedure TForm_Neo.Edit_AddCustomersSearchExit(Sender: TObject);
- begin
- StatusBar1.Panels[1].Text := '';
- end;
- procedure TForm_Neo.Edit_AddCustomersSearchKeyUp(Sender: TObject;
- var Key: Word; Shift: TShiftState);
- var
- s: String;
- i: Integer;
- begin
- try
- if Edit_AddCustomersSearch.Text = '' then
- begin
- SelectCustomers;
- ReadGridColSizes;
- Edit_AddCustomersSearch.SetFocus;
- Exit;
- end;
- s:= Edit_AddCustomersSearch.Text;
- i:= ComboBox_AddCustomersFilters.ItemIndex;
- if ToggleBox_AddCustomersAutoWildcard.Checked then
- begin
- if i = 0 then
- begin
- DM1.ZQ_AddCustomers.Close;
- DM1.ZQ_AddCustomers.SQL.Text:= 'SELECT * FROM customers ' +
- 'WHERE cust_fname LIKE :fname';
- DM1.ZQ_AddCustomers.Params.ParamByName('fname').AsString:= '%'+Trim(s)+'%';
- DM1.ZQ_AddCustomers.Open;
- SetDBGridTitlesCustomers;
- ReadGridColSizes;
- end;
- if i = 1 then
- begin
- DM1.ZQ_AddCustomers.Close;
- DM1.ZQ_AddCustomers.SQL.Text:= 'SELECT * FROM customers ' +
- 'WHERE cust_lname LIKE :lname';
- DM1.ZQ_AddCustomers.Params.ParamByName('lname').AsString:= '%'+Trim(s)+'%';
- DM1.ZQ_AddCustomers.Open;
- SetDBGridTitlesCustomers;
- ReadGridColSizes;
- end;
- if i = 2 then
- begin
- DM1.ZQ_AddCustomers.Close;
- DM1.ZQ_AddCustomers.SQL.Text:= 'SELECT * FROM customers ' +
- 'WHERE cust_company LIKE :company';
- DM1.ZQ_AddCustomers.Params.ParamByName('company').AsString:= '%'+Trim(s)+'%';
- DM1.ZQ_AddCustomers.Open;
- SetDBGridTitlesCustomers;
- ReadGridColSizes;
- end;
- if i = 3 then
- begin
- DM1.ZQ_AddCustomers.Close;
- DM1.ZQ_AddCustomers.SQL.Text:= 'SELECT * FROM customers ' +
- 'WHERE cust_email1 LIKE :em1';
- DM1.ZQ_AddCustomers.Params.ParamByName('em1').AsString:= '%'+Trim(s)+'%';
- DM1.ZQ_AddCustomers.Open;
- SetDBGridTitlesCustomers;
- ReadGridColSizes;
- end;
- if i = 4 then
- begin
- DM1.ZQ_AddCustomers.Close;
- DM1.ZQ_AddCustomers.SQL.Text:= 'SELECT * FROM customers ' +
- 'WHERE cust_email2 LIKE :em2';
- DM1.ZQ_AddCustomers.Params.ParamByName('em2').AsString:= '%'+Trim(s)+'%';
- DM1.ZQ_AddCustomers.Open;
- SetDBGridTitlesCustomers;
- ReadGridColSizes;
- end;
- if i = 5 then
- begin
- DM1.ZQ_AddCustomers.Close;
- DM1.ZQ_AddCustomers.SQL.Text:= 'SELECT * FROM customers ' +
- 'WHERE cust_worknumber LIKE :wnum';
- DM1.ZQ_AddCustomers.Params.ParamByName('wnum').AsString:= '%'+Trim(s)+'%';
- DM1.ZQ_AddCustomers.Open;
- SetDBGridTitlesCustomers;
- ReadGridColSizes;
- end;
- if i = 6 then
- begin
- DM1.ZQ_AddCustomers.Close;
- DM1.ZQ_AddCustomers.SQL.Text:= 'SELECT * FROM customers ' +
- 'WHERE cust_cellnumber LIKE :cnum';
- DM1.ZQ_AddCustomers.Params.ParamByName('cnum').AsString:= '%'+Trim(s)+'%';
- DM1.ZQ_AddCustomers.Open;
- SetDBGridTitlesCustomers;
- ReadGridColSizes;
- end;
- Exit;
- end;
- if i = 0 then
- begin
- DM1.ZQ_AddCustomers.Close;
- DM1.ZQ_AddCustomers.SQL.Text:= 'SELECT * FROM customers ' +
- 'WHERE cust_fname LIKE :fname';
- DM1.ZQ_AddCustomers.Params.ParamByName('fname').AsString:= Trim(s);
- DM1.ZQ_AddCustomers.Open;
- SetDBGridTitlesCustomers;
- ReadGridColSizes;
- end;
- if i = 1 then
- begin
- DM1.ZQ_AddCustomers.Close;
- DM1.ZQ_AddCustomers.SQL.Text:= 'SELECT * FROM customers ' +
- 'WHERE cust_lname LIKE :lname';
- DM1.ZQ_AddCustomers.Params.ParamByName('lname').AsString:= Trim(s);
- DM1.ZQ_AddCustomers.Open;
- SetDBGridTitlesCustomers;
- ReadGridColSizes;
- end;
- if i = 2 then
- begin
- DM1.ZQ_AddCustomers.Close;
- DM1.ZQ_AddCustomers.SQL.Text:= 'SELECT * FROM customers ' +
- 'WHERE cust_company LIKE :company';
- DM1.ZQ_AddCustomers.Params.ParamByName('company').AsString:= Trim(s);
- DM1.ZQ_AddCustomers.Open;
- SetDBGridTitlesCustomers;
- ReadGridColSizes;
- end;
- if i = 3 then
- begin
- DM1.ZQ_AddCustomers.Close;
- DM1.ZQ_AddCustomers.SQL.Text:= 'SELECT * FROM customers ' +
- 'WHERE cust_email1 LIKE :em1';
- DM1.ZQ_AddCustomers.Params.ParamByName('em1').AsString:= Trim(s);
- DM1.ZQ_AddCustomers.Open;
- SetDBGridTitlesCustomers;
- ReadGridColSizes;
- end;
- if i = 4 then
- begin
- DM1.ZQ_AddCustomers.Close;
- DM1.ZQ_AddCustomers.SQL.Text:= 'SELECT * FROM customers ' +
- 'WHERE cust_email2 LIKE :em2';
- DM1.ZQ_AddCustomers.Params.ParamByName('em2').AsString:= Trim(s);
- DM1.ZQ_AddCustomers.Open;
- SetDBGridTitlesCustomers;
- ReadGridColSizes;
- end;
- if i = 5 then
- begin
- DM1.ZQ_AddCustomers.Close;
- DM1.ZQ_AddCustomers.SQL.Text:= 'SELECT * FROM customers ' +
- 'WHERE cust_worknumber LIKE :wnum';
- DM1.ZQ_AddCustomers.Params.ParamByName('wnum').AsString:= Trim(s);
- DM1.ZQ_AddCustomers.Open;
- SetDBGridTitlesCustomers;
- ReadGridColSizes;
- end;
- if i = 6 then
- begin
- DM1.ZQ_AddCustomers.Close;
- DM1.ZQ_AddCustomers.SQL.Text:= 'SELECT * FROM customers ' +
- 'WHERE cust_cellnumber LIKE :cnum';
- DM1.ZQ_AddCustomers.Params.ParamByName('cnum').AsString:= Trim(s);
- DM1.ZQ_AddCustomers.Open;
- SetDBGridTitlesCustomers;
- ReadGridColSizes;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.Edit_AddItemsSearchKeyUp(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- var
- s: String;
- i: Integer;
- begin
- try
- if Edit_AddItemsSearch.Text = '' then
- begin
- SelectItems;
- ReadGridColSizes;
- Edit_AddItemsSearch.SetFocus;
- Exit;
- end;
- s:= Edit_AddItemsSearch.Text;
- i:= ComboBox_AddItemsFilters.ItemIndex;
- if ToggleBox_AddItemsAutoWildcard.Checked then
- begin
- if i = 0 then
- begin
- DM1.ZQ_AddItems.Close;
- DM1.ZQ_AddItems.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_item_number LIKE :itemnum';
- DM1.ZQ_AddItems.Params.ParamByName('itemnum').AsString:= '%'+Trim(s)+'%';
- DM1.ZQ_AddItems.Open;
- SetDBGridTitlesAddItems;
- ReadGridColSizes;
- SetAddItemsGridFloats;
- end;
- if i = 1 then
- begin
- DM1.ZQ_AddItems.Close;
- DM1.ZQ_AddItems.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_description LIKE :desc';
- DM1.ZQ_AddItems.Params.ParamByName('desc').AsString:= '%'+Trim(s)+'%';
- DM1.ZQ_AddItems.Open;
- SetDBGridTitlesAddItems;
- ReadGridColSizes;
- SetAddItemsGridFloats;
- end;
- if i = 2 then
- begin
- DM1.ZQ_AddItems.Close;
- DM1.ZQ_AddItems.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_unit LIKE :unit';
- DM1.ZQ_AddItems.Params.ParamByName('unit').AsString:= '%'+Trim(s)+'%';
- DM1.ZQ_AddItems.Open;
- SetDBGridTitlesAddItems;
- ReadGridColSizes;
- SetAddItemsGridFloats;
- end;
- if i = 3 then
- begin
- DM1.ZQ_AddItems.Close;
- DM1.ZQ_AddItems.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_cost LIKE :cost';
- DM1.ZQ_AddItems.Params.ParamByName('cost').AsString:= '%'+Trim(s)+'%';
- DM1.ZQ_AddItems.Open;
- SetDBGridTitlesAddItems;
- ReadGridColSizes;
- SetAddItemsGridFloats;
- end;
- if i = 4 then
- begin
- DM1.ZQ_AddItems.Close;
- DM1.ZQ_AddItems.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_sell_price LIKE :sellPrice';
- DM1.ZQ_AddItems.Params.ParamByName('sellPrice').AsString:= '%'+Trim(s)+'%';
- DM1.ZQ_AddItems.Open;
- SetDBGridTitlesAddItems;
- ReadGridColSizes;
- SetAddItemsGridFloats;
- end;
- if i = 5 then
- begin
- DM1.ZQ_AddItems.Close;
- DM1.ZQ_AddItems.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_margin_contribution LIKE :mc';
- DM1.ZQ_AddItems.Params.ParamByName('mc').AsString:= '%'+Trim(s)+'%';
- DM1.ZQ_AddItems.Open;
- SetDBGridTitlesAddItems;
- ReadGridColSizes;
- SetAddItemsGridFloats;
- end;
- if i = 6 then
- begin
- DM1.ZQ_AddItems.Close;
- DM1.ZQ_AddItems.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_in_stock LIKE :inStock';
- DM1.ZQ_AddItems.Params.ParamByName('inStock').AsString:= '%'+Trim(s)+'%';
- DM1.ZQ_AddItems.Open;
- SetDBGridTitlesAddItems;
- ReadGridColSizes;
- SetAddItemsGridFloats;
- end;
- Exit;
- end;
- if i = 0 then
- begin
- DM1.ZQ_AddItems.Close;
- DM1.ZQ_AddItems.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_item_number LIKE :itemnum';
- DM1.ZQ_AddItems.Params.ParamByName('itemnum').AsString:= Trim(s);
- DM1.ZQ_AddItems.Open;
- SetDBGridTitlesAddItems;
- ReadGridColSizes;
- SetAddItemsGridFloats;
- end;
- if i = 1 then
- begin
- DM1.ZQ_AddItems.Close;
- DM1.ZQ_AddItems.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_description LIKE :desc';
- DM1.ZQ_AddItems.Params.ParamByName('desc').AsString:= Trim(s);
- DM1.ZQ_AddItems.Open;
- SetDBGridTitlesAddItems;
- ReadGridColSizes;
- SetAddItemsGridFloats;
- end;
- if i = 2 then
- begin
- DM1.ZQ_AddItems.Close;
- DM1.ZQ_AddItems.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_unit LIKE :unit';
- DM1.ZQ_AddItems.Params.ParamByName('unit').AsString:= Trim(s);
- DM1.ZQ_AddItems.Open;
- SetDBGridTitlesAddItems;
- ReadGridColSizes;
- SetAddItemsGridFloats;
- end;
- if i = 3 then
- begin
- DM1.ZQ_AddItems.Close;
- DM1.ZQ_AddItems.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_cost LIKE :cost';
- DM1.ZQ_AddItems.Params.ParamByName('cost').AsString:= Trim(s);
- DM1.ZQ_AddItems.Open;
- SetDBGridTitlesAddItems;
- ReadGridColSizes;
- SetAddItemsGridFloats;
- end;
- if i = 4 then
- begin
- DM1.ZQ_AddItems.Close;
- DM1.ZQ_AddItems.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_sell_price LIKE :sellPrice';
- DM1.ZQ_AddItems.Params.ParamByName('sellPrice').AsString:= Trim(s);
- DM1.ZQ_AddItems.Open;
- SetDBGridTitlesAddItems;
- ReadGridColSizes;
- SetAddItemsGridFloats;
- end;
- if i = 5 then
- begin
- DM1.ZQ_AddItems.Close;
- DM1.ZQ_AddItems.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_margin_contribution LIKE :mc';
- DM1.ZQ_AddItems.Params.ParamByName('mc').AsString:= Trim(s);
- DM1.ZQ_AddItems.Open;
- SetDBGridTitlesAddItems;
- ReadGridColSizes;
- SetAddItemsGridFloats;
- end;
- if i = 6 then
- begin
- DM1.ZQ_AddItems.Close;
- DM1.ZQ_AddItems.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_in_stock LIKE :inStock';
- DM1.ZQ_AddItems.Params.ParamByName('inStock').AsString:= Trim(s);
- DM1.ZQ_AddItems.Open;
- SetDBGridTitlesAddItems;
- ReadGridColSizes;
- SetAddItemsGridFloats;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.Edit_BOMShowInventorySearchKeyUp(Sender: TObject;
- var Key: Word; Shift: TShiftState);
- var
- s: String;
- i: Integer;
- begin
- try
- if Edit_BOMShowInventorySearch.Text = '' then
- begin
- SelectInventoryForBOM;
- ReadGridColSizes;
- Edit_BOMShowInventorySearch.SetFocus;
- Exit;
- end;
- s:= Edit_BOMShowInventorySearch.Text;
- i:= ComboBox_BOMShowInventoryFilters.ItemIndex;
- if ToggleBox_ShowInventoryAutoWildcard.Checked then
- begin
- if i = 0 then
- begin
- DM1.ZQ_ReadInventory.Close;
- DM1.ZQ_ReadInventory.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_item_number LIKE :itemnum';
- DM1.ZQ_ReadInventory.Params.ParamByName('itemnum').AsString:= '%'+Trim(s)+'%';
- DM1.ZQ_ReadInventory.Open;
- SetDBGridTitlesShowInventory;
- ReadGridColSizes;
- SetShowInventoryGridFloats;
- end;
- if i = 1 then
- begin
- DM1.ZQ_ReadInventory.Close;
- DM1.ZQ_ReadInventory.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_description LIKE :desc';
- DM1.ZQ_ReadInventory.Params.ParamByName('desc').AsString:= '%'+Trim(s)+'%';
- DM1.ZQ_ReadInventory.Open;
- SetDBGridTitlesShowInventory;
- ReadGridColSizes;
- SetShowInventoryGridFloats;
- end;
- if i = 2 then
- begin
- DM1.ZQ_ReadInventory.Close;
- DM1.ZQ_ReadInventory.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_unit LIKE :unit';
- DM1.ZQ_ReadInventory.Params.ParamByName('unit').AsString:= '%'+Trim(s)+'%';
- DM1.ZQ_ReadInventory.Open;
- SetDBGridTitlesShowInventory;
- ReadGridColSizes;
- SetShowInventoryGridFloats;
- end;
- if i = 3 then
- begin
- DM1.ZQ_ReadInventory.Close;
- DM1.ZQ_ReadInventory.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_cost LIKE :cost';
- DM1.ZQ_ReadInventory.Params.ParamByName('cost').AsString:= '%'+Trim(s)+'%';
- DM1.ZQ_ReadInventory.Open;
- SetDBGridTitlesShowInventory;
- ReadGridColSizes;
- SetShowInventoryGridFloats;
- end;
- if i = 4 then
- begin
- DM1.ZQ_ReadInventory.Close;
- DM1.ZQ_ReadInventory.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_sell_price LIKE :sellPrice';
- DM1.ZQ_ReadInventory.Params.ParamByName('sellPrice').AsString:= '%'+Trim(s)+'%';
- DM1.ZQ_ReadInventory.Open;
- SetDBGridTitlesShowInventory;
- ReadGridColSizes;
- SetShowInventoryGridFloats;
- end;
- if i = 5 then
- begin
- DM1.ZQ_ReadInventory.Close;
- DM1.ZQ_ReadInventory.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_margin_contribution LIKE :mc';
- DM1.ZQ_ReadInventory.Params.ParamByName('mc').AsString:= '%'+Trim(s)+'%';
- DM1.ZQ_ReadInventory.Open;
- SetDBGridTitlesShowInventory;
- ReadGridColSizes;
- SetShowInventoryGridFloats;
- end;
- if i = 6 then
- begin
- DM1.ZQ_ReadInventory.Close;
- DM1.ZQ_ReadInventory.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_in_stock LIKE :inStock';
- DM1.ZQ_ReadInventory.Params.ParamByName('inStock').AsString:= '%'+Trim(s)+'%';
- DM1.ZQ_ReadInventory.Open;
- SetDBGridTitlesShowInventory;
- ReadGridColSizes;
- SetShowInventoryGridFloats;
- end;
- Exit;
- end;
- if i = 0 then
- begin
- DM1.ZQ_ReadInventory.Close;
- DM1.ZQ_ReadInventory.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_item_number LIKE :itemnum';
- DM1.ZQ_ReadInventory.Params.ParamByName('itemnum').AsString:= Trim(s);
- DM1.ZQ_ReadInventory.Open;
- SetDBGridTitlesShowInventory;
- ReadGridColSizes;
- SetShowInventoryGridFloats;
- end;
- if i = 1 then
- begin
- DM1.ZQ_ReadInventory.Close;
- DM1.ZQ_ReadInventory.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_description LIKE :desc';
- DM1.ZQ_ReadInventory.Params.ParamByName('desc').AsString:= Trim(s);
- DM1.ZQ_ReadInventory.Open;
- SetDBGridTitlesShowInventory;
- ReadGridColSizes;
- SetShowInventoryGridFloats;
- end;
- if i = 2 then
- begin
- DM1.ZQ_ReadInventory.Close;
- DM1.ZQ_ReadInventory.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_unit LIKE :unit';
- DM1.ZQ_ReadInventory.Params.ParamByName('unit').AsString:= Trim(s);
- DM1.ZQ_ReadInventory.Open;
- SetDBGridTitlesShowInventory;
- ReadGridColSizes;
- SetShowInventoryGridFloats;
- end;
- if i = 3 then
- begin
- DM1.ZQ_ReadInventory.Close;
- DM1.ZQ_ReadInventory.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_cost LIKE :cost';
- DM1.ZQ_ReadInventory.Params.ParamByName('cost').AsString:= Trim(s);
- DM1.ZQ_ReadInventory.Open;
- SetDBGridTitlesShowInventory;
- ReadGridColSizes;
- SetShowInventoryGridFloats;
- end;
- if i = 4 then
- begin
- DM1.ZQ_ReadInventory.Close;
- DM1.ZQ_ReadInventory.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_sell_price LIKE :sellPrice';
- DM1.ZQ_ReadInventory.Params.ParamByName('sellPrice').AsString:= Trim(s);
- DM1.ZQ_ReadInventory.Open;
- SetDBGridTitlesShowInventory;
- ReadGridColSizes;
- SetShowInventoryGridFloats;
- end;
- if i = 5 then
- begin
- DM1.ZQ_ReadInventory.Close;
- DM1.ZQ_ReadInventory.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_margin_contribution LIKE :mc';
- DM1.ZQ_ReadInventory.Params.ParamByName('mc').AsString:= Trim(s);
- DM1.ZQ_ReadInventory.Open;
- SetDBGridTitlesShowInventory;
- ReadGridColSizes;
- SetShowInventoryGridFloats;
- end;
- if i = 6 then
- begin
- DM1.ZQ_ReadInventory.Close;
- DM1.ZQ_ReadInventory.SQL.Text:= 'SELECT * FROM inventory ' +
- 'WHERE inventory_in_stock LIKE :inStock';
- DM1.ZQ_ReadInventory.Params.ParamByName('inStock').AsString:= Trim(s);
- DM1.ZQ_ReadInventory.Open;
- SetDBGridTitlesShowInventory;
- ReadGridColSizes;
- SetShowInventoryGridFloats;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- {------------------------------------------------------------------------------
- BECAUSE SPLITTERS ARE PART OF THE DESIGNED FORM, THEY WILL BE RESIZED TO THE
- DESIGNED LAYOUT AT APP STARTUP, TRIGGERING ANY REZISE EVENTS THEY ARE TIED
- TO. SO WE CAN'T USE A RESIZE EVENT TO CAPTURE THESE KIND OF FORM CHANGES.
- WE MUST WRITE THEM HERE, THEN USE THESE VALUES AT FORM STARTUP SO THE FORM
- WILL BE AS THE USER LEFT IT.
- ------------------------------------------------------------------------------}
- procedure TForm_Neo.FormClose(Sender: TObject; var CloseAction: TCloseAction);
- var
- ini: TCustomIniFile;
- s : String;
- z : Integer;
- column : TColumn;
- begin
- try
- if (HomeTree.Width = 1) and (PageCon_Child.Width = 1) then Exit;
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- ini.WriteInteger('TreeViewWidth', 'WidthHomeTree', HomeTree.Width);
- ini.WriteInteger('TreeViewWidth', 'WidthChildPageCon', PageCon_Child.Width);
- ini.WriteInteger('CreateBOMGrid', 'HeightCeateBOMGrid', RxDBGrid_CreateBOM.Height);
- finally
- ini.Free;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- {------------------------------------------------------------------------------
- HOMETREECHANGE TAKES CARE OF KEEPING THE PAGECONTROLS IN SYNC.
- ------------------------------------------------------------------------------}
- procedure TForm_Neo.HomeTreeChange(Sender: TObject; Node: TTreeNode);
- var
- htNode,i : Integer;
- begin
- htNode := Node.SelectedIndex;
- try
- // THE FORMULA FOR i LOCATES OUR PLACEMENT OF THE SEARCH COMPONENTS PLACEMENT.
- // THESE COMPONENTS WILL BE UPDATED WHEN THE USER NAVIGATES HOMETREE.
- i := (Form_Neo.Width - PageCon_Child.Width)-
- (ComboBox_AddCustomersFilters.Width + 32);
- if htNode = 0 then
- begin
- PageCon_Main.PageIndex := 0;
- PageCon_Child.PageIndex := 0;
- PageCon_Top.PageIndex := 0;
- ComboBox_AddCustomersFilters.left := i;
- end
- else if htNode = 1 then
- begin
- PageCon_Main.PageIndex := 1;
- PageCon_Child.PageIndex := 1;
- PageCon_Top.PageIndex := 1;
- DBNavigator_AddItems.Left := HomeTree.Width+16;
- ComboBox_AddItemsFilters.Left := i;
- end
- else if htNode = 2 then
- begin
- PageCon_Main.PageIndex := 2;
- PageCon_Child.PageIndex := 2;
- PageCon_Top.PageIndex := 2;
- Edit1.Left := HomeTree.Width+58;
- Edit2.Left := HomeTree.Width+58;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.HomeTreeEnter(Sender: TObject);
- begin
- StatusBar1.Panels[1].Text := 'HomeTree';
- end;
- procedure TForm_Neo.HomeTreeExit(Sender: TObject);
- begin
- StatusBar1.Panels[1].Text := '';
- end;
- procedure TForm_Neo.HomeTreeResize(Sender: TObject);
- begin
- try
- DBNavigator_AddCustomers.Left := HomeTree.Width + 16;
- DBNavigator_AddItems.Left := DBNavigator_AddCustomers.Left;
- Edit1.Left := HomeTree.Width+58;
- Edit2.Left := HomeTree.Width+58;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItemExitClick(Sender: TObject);
- begin
- Close;
- end;
- {------------------------------------------------------------------------------
- HERE WE WILL CREATE THE DATABASE TABLES
- ------------------------------------------------------------------------------}
- procedure TForm_Neo.CreateTables;
- begin
- try
- with DM1.ZConn do
- begin
- ExecuteDirect(
- 'CREATE TABLE IF NOT EXISTS customers(' +
- 'cust_id INTEGER PRIMARY KEY AUTOINCREMENT, ' +
- 'cust_fname VARCHAR(20), ' +
- 'cust_lname VARCHAR(20), ' +
- 'cust_company VARCHAR(30), ' +
- 'cust_physical_address VARCHAR(30), ' +
- 'cust_physical_city VARCHAR(15), ' +
- 'cust_physical_state VARCHAR(15), ' +
- 'cust_physical_zipcode VARCHAR(5), ' +
- 'cust_billing_address VARCHAR(30), ' +
- 'cust_billing_city VARCHAR(15), ' +
- 'cust_billing_state VARCHAR(15), ' +
- 'cust_billing_zipcode VARCHAR(5), ' +
- 'cust_email1 VARCHAR(50), ' +
- 'cust_email2 VARCHAR(50), ' +
- 'cust_worknumber VARCHAR(12), ' +
- 'cust_cellnumber VARCHAR(12), ' +
- 'cust_notes TEXT)');
- ExecuteDirect(
- 'CREATE TABLE IF NOT EXISTS inventory(' +
- 'inventory_id INTEGER PRIMARY KEY AUTOINCREMENT, ' +
- 'inventory_item_number VARCHAR(50), ' +
- 'inventory_description VARCHAR(80), ' +
- 'inventory_unit VARCHAR(5), ' +
- 'inventory_cost REAL, ' +
- 'inventory_sell_price REAL, ' +
- 'inventory_margin_contribution REAL, ' +
- 'inventory_weight REAL, ' +
- 'inventory_in_stock REAL)');
- ExecuteDirect(
- 'CREATE TABLE IF NOT EXISTS bom(' +
- 'bom_id INTEGER PRIMARY KEY AUTOINCREMENT, ' +
- 'bom_build_lines REAL, ' +
- 'bom_item_number VARCHAR(50), ' +
- 'bom_released VARCHAR(1), ' +
- 'bom_description VARCHAR(80), ' +
- 'bom_unit VARCHAR(5), ' +
- 'bom_quantity INTEGER, ' +
- 'bom_cost REAL, ' +
- 'bom_sell_price REAL, ' +
- 'bom_margin_contribution REAL, ' +
- 'bom_weight REAL, ' +
- 'bom_in_stock REAL)');
- // CREATE A NEW TABLE TO KEEP TRACK OF ALL PRICE CHANGES WITH DATES OF CHANGE
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItemHomeTreeColorOffClick(Sender: TObject);
- var
- ini: TCustomIniFile;
- begin
- try
- HomeTree.Color := clWhite;
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- ini.WriteInteger('HomeTreeColor', 'Color', HomeTree.Color);
- finally
- ini.Free;
- MenuItemHomeTreeColorOff.Checked := True;
- MenuItemHomeTreeColorOn.Checked := False;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItemHomeTreeColorOnClick(Sender: TObject);
- var
- ini: TCustomIniFile;
- begin
- try
- if ColorDialog1.Execute then
- HomeTree.Color := ColorDialog1.Color;
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- ini.WriteInteger('HomeTreeColor', 'Color', HomeTree.Color);
- finally
- ini.Free;
- MenuItemHomeTreeColorOff.Checked := False;
- MenuItemHomeTreeColorOn.Checked := True;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_AboutClick(Sender: TObject);
- var
- i : Integer;
- begin
- try
- Form_About:= TForm_About.Create(Self);
- try
- Form_About.ShowModal;
- finally
- Form_About.Release;
- Form_About:= Nil;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_AddCustomersGridColorOffClick(Sender: TObject);
- var
- ini: TCustomIniFile;
- begin
- try
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- RxDBGrid_AddCustomers.AlternateColor := clWhite;
- try
- ini.WriteInteger('GridColors', 'AddCustomersAltColor', RxDBGrid_AddCustomers.AlternateColor);
- finally
- ini.Free;
- MenuItem_AddCustomersGridColorOff.Checked := True;
- MenuItem_AddCustomersGridColorOn.Checked := False;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_AddCustomersGridColorOnClick(Sender: TObject);
- var
- ini: TCustomIniFile;
- begin
- try
- if ColorDialog1.Execute then
- RxDBGrid_AddCustomers.AlternateColor := ColorDialog1.Color;
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- ini.WriteInteger('GridColors', 'AddCustomersAltColor', RxDBGrid_AddCustomers.AlternateColor);
- finally
- ini.Free;
- MenuItem_AddCustomersGridColorOff.Checked := False;
- MenuItem_AddCustomersGridColorOn.Checked := True;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_AddItemsGridColorOffClick(Sender: TObject);
- var
- ini: TCustomIniFile;
- begin
- try
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- RxDBGrid_AddItems.AlternateColor := clWhite;
- try
- ini.WriteInteger('GridColors', 'AddItemsAltColor', RxDBGrid_AddItems.AlternateColor);
- finally
- ini.Free;
- MenuItem_AddItemsGridColorOff.Checked := True;
- MenuItem_AddItemsGridColorOn.Checked := False;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_AddItemsGridColorOnClick(Sender: TObject);
- var
- ini: TCustomIniFile;
- begin
- try
- if ColorDialog1.Execute then
- RxDBGrid_AddItems.AlternateColor := ColorDialog1.Color;
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- ini.WriteInteger('GridColors', 'AddItemsAltColor', RxDBGrid_AddItems.AlternateColor);
- finally
- ini.Free;
- MenuItem_AddItemsGridColorOff.Checked := False;
- MenuItem_AddItemsGridColorOn.Checked := True;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_ChildAddCustomerColorOffClick(Sender: TObject);
- var
- ini: TCustomIniFile;
- begin
- try
- TreeView_ChildAddCustomers.Color := clWhite;
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- ini.WriteInteger('TreeView_ChildAddCustomers', 'Color', TreeView_ChildAddCustomers.Color);
- finally
- ini.Free;
- MenuItem_ChildAddCustomerColorOff.Checked := True;
- MenuItem_ChildAddCustomerColorOn.Checked := False;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_ChildAddCustomerColorOnClick(Sender: TObject);
- var
- ini: TCustomIniFile;
- begin
- try
- if ColorDialog1.Execute then
- TreeView_ChildAddCustomers.Color := ColorDialog1.Color;
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- ini.WriteInteger('TreeView_ChildAddCustomers', 'Color', TreeView_ChildAddCustomers.Color);
- finally
- ini.Free;
- MenuItem_ChildAddCustomerColorOff.Checked := False;
- MenuItem_ChildAddCustomerColorOn.Checked := True;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_ChildAddItemsColorOffClick(Sender: TObject);
- var
- ini: TCustomIniFile;
- begin
- try
- TreeView_ChildAddItems.Color := clWhite;
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- ini.WriteInteger('TreeView_ChildAddItems', 'Color', TreeView_ChildAddItems.Color);
- finally
- ini.Free;
- MenuItem_ChildAddItemsColorOff.Checked := True;
- MenuItem_ChildAddItemsColorOn.Checked := False;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_ChildAddItemsColorOnClick(Sender: TObject);
- var
- ini: TCustomIniFile;
- begin
- try
- if ColorDialog1.Execute then
- TreeView_ChildAddItems.Color := ColorDialog1.Color;
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- ini.WriteInteger('TreeView_ChildAddItems', 'Color', TreeView_ChildAddItems.Color);
- finally
- ini.Free;
- MenuItem_ChildAddItemsColorOff.Checked := False;
- MenuItem_ChildAddItemsColorOn.Checked := True;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_ChildCreateBOMColorOffClick(Sender: TObject);
- var
- ini: TCustomIniFile;
- begin
- try
- TreeView_ChildCreateBOM.Color := clWhite;
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- ini.WriteInteger('TreeView_ChildCreateBOM', 'Color', TreeView_ChildCreateBOM.Color);
- finally
- ini.Free;
- MenuItem_ChildCreateBOMColorOff.Checked := True;
- MenuItem_ChildCreateBOMColorOn.Checked := False;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_ChildCreateBOMColorOnClick(Sender: TObject);
- var
- ini: TCustomIniFile;
- begin
- try
- if ColorDialog1.Execute then
- TreeView_ChildCreateBOM.Color := ColorDialog1.Color;
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- ini.WriteInteger('TreeView_ChildCreateBOM', 'Color', TreeView_ChildCreateBOM.Color);
- finally
- ini.Free;
- MenuItem_ChildCreateBOMColorOff.Checked := False;
- MenuItem_ChildCreateBOMColorOn.Checked := True;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_CreateBOMGridColorOffClick(Sender: TObject);
- var
- ini: TCustomIniFile;
- begin
- try
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- RxDBGrid_CreateBOM.AlternateColor := clWhite;
- try
- ini.WriteInteger('GridColors', 'CreateBOMAltColor', RxDBGrid_CreateBOM.AlternateColor);
- finally
- ini.Free;
- MenuItem_CreateBOMGridColorOff.Checked := True;
- MenuItem_CreateBOMGridColorOn.Checked := False;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_CreateBOMGridColorOnClick(Sender: TObject);
- var
- ini: TCustomIniFile;
- begin
- try
- if ColorDialog1.Execute then
- RxDBGrid_CreateBOM.AlternateColor := ColorDialog1.Color;
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- ini.WriteInteger('GridColors', 'AddCustomersAltColor', RxDBGrid_CreateBOM.AlternateColor);
- finally
- ini.Free;
- MenuItem_CreateBOMGridColorOff.Checked := True;
- MenuItem_CreateBOMGridColorOn.Checked := False;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_SetGridRowHeightClick(Sender: TObject);
- begin
- try
- Form_GridRowHeight:= TForm_GridRowHeight.Create(Self);
- try
- Form_GridRowHeight.ShowModal;
- finally
- Form_GridRowHeight.Release;
- Form_GridRowHeight:= Nil;
- // IF ADDCUSTOMER FORM'S CANCEL BUTTON WAS CLICKED, WE WON'T HAVE A RECORD TO
- // WRITE...SO WE EXIT
- if boolCancel = True then Exit;
- RxDBGrid_AddCustomers.DefaultRowHeight := intGridRowHeight;
- RxDBGrid_AddItems.DefaultRowHeight := intGridRowHeight;
- RxDBGrid_CreateBOM.DefaultRowHeight := intGridRowHeight;
- RxDBGrid_ShowInventory.DefaultRowHeight := intGridRowHeight;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_ShowHintsOffClick(Sender: TObject);
- var
- ini : TCustomIniFile;
- begin
- try
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- ini.WriteBool('ShowHints', 'On', False);
- finally
- ini.Free;
- MenuItem_ShowHintsOn.Checked := False;
- MenuItem_ShowHintsOff.Checked := True;
- ToggleBox_AddCustomersAutoWildcard.ShowHint := False;
- ToggleBox_AddItemsAutoWildcard.ShowHint := False;
- Label_AddCustomerAutoWildcard.ShowHint := False;
- Label_AddItemsAutoWildcard.ShowHint := False;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_ShowHintsOnClick(Sender: TObject);
- var
- ini : TCustomIniFile;
- begin
- try
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- ini.WriteBool('ShowHints', 'On', True);
- finally
- ini.Free;
- MenuItem_ShowHintsOn.Checked := True;
- MenuItem_ShowHintsOff.Checked := False;
- ToggleBox_AddCustomersAutoWildcard.ShowHint := True;
- ToggleBox_AddItemsAutoWildcard.ShowHint := True;
- Label_AddCustomerAutoWildcard.ShowHint := True;
- Label_AddItemsAutoWildcard.ShowHint := True;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_ShowInventoryGridColorOffClick(Sender: TObject);
- var
- ini: TCustomIniFile;
- begin
- try
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- RxDBGrid_ShowInventory.AlternateColor := clWhite;
- try
- ini.WriteInteger('GridColors', 'CreateBOMAltColor', RxDBGrid_CreateBOM.AlternateColor);
- ini.WriteInteger('GridColors', 'ShowInventoryAltColor', RxDBGrid_ShowInventory.AlternateColor);
- finally
- ini.Free;
- MenuItem_ShowInventoryGridColorOff.Checked := True;
- MenuItem_ShowInventoryGridColorOn.Checked := False;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_ShowInventoryGridColorOnClick(Sender: TObject);
- var
- ini: TCustomIniFile;
- begin
- try
- if ColorDialog1.Execute then
- RxDBGrid_ShowInventory.AlternateColor := ColorDialog1.Color;
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- ini.WriteInteger('GridColors', 'ShowInventoryAltColor', RxDBGrid_ShowInventory.AlternateColor);
- finally
- ini.Free;
- MenuItem_ShowInventoryGridColorOff.Checked := True;
- MenuItem_ShowInventoryGridColorOn.Checked := False;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_TopPanelAddCustomerColorOffClick(Sender: TObject);
- var
- ini: TCustomIniFile;
- begin
- try
- TopPanelAddCustomers.Color := clWhite;
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- ini.WriteInteger('TopPanels', 'AddCustomersColor', TopPanelAddCustomers.Color);
- finally
- ini.Free;
- MenuItem_TopPanelAddCustomerColorOff.Checked := True;
- MenuItem_TopPanelAddCustomerColorOn.Checked := False;
- DBNavigator_AddCustomers.Color := TopPanelAddCustomers.Color;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_TopPanelAddCustomerColorOnClick(Sender: TObject);
- var
- ini: TCustomIniFile;
- begin
- try
- if ColorDialog1.Execute then
- TopPanelAddCustomers.Color := ColorDialog1.Color;
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- ini.WriteInteger('TopPanels', 'AddCustomersColor', TopPanelAddCustomers.Color);
- finally
- ini.Free;
- MenuItem_TopPanelAddCustomerColorOff.Checked := False;
- MenuItem_TopPanelAddCustomerColorOn.Checked := True;
- DBNavigator_AddCustomers.Color := TopPanelAddCustomers.Color;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_TopPanelAddItemsColorOffClick(Sender: TObject);
- var
- ini: TCustomIniFile;
- begin
- try
- TopPanelAddItems.Color := clWhite;
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- ini.WriteInteger('TopPanels', 'AddItemsColor', TopPanelAddItems.Color);
- finally
- ini.Free;
- MenuItem_TopPanelAddItemsColorOff.Checked := True;
- MenuItem_TopPanelAddItemsColorOn.Checked := False;
- DBNavigator_AddItems.Color := TopPanelAddItems.Color
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_TopPanelAddItemsColorOnClick(Sender: TObject);
- var
- ini: TCustomIniFile;
- begin
- try
- if ColorDialog1.Execute then
- TopPanelAddItems.Color := ColorDialog1.Color;
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- ini.WriteInteger('TopPanels', 'AddItemsColor', TopPanelAddItems.Color);
- finally
- ini.Free;
- MenuItem_TopPanelAddItemsColorOff.Checked := False;
- MenuItem_TopPanelAddItemsColorOn.Checked := True;
- DBNavigator_AddItems.Color := TopPanelAddItems.Color;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_TopPanelCreateBOMColorOffClick(Sender: TObject);
- var
- ini: TCustomIniFile;
- begin
- try
- TopPanelCreateBOM.Color := clWhite;
- Panel_BOMBottomInventory.Color := clWhite;
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- ini.WriteInteger('TopPanels', 'CreateBOMColor', TopPanelCreateBOM.Color);
- finally
- ini.Free;
- MenuItem_TopPanelCreateBOMColorOff.Checked := True;
- MenuItem_TopPanelCreateBOMColorOn.Checked := False;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.MenuItem_TopPanelCreateBOMColorOnClick(Sender: TObject);
- var
- ini: TCustomIniFile;
- begin
- try
- if ColorDialog1.Execute then
- TopPanelCreateBOM.Color := ColorDialog1.Color;
- Panel_BOMBottomInventory.Color := TopPanelCreateBOM.Color;
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- ini.WriteInteger('TopPanels', 'CreateBOMColor', TopPanelCreateBOM.Color);
- finally
- ini.Free;
- MenuItem_TopPanelCreateBOMColorOff.Checked := False;
- MenuItem_TopPanelCreateBOMColorOn.Checked := True;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.PageCon_ChildResize(Sender: TObject);
- var
- i : Integer;
- begin
- try
- i := (Form_Neo.Width - PageCon_Child.Width)-
- (ComboBox_AddCustomersFilters.Width + 32);
- ComboBox_AddCustomersFilters.Left := i;
- ComboBox_AddItemsFilters.Left := i;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.RxDBGrid_AddCustomersColumnSized(Sender: TObject);
- begin
- WriteGridColSizes;
- end;
- procedure TForm_Neo.RxDBGrid_AddCustomersEnter(Sender: TObject);
- begin
- StatusBar1.Panels[1].Text := 'Add Customers Grid';
- end;
- procedure TForm_Neo.RxDBGrid_AddCustomersExit(Sender: TObject);
- begin
- StatusBar1.Panels[1].Text := '';
- end;
- procedure TForm_Neo.RxDBGrid_AddCustomersKeyDown(Sender: TObject;
- var Key: Word; Shift: TShiftState);
- const
- GoodKeys = [
- VK_0..VK_9,
- VK_NUMPAD0..VK_NUMPAD9,
- VK_Left,VK_Right,
- VK_UP, VK_DOWN,
- VK_BACK,VK_DELETE,
- VK_END,VK_HOME,
- VK_RETURN,VK_TAB
- ];
- begin
- try
- if RxDBGrid_AddCustomers.SelectedField = DM1.ZQ_AddCustomers.FieldByName('cust_worknumber') then
- if not(Key in GoodKeys) then Key:= 0;
- if RxDBGrid_AddCustomers.SelectedField = DM1.ZQ_AddCustomers.FieldByName('cust_cellnumber') then
- if not(Key in GoodKeys) then Key:= 0;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.RxDBGrid_AddCustomersKeyUp(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- var
- i : Integer;
- begin
- i := (Form_Neo.Width - PageCon_Child.Width)-
- (ComboBox_AddCustomersFilters.Width + 32);
- try
- if (Shift = [ssCtrl]) and (Key = VK_2) then
- begin
- PageCon_Main.PageIndex:= 1;
- PageCon_Child.PageIndex:= 1;
- PageCon_Top.PageIndex:= 1;
- DBNavigator_AddItems.Left := HomeTree.Width+2;
- ComboBox_AddItemsFilters.Left := i;
- RxDBGrid_AddItems.SetFocus;
- end;
- if (Shift = [ssCtrl]) and (Key = VK_3) then
- begin
- PageCon_Main.PageIndex:= 2;
- PageCon_Child.PageIndex:= 2;
- PageCon_Top.PageIndex:= 2;
- Edit1.Left := HomeTree.Width+58;
- Edit2.Left := HomeTree.Width+58;
- RxDBGrid_ShowInventory.SetFocus;
- end;
- if Key = VK_F11 then
- if not TreeViewsHidden then
- begin
- HomeTree.Width := 1;
- PageCon_Child.Width := 1;
- TreeViewsHidden := True;
- end
- else
- begin
- ReadSplitterINI;
- TreeViewsHidden := False;
- end;
- if (Shift = [ssCtrl]) and (Key = VK_E) then
- ShowCustomerNote;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.RxDBGrid_AddItemsColumnSized(Sender: TObject);
- begin
- WriteGridColSizes;
- end;
- procedure TForm_Neo.RxDBGrid_AddItemsKeyUp(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- begin
- try
- if (Shift = [ssCtrl]) and (Key = VK_1) then
- begin
- PageCon_Main.PageIndex:= 0;
- PageCon_Child.PageIndex:= 0;
- PageCon_Top.PageIndex:= 0;
- RxDBGrid_AddCustomers.SetFocus;
- end;
- if (Shift = [ssCtrl]) and (Key = VK_3) then
- begin
- PageCon_Main.PageIndex:= 2;
- PageCon_Child.PageIndex:= 2;
- PageCon_Top.PageIndex:= 2;
- RxDBGrid_ShowInventory.SetFocus;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.RxDBGrid_AddItemsSelectEditor(Sender: TObject;
- Column: TColumn; var Editor: TWinControl);
- begin
- try
- if Column.Field = RxUnitComboBox.Field then
- begin
- Editor := RxUnitComboBox;
- Editor.BoundsRect := RxDBGrid_AddItems.SelectedFieldRect;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.RxDBGrid_CreateBOMColumnSized(Sender: TObject);
- begin
- WriteGridColSizes;
- end;
- procedure TForm_Neo.RxDBGrid_CreateBOMKeyUp(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- begin
- try
- if (Shift = [ssCtrl]) and (Key = VK_1) then
- begin
- PageCon_Main.PageIndex:= 0;
- PageCon_Child.PageIndex:= 0;
- PageCon_Top.PageIndex:= 0;
- RxDBGrid_AddCustomers.SetFocus;
- end;
- if (Shift = [ssCtrl]) and (Key = VK_2) then
- begin
- PageCon_Main.PageIndex:= 1;
- PageCon_Child.PageIndex:= 1;
- PageCon_Top.PageIndex:= 1;
- DBNavigator_AddItems.Left := HomeTree.Width+2;
- RxDBGrid_AddItems.SetFocus;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.RxDBGrid_ShowInventoryColumnSized(Sender: TObject);
- begin
- WriteGridColSizes;
- end;
- procedure TForm_Neo.RxDBGrid_ShowInventoryDblClick(Sender: TObject);
- begin
- ShowMessage('Add to BOM');
- end;
- procedure TForm_Neo.RxDBGrid_ShowInventoryKeyDown(Sender: TObject;
- var Key: Word; Shift: TShiftState);
- begin
- if key = VK_RETURN then ShowMessage('Return key');
- end;
- procedure TForm_Neo.RxDBGrid_ShowInventoryKeyUp(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- begin
- try
- if (Shift = [ssCtrl]) and (Key = VK_R) then
- begin
- SelectInventoryForBOM;
- ReadGridColSizes;
- end;
- if (Shift = [ssCtrl]) and (Key = VK_1) then
- begin
- PageCon_Main.PageIndex:= 0;
- PageCon_Child.PageIndex:= 0;
- PageCon_Top.PageIndex:= 0;
- RxDBGrid_AddCustomers.SetFocus;
- end;
- if (Shift = [ssCtrl]) and (Key = VK_2) then
- begin
- PageCon_Main.PageIndex:= 1;
- PageCon_Child.PageIndex:= 1;
- PageCon_Top.PageIndex:= 1;
- DBNavigator_AddItems.Left := HomeTree.Width+2;
- RxDBGrid_AddItems.SetFocus;
- end;
- if Key = VK_RETURN then
- AddInventoryItemToBOM;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.RxUnitComboBoxKeyPress(Sender: TObject; var Key: char);
- begin
- if (key = #9) or (key = #13) then
- try
- if RxDBGrid_AddItems.SelectedIndex + 1 < RxDBGrid_AddItems.Columns.Count then
- RxDBGrid_AddItems.SelectedIndex := RxDBGrid_AddItems.SelectedIndex + 1;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.Timer1Timer(Sender: TObject);
- begin
- StatusBar1.Panels[2].Text := FormatDateTime('DDDD dd MMMM YYYY HH:MM:SS', Now) + ' ';
- end;
- procedure TForm_Neo.ToggleBox_AddCustomersAutoWildcardClick(Sender: TObject);
- begin
- try
- if ToggleBox_AddCustomersAutoWildcard.Caption = 'On' then
- begin
- ToggleBox_AddCustomersAutoWildcard.Caption := 'Off';
- ToggleBox_AddCustomersAutoWildcard.Checked := False;
- end
- else
- begin
- ToggleBox_AddCustomersAutoWildcard.Caption := 'On';
- ToggleBox_AddCustomersAutoWildcard.Checked := True;
- end;
- Edit_AddCustomersSearch.SetFocus;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.ToggleBox_AddCustomersAutoWildcardEnter(Sender: TObject);
- begin
- StatusBar1.Panels[1].Text := 'AutoWildcard Toggle';
- end;
- procedure TForm_Neo.ToggleBox_AddCustomersAutoWildcardExit(Sender: TObject);
- begin
- StatusBar1.Panels[1].Text := '';
- end;
- procedure TForm_Neo.ToggleBox_AddItemsAutoWildcardClick(Sender: TObject);
- begin
- try
- if ToggleBox_AddItemsAutoWildcard.Caption = 'On' then
- begin
- ToggleBox_AddItemsAutoWildcard.Caption := 'Off';
- ToggleBox_AddItemsAutoWildcard.Checked := False;
- end
- else
- begin
- ToggleBox_AddItemsAutoWildcard.Caption := 'On';
- ToggleBox_AddItemsAutoWildcard.Checked := True;
- end;
- Edit_AddItemsSearch.SetFocus;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.ToggleBox_ShowInventoryAutoWildcardClick(Sender: TObject);
- begin
- try
- if ToggleBox_ShowInventoryAutoWildcard.Caption = 'On' then
- begin
- ToggleBox_ShowInventoryAutoWildcard.Caption := 'Off';
- ToggleBox_ShowInventoryAutoWildcard.Checked := False;
- end
- else
- begin
- ToggleBox_ShowInventoryAutoWildcard.Caption := 'On';
- ToggleBox_ShowInventoryAutoWildcard.Checked := True;
- end;
- Edit_BOMShowInventorySearch.SetFocus;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.TreeView_ChildAddCustomersEnter(Sender: TObject);
- begin
- StatusBar1.Panels[1].Text := 'Add Customers ChildTree';
- end;
- procedure TForm_Neo.TreeView_ChildAddCustomersExit(Sender: TObject);
- begin
- StatusBar1.Panels[1].Text := '';
- end;
- procedure TForm_Neo.ReadGridAltColors;
- var
- ini: TCustomIniFile;
- C,D,E,F: TStrings;
- defaultColor : Integer;
- begin
- try
- defaultColor := clWhite;
- ini := TMemIniFile.Create(ChangeFileExt(Application.ExeName, '.ini'));
- try
- C := TStringList.Create;
- D := TStringList.Create;
- E := TStringList.Create;
- F := TStringList.Create;
- try
- ini.ReadSection('GridColors', C);
- RxDBGrid_AddCustomers.AlternateColor := ini.ReadInteger('GridColors', 'AddCustomersAltColor', RxDBGrid_AddCustomers.AlternateColor);
- if RxDBGrid_AddCustomers.AlternateColor = defaultColor then
- begin
- MenuItem_AddCustomersGridColorOff.Checked := True;
- MenuItem_AddCustomersGridColorOn.Checked := False;
- end
- else
- begin
- MenuItem_AddCustomersGridColorOff.Checked := False;
- MenuItem_AddCustomersGridColorOn.Checked := True;
- end;
- ini.ReadSection('GridColors', D);
- RxDBGrid_AddItems.AlternateColor := ini.ReadInteger('GridColors', 'AddItemsAltColor', RxDBGrid_AddItems.AlternateColor);
- if RxDBGrid_AddItems.AlternateColor = defaultColor then
- begin
- MenuItem_AddItemsGridColorOff.Checked := True;
- MenuItem_AddItemsGridColorOn.Checked := False;
- end
- else
- begin
- MenuItem_AddItemsGridColorOff.Checked := False;
- MenuItem_AddItemsGridColorOn.Checked := True;
- end;
- ini.ReadSection('GridColors', E);
- RxDBGrid_CreateBOM.AlternateColor := ini.ReadInteger('GridColors', 'CreateBOMAltColor', RxDBGrid_CreateBOM.AlternateColor);
- if RxDBGrid_CreateBOM.AlternateColor = defaultColor then
- begin
- MenuItem_CreateBOMGridColorOff.Checked := True;
- MenuItem_CreateBOMGridColorOn.Checked := False;
- end
- else
- begin
- MenuItem_CreateBOMGridColorOff.Checked := False;
- MenuItem_CreateBOMGridColorOn.Checked := True;
- end;
- ini.ReadSection('GridColors', F);
- RxDBGrid_ShowInventory.AlternateColor := ini.ReadInteger('GridColors', 'ShowInventoryAltColor', RxDBGrid_ShowInventory.AlternateColor);
- if RxDBGrid_ShowInventory.AlternateColor = defaultColor then
- begin
- MenuItem_ShowInventoryGridColorOff.Checked := True;
- MenuItem_ShowInventoryGridColorOn.Checked := False;
- end
- else
- begin
- MenuItem_ShowInventoryGridColorOff.Checked := False;
- MenuItem_ShowInventoryGridColorOn.Checked := True;
- end;
- finally
- C.Free;
- D.Free;
- E.Free;
- F.Free;
- end;
- finally
- ini.Free;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- // CHECK FOR VALID EMAIL ADDRESSES AS SOON AS THE USER LEAVES THE CELLS
- procedure TForm_Neo.RxDBGrid_AddCustomersColExit(Sender: TObject);
- var
- a : String;
- begin
- try
- if RxDBGrid_AddCustomers.SelectedField = DM1.ZQ_AddCustomers.FieldByName('cust_email1') then
- begin
- a:= DM1.ZQ_AddCustomers.FieldByName('cust_email1').AsString;
- if a = '' then exit;
- if (pos('@',a) = 0) or (pos('.',a) = 0) or (pos(',',a) <> 0) then
- MessageDlg('Warning', a + ' does not appear to be a valid email address.', mtWarning,[mbOK],0);
- end;
- if RxDBGrid_AddCustomers.SelectedField = DM1.ZQ_AddCustomers.FieldByName('cust_email2') then
- begin
- a:= DM1.ZQ_AddCustomers.FieldByName('cust_email2').AsString;
- if a = '' then exit;
- if (pos('@',a) = 0) or (pos('.',a) = 0) or (pos(',',a) <> 0) then
- MessageDlg('Warning', a + ' does not appear to be a valid email address.', mtWarning,[mbOK],0);
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.WriteGridColSizes;
- var
- ini: TCustomIniFile;
- i: Integer;
- begin
- try
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- for i:=0 to RxDBGrid_AddCustomers.Columns.Count-1 do
- ini.WriteInteger('ColWidthsAddCust', 'Col' + IntToStr(i), RxDBGrid_AddCustomers.Columns[i].Width);
- for i:=0 to RxDBGrid_AddItems.Columns.Count-1 do
- ini.WriteInteger('ColWidthsAddItems', 'Col' + IntToStr(i), RxDBGrid_AddItems.Columns[i].Width);
- for i:=0 to RxDBGrid_ShowInventory.Columns.Count-1 do
- ini.WriteInteger('ColWidthsShowInventory', 'Col' + IntToStr(i), RxDBGrid_ShowInventory.Columns[i].Width);
- for i:=0 to RxDBGrid_CreateBOM.Columns.Count-1 do
- ini.WriteInteger('ColWidthsRxDBGrid_CreateBOM', 'Col' + IntToStr(i), RxDBGrid_CreateBOM.Columns[i].Width);
- finally
- ini.Free;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.ReadGridColSizes;
- var
- ini: TCustomIniFile;
- A,B,C: TStrings;
- i: Integer;
- begin
- try
- ini := TMemIniFile.Create(ChangeFileExt(Application.ExeName, '.ini'));
- A := TStringList.Create;
- B := TStringList.Create;
- C := TStringList.Create;
- try
- ini.ReadSection('ColWidthsAddCust', A);
- //if not DM1.DS_AddCustomers.DataSet.IsEmpty then
- // begin
- for i := 0 to A.Count-1 do
- RxDBGrid_AddCustomers.Columns[i].Width := ini.ReadInteger('ColWidthsAddCust', A[i], RxDBGrid_AddCustomers.Columns[i].Width);
- // end;
- ini.ReadSection('ColWidthsAddItems', B);
- //if not DM1.DS_AddItems.DataSet.IsEmpty then
- // begin
- for i := 0 to B.Count-1 do
- RxDBGrid_AddItems.Columns[i].Width := ini.ReadInteger('ColWidthsAddItems', B[i], RxDBGrid_AddItems.Columns[i].Width);
- //end;
- ini.ReadSection('ColWidthsShowInventory', C);
- //if not DM1.DS_ReadInventory.DataSet.IsEmpty then
- // begin
- for i := 0 to C.Count-1 do
- RxDBGrid_ShowInventory.Columns[i].Width := ini.ReadInteger('ColWidthsShowInventory', C[i], RxDBGrid_ShowInventory.Columns[i].Width);
- //end;
- finally
- ini.Free;
- A.Free;
- B.Free;
- C.Free;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- {------------------------------------------------------------------------------
- WHEN THE PROGRAM FIRST LOADS, THIS PROCEDURE IS CALLED. IT SETS THE DISPLAY,
- PUTTING THE SPLITTERS BACK WHERE THE USER LAST HAD THEM. AND AS SEEN BELOW,
- IT WILL ALSO SETUP THE SEARCH COMPONENTS ON THE FIRST PAGE DISPLAYED: ADD
- CUSTOMER PAGE.
- ------------------------------------------------------------------------------}
- procedure TForm_Neo.ReadSplitterINI;
- var
- ini: TCustomIniFile;
- B,C,D: TStrings;
- i : Integer;
- loc : LongInt;
- begin
- ini := TMemIniFile.Create(ChangeFileExt(Application.ExeName, '.ini'));
- try
- B := TStringList.Create;
- C := TStringList.Create;
- D := TStringList.Create;
- try
- ini.ReadSection('CreateBOMGrid', B);
- RxDBGrid_CreateBOM.Height:= ini.ReadInteger('CreateBOMGrid', 'HeightCeateBOMGrid', RxDBGrid_CreateBOM.Height);
- ini.ReadSection('TreeViewWidth', C);
- HomeTree.Width:= ini.ReadInteger('TreeViewWidth', 'WidthHomeTree', HomeTree.Width);
- ini.ReadSection('TreeViewWidth', D);
- PageCon_Child.Width:= ini.ReadInteger('TreeViewWidth', 'WidthChildPageCon', PageCon_Child.Width);
- finally
- ini.Free;
- B.Free;
- C.Free;
- D.Free;
- // HERE WE INITIALLY SET THE SAERCH BOXES/BUTTON FOR THE ADD CUSTOMER PAGE,
- // SINCE IT'S THE FIRST PAGE TO BE SHOWN. AFTER THIS, EACH TIME THE USER
- // CHANGES THE PAGE VIA HOMETREECHANGE, ALL SEARCH BOXES/BUTTONS WILL BE UPDATED
- // AND BE PROPERLY DISPLAYED.
- i := (Form_Neo.Width - PageCon_Child.Width)-(ComboBox_AddCustomersFilters.Width + 32);
- ComboBox_AddCustomersFilters.Left := i;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.SelectCustomers;
- begin
- try
- try
- with DM1 do
- begin
- ZQ_AddCustomers.Close;
- ZQ_AddCustomers.SQL.Text := 'SELECT * FROM customers';
- ZQ_AddCustomers.Open;
- end;
- finally
- SetDBGridTitlesCustomers;
- RxDBGrid_AddCustomers.FixedCols := 0;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.SelectItems;
- begin
- try
- try
- with DM1 do
- begin
- ZQ_AddItems.Close;
- ZQ_AddItems.SQL.Text := 'SELECT * FROM inventory';
- ZQ_AddItems.Open;
- end;
- finally
- SetDBGridTitlesAddItems;
- SetAddItemsGridFloats;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.SelectInventoryForBOM;
- begin
- try
- try
- with DM1 do
- begin
- ZQ_ReadInventory.Close;
- ZQ_ReadInventory.SQL.Text := 'SELECT * FROM inventory';
- ZQ_ReadInventory.Open;
- end;
- finally
- SetDBGridTitlesShowInventory;
- SetShowInventoryGridFloats;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.ReloadDBComboBox;
- begin
- try
- try
- RxUnitComboBox.Clear;
- DM1.ZQ_UnitComboBox.Close;
- DM1.ZQ_UnitComboBox.SQL.Text := 'SELECT DISTINCT inventory_unit FROM inventory';
- DM1.ZQ_UnitComboBox.Open;
- DM1.ZQ_UnitComboBox.First;
- while not DM1.ZQ_UnitComboBox.EOF do
- begin
- if DM1.ZQ_UnitComboBox.FieldByName('inventory_unit').AsString <> '' then
- RxUnitComboBox.Items.Add(DM1.ZQ_UnitComboBox.FieldByName('inventory_unit').DisplayText);
- DM1.ZQ_UnitComboBox.Next;
- end;
- finally
- RxUnitComboBox.Sorted := True;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.SetDBGridTitlesCustomers;
- begin
- try
- with RxDBGrid_AddCustomers do
- begin
- Columns[0].Visible:= False;
- Columns[1].Title.Caption:= 'First Name';
- Columns[2].Title.Caption:= 'Last Name';
- Columns[3].Title.Caption:= 'Company';
- Columns[4].Title.Caption:= 'Phys Address';
- Columns[5].Title.Caption:= 'Phys City';
- Columns[6].Title.Caption:= 'Phys Sate';
- Columns[7].Title.Caption:= 'Phys Zip Code';
- Columns[8].Title.Caption:= 'Billing Address';
- Columns[9].Title.Caption:= 'Billing City';
- Columns[10].Title.Caption:= 'Billing State';
- Columns[11].Title.Caption:= 'Billing Zip Code';
- Columns[12].Title.Caption:= 'E-mail 1';
- Columns[13].Title.Caption:= 'E-mail 2';
- Columns[14].Title.Caption:= 'Work Number';
- Columns[15].Title.Caption:= 'Cell Number';
- Columns[16].Title.Caption:= 'Notes';
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.SetDBGridTitlesAddItems;
- begin
- try
- with RxDBGrid_AddItems do
- begin
- Columns[0].Visible:= False;
- Columns[1].Title.Caption:= 'Item #';
- columns[2].Title.Caption:= 'Description';
- columns[3].Title.Caption:= 'Unit';
- columns[4].Title.Caption:= 'Cost';
- columns[5].Title.Caption:= 'Sell Price';
- columns[6].Title.Caption:= 'MC %';
- columns[7].Title.Caption:= 'Weight';
- columns[8].Title.Caption:= 'In Stock';
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.SetDBGridTitlesShowInventory;
- begin
- try
- with RxDBGrid_ShowInventory do
- begin
- Columns[0].Visible:= False;
- Columns[1].Title.Caption:= 'Item #';
- columns[2].Title.Caption:= 'Description';
- columns[3].Title.Caption:= 'Unit';
- columns[4].Title.Caption:= 'Cost';
- columns[5].Title.Caption:= 'Sell Price';
- columns[6].Title.Caption:= 'MC %';
- columns[7].Title.Caption:= 'Weight';
- columns[8].Title.Caption:= 'In Stock';
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.ZQ_AddCustomersAfterDelete(DataSet: TDataSet);
- begin
- DM1.ZQ_AddCustomers.ApplyUpdates;
- end;
- procedure TForm_Neo.ZQ_AddCustomersAfterPost(DataSet: TDataSet);
- begin
- DM1.ZQ_AddCustomers.ApplyUpdates;
- end;
- procedure TForm_Neo.ZQ_AddCustomersBeforePost(DataSet: TDataSet);
- var
- s: String;
- begin
- try
- s:= DM1.ZQ_AddCustomers.FieldByName('cust_fname').AsString;
- DM1.ZQ_AddCustomers.FieldByName('cust_fname').AsString:= Trim(s);
- s:= DM1.ZQ_AddCustomers.FieldByName('cust_lname').AsString;
- DM1.ZQ_AddCustomers.FieldByName('cust_lname').AsString:= Trim(s);
- s:= DM1.ZQ_AddCustomers.FieldByName('cust_company').AsString;
- DM1.ZQ_AddCustomers.FieldByName('cust_company').AsString:= Trim(s);
- s:= DM1.ZQ_AddCustomers.FieldByName('cust_email1').AsString;
- DM1.ZQ_AddCustomers.FieldByName('cust_email1').AsString:= Trim(s);
- s:= DM1.ZQ_AddCustomers.FieldByName('cust_email2').AsString;
- DM1.ZQ_AddCustomers.FieldByName('cust_email2').AsString:= Trim(s);
- s:= DM1.ZQ_AddCustomers.FieldByName('cust_worknumber').AsString;
- DM1.ZQ_AddCustomers.FieldByName('cust_worknumber').AsString:= Trim(s);
- s:= DM1.ZQ_AddCustomers.FieldByName('cust_cellnumber').AsString;
- DM1.ZQ_AddCustomers.FieldByName('cust_cellnumber').AsString:= Trim(s);
- VerifyCustPhoneNumbers;
- //VerifyCustEmails;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.ZQ_AddItemsAfterApplyUpdates(Sender: TObject);
- begin
- SetAddItemsGridFloats;
- ReloadDBComboBox;
- end;
- procedure TForm_Neo.ZQ_AddItemsAfterDelete(DataSet: TDataSet);
- begin
- DM1.ZQ_AddItems.ApplyUpdates;
- end;
- procedure TForm_Neo.ZQ_AddItemsAfterPost(DataSet: TDataSet);
- begin
- DM1.ZQ_AddItems.ApplyUpdates;
- SetAddItemsGridFloats;
- SetDBGridTitlesAddItems;
- ReloadDBComboBox;
- ReadGridColSizes;
- end;
- procedure TForm_Neo.ZQ_AddItemsBeforePost(DataSet: TDataSet);
- var
- s: String;
- a, b, c: Double;
- begin
- try
- if (DM1.ZQ_AddItems.FieldByName('inventory_cost').AsString = '') or
- (DM1.ZQ_AddItems.FieldByName('inventory_sell_price').AsString = '') then
- Exit;
- a := DM1.ZQ_AddItems.FieldByName('inventory_cost').AsFloat;
- b := DM1.ZQ_AddItems.FieldByName('inventory_sell_price').AsFloat;
- c := ((b - a) / a) * 100;
- s:= DM1.ZQ_AddItems.FieldByName('inventory_item_number').AsString;
- DM1.ZQ_AddItems.FieldByName('inventory_item_number').AsString:= Trim(s);
- s:= DM1.ZQ_AddItems.FieldByName('inventory_description').AsString;
- DM1.ZQ_AddItems.FieldByName('inventory_description').AsString:= Trim(s);
- s:= DM1.ZQ_AddItems.FieldByName('inventory_unit').AsString;
- DM1.ZQ_AddItems.FieldByName('inventory_unit').AsString:= Trim(s);
- s:= DM1.ZQ_AddItems.FieldByName('inventory_cost').AsString;
- DM1.ZQ_AddItems.FieldByName('inventory_cost').AsString:= Trim(s);
- s:= DM1.ZQ_AddItems.FieldByName('inventory_sell_price').AsString;
- DM1.ZQ_AddItems.FieldByName('inventory_sell_price').AsString:= Trim(s);
- DM1.ZQ_AddItems.FieldByName('inventory_margin_contribution').AsFloat := c;
- s:= DM1.ZQ_AddItems.FieldByName('inventory_weight').AsString;
- DM1.ZQ_AddItems.FieldByName('inventory_weight').AsString:= Trim(s);
- s:= DM1.ZQ_AddItems.FieldByName('inventory_in_stock').AsString;
- DM1.ZQ_AddItems.FieldByName('inventory_in_stock').AsString:= Trim(s);
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.VerifyCustPhoneNumbers;
- var
- s, t, u, f: String;
- begin
- try
- if DM1.ZQ_AddCustomers.FieldByName('cust_worknumber').AsString <> '' then
- begin
- f:= DM1.ZQ_AddCustomers.FieldByName('cust_worknumber').AsString;
- if pos('-',f) = 0 then
- begin
- s:= Copy(f,1,3);
- s:= s +'-';
- t:= Copy(f,4,3);
- t:= t + '-';
- u:= s + t + Copy(f,7,4);
- DM1.ZQ_AddCustomers.FieldByName('cust_worknumber').AsString := u;
- end;
- end;
- if DM1.ZQ_AddCustomers.FieldByName('cust_cellnumber').AsString <> '' then
- begin
- f:= DM1.ZQ_AddCustomers.FieldByName('cust_cellnumber').AsString;
- if pos('-',f) = 0 then
- begin
- s:= Copy(f,1,3);
- s:= s +'-';
- t:= Copy(f,4,3);
- t:= t + '-';
- u:= s + t + Copy(f,7,4);
- DM1.ZQ_AddCustomers.FieldByName('cust_cellnumber').AsString := u;
- end;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.VerifyCustEmails;
- var
- a: String;
- begin
- try
- if DM1.ZQ_AddCustomers.FieldByName('cust_email1').AsString <> '' then
- begin
- a:= DM1.ZQ_AddCustomers.FieldByName('cust_email1').AsString;
- if (pos('@',a) = 0) or (pos('.',a) = 0) then
- MessageDlg('Error', 'Email 1 is not a valid email address.', mtError,[mbOK],0);
- end;
- if DM1.ZQ_AddCustomers.FieldByName('cust_email2').AsString <> '' then
- begin
- a:= DM1.ZQ_AddCustomers.FieldByName('cust_email2').AsString;
- if (pos('@',a) = 0) or (pos('.',a) = 0) then
- MessageDlg('Error', 'Email 2 is not a valid email address.', mtError,[mbOK],0);
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.SetAddItemsGridFloats;
- begin
- try
- TFloatField(DM1.ZQ_AddItems.FieldByName('inventory_cost')).DisplayFormat := '####0.00';
- TFloatField(DM1.ZQ_AddItems.FieldByName('inventory_sell_price')).DisplayFormat := '####0.00';
- TFloatField(DM1.ZQ_AddItems.FieldByName('inventory_margin_contribution')).DisplayFormat := '####0.00';
- TFloatField(DM1.ZQ_AddItems.FieldByName('inventory_weight')).DisplayFormat := '####0.00';
- TFloatField(DM1.ZQ_AddItems.FieldByName('inventory_in_stock')).DisplayFormat := '####0.00';
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.SetShowInventoryGridFloats;
- begin
- try
- TFloatField(DM1.ZQ_ReadInventory.FieldByName('inventory_cost')).DisplayFormat := '####0.00';
- TFloatField(DM1.ZQ_ReadInventory.FieldByName('inventory_sell_price')).DisplayFormat := '####0.00';
- TFloatField(DM1.ZQ_ReadInventory.FieldByName('inventory_margin_contribution')).DisplayFormat := '####0.00';
- TFloatField(DM1.ZQ_ReadInventory.FieldByName('inventory_weight')).DisplayFormat := '####0.00';
- TFloatField(DM1.ZQ_ReadInventory.FieldByName('inventory_in_stock')).DisplayFormat := '####0.00';
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.ReadPanelColors;
- var
- ini: TCustomIniFile;
- A,B,C,D,E,F,G: TStrings;
- defaultColor : Integer;
- begin
- try
- defaultColor := clWhite;
- ini := TMemIniFile.Create(ChangeFileExt(Application.ExeName, '.ini'));
- A := TStringList.Create;
- B := TStringList.Create;
- C := TStringList.Create;
- D := TStringList.Create;
- E := TStringList.Create;
- F := TStringList.Create;
- G := TStringList.Create;
- try
- ini.ReadSection('HomeTreeColor', A);
- HomeTree.Color := ini.ReadInteger('HomeTreeColor', 'Color', HomeTree.Color);
- if HomeTree.Color = defaultColor then
- begin
- MenuItemHomeTreeColorOff.Checked := True;
- MenuItemHomeTreeColorOn.Checked := False;
- end
- else
- begin
- MenuItemHomeTreeColorOff.Checked := False;
- MenuItemHomeTreeColorOn.Checked := True;
- end;
- ini.ReadSection('TreeView_ChildAddCustomers', B);
- TreeView_ChildAddCustomers.Color := ini.ReadInteger('TreeView_ChildAddCustomers', 'Color', TreeView_ChildAddCustomers.Color);
- if TreeView_ChildAddCustomers.Color = defaultColor then
- begin
- MenuItem_ChildAddCustomerColorOff.Checked := True;
- MenuItem_ChildAddCustomerColorOn.Checked := False;
- end
- else
- begin
- MenuItem_ChildAddCustomerColorOff.Checked := False;
- MenuItem_ChildAddCustomerColorOn.Checked := True;
- end;
- ini.ReadSection('TreeView_ChildAddItems', C);
- TreeView_ChildAddItems.Color := ini.ReadInteger('TreeView_ChildAddItems', 'Color', TreeView_ChildAddItems.Color);
- if TreeView_ChildAddCustomers.Color = defaultColor then
- begin
- MenuItem_ChildAddItemsColorOff.Checked := True;
- MenuItem_ChildAddItemsColorOn.Checked := False;
- end
- else
- begin
- MenuItem_ChildAddItemsColorOff.Checked := False;
- MenuItem_ChildAddItemsColorOn.Checked := True;
- end;
- ini.ReadSection('TreeView_ChildCreateBOM', D);
- TreeView_ChildCreateBOM.Color := ini.ReadInteger('TreeView_ChildCreateBOM', 'Color', TreeView_ChildCreateBOM.Color);
- if TreeView_ChildCreateBOM.Color = defaultColor then
- begin
- MenuItem_ChildCreateBOMColorOff.Checked := True;
- MenuItem_ChildCreateBOMColorOn.Checked := False;
- end
- else
- begin
- MenuItem_ChildCreateBOMColorOff.Checked := False;
- MenuItem_ChildCreateBOMColorOn.Checked := True;
- end;
- ini.ReadSection('TopPanels', E);
- TopPanelAddCustomers.Color := ini.ReadInteger('TopPanels', 'AddCustomersColor', TopPanelAddCustomers.Color);
- DBNavigator_AddCustomers.Color := TopPanelAddCustomers.Color;
- if TopPanelAddCustomers.Color = defaultColor then
- begin
- MenuItem_TopPanelAddCustomerColorOff.Checked := True;
- MenuItem_TopPanelAddCustomerColorOn.Checked := False;
- end
- else
- begin
- MenuItem_TopPanelAddCustomerColorOff.Checked := False;
- MenuItem_TopPanelAddCustomerColorOn.Checked := True;
- end;
- ini.ReadSection('TopPanels', F);
- TopPanelAddItems.Color := ini.ReadInteger('TopPanels', 'AddItemsColor', TopPanelAddItems.Color);
- DBNavigator_AddItems.Color := TopPanelAddItems.Color;
- if TopPanelAddItems.Color = defaultColor then
- begin
- MenuItem_TopPanelAddItemsColorOff.Checked := True;
- MenuItem_TopPanelAddItemsColorOn.Checked := False;
- end
- else
- begin
- MenuItem_TopPanelAddItemsColorOff.Checked := False;
- MenuItem_TopPanelAddItemsColorOn.Checked := True;
- end;
- ini.ReadSection('TopPanels', G);
- TopPanelCreateBOM.Color := ini.ReadInteger('TopPanels', 'CreateBOMColor', TopPanelCreateBOM.Color);
- Panel_BOMBottomInventory.Color := TopPanelCreateBOM.Color;
- if TopPanelCreateBOM.Color = defaultColor then
- begin
- MenuItem_TopPanelCreateBOMColorOff.Checked := True;
- MenuItem_TopPanelCreateBOMColorOn.Checked := False;
- end
- else
- begin
- MenuItem_TopPanelCreateBOMColorOff.Checked := False;
- MenuItem_TopPanelCreateBOMColorOn.Checked := True;
- end;
- finally
- ini.Free;
- A.Free;
- B.Free;
- C.Free;
- D.Free;
- E.Free;
- F.Free;
- G.Free;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.ReadGridRowHeight;
- var
- ini: TCustomIniFile;
- A: TStrings;
- begin
- try
- ini := TMemIniFile.Create(ChangeFileExt(Application.ExeName, '.ini'));
- try
- A := TStringList.Create;
- ini.ReadSection('GridRowHeight', A);
- RxDBGrid_AddCustomers.DefaultRowHeight := ini.ReadInteger
- ('GridRowHeight', 'Height',
- RxDBGrid_AddCustomers.DefaultRowHeight);
- RxDBGrid_AddItems.DefaultRowHeight := RxDBGrid_AddCustomers.DefaultRowHeight;
- RxDBGrid_CreateBOM.DefaultRowHeight := RxDBGrid_AddCustomers.DefaultRowHeight;
- RxDBGrid_ShowInventory.DefaultRowHeight := RxDBGrid_AddCustomers.DefaultRowHeight;
- finally
- A.Free;
- ini.Free;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.ReadHints;
- var
- ini : TCustomIniFile;
- A : TStrings;
- checked : BOOL;
- begin
- try
- ini := TMemIniFile.Create(ChangeFileext(Application.ExeName, '.ini'));
- try
- A := TStringList.Create;
- ini.ReadSection('ShowHints', A);
- checked := ini.ReadBool('ShowHints', 'On', checked);
- if checked = True then
- begin
- MenuItem_ShowHintsOn.Checked := True;
- MenuItem_ShowHintsOff.Checked := False;
- ToggleBox_AddCustomersAutoWildcard.ShowHint := True;
- ToggleBox_AddItemsAutoWildcard.ShowHint := True;
- end;
- if checked = False then
- begin
- MenuItem_ShowHintsOn.Checked := False;
- MenuItem_ShowHintsOff.Checked := True;
- ToggleBox_AddCustomersAutoWildcard.ShowHint := False;
- ToggleBox_AddItemsAutoWildcard.ShowHint := False;
- end;
- finally
- ini.Free;
- A.Free;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- procedure TForm_Neo.AddInventoryItemToBOM;
- var
- id : Integer;
- begin
- id:= DM1.ZQ_ReadInventory.Fields[0].AsInteger;
- ShowMessage(IntToStr(id));
- end;
- procedure TForm_Neo.AddCustomer;
- begin
- //Form_AddCustomer.ShowModal;
- end;
- procedure TForm_Neo.ShowCustomerNote;
- begin
- try
- Form_ViewCustomerNote:= TForm_ViewCustomerNote.Create(Self);
- try
- Form_ViewCustomerNote.ShowModal;
- finally
- Form_ViewCustomerNote.Release;
- Form_ViewCustomerNote:= Nil;
- end;
- except
- On e: Exception do
- MessageDlg('Error' + e.Message, mtError,[mbOK],0);
- end;
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement