MgrPkgGenDBMain.pas 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. unit MgrPkgGenDBMain;
  2. interface
  3. uses
  4. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5. Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, ActnList, ImgList, Menus,
  6. StdActns, DBActns, XPMan;
  7. type
  8. TfrmPkgMain = class(TForm)
  9. dbgrdMain: TDBGrid;
  10. mmuMain: TMainMenu;
  11. imglstMain: TImageList;
  12. actlstMain: TActionList;
  13. FileExit1: TFileExit;
  14. File1: TMenuItem;
  15. Exit1: TMenuItem;
  16. Entries1: TMenuItem;
  17. N1: TMenuItem;
  18. actDBEdit: TAction;
  19. actEdtAdd: TAction;
  20. AddRecord1: TMenuItem;
  21. EditRecord1: TMenuItem;
  22. ppmnuGrid: TPopupMenu;
  23. N2: TMenuItem;
  24. N3: TMenuItem;
  25. XPManifest1: TXPManifest;
  26. DataSetFirst1: TDataSetFirst;
  27. DataSetPrior1: TDataSetPrior;
  28. DataSetNext1: TDataSetNext;
  29. First1: TMenuItem;
  30. DataSetLast1: TDataSetLast;
  31. Prior1: TMenuItem;
  32. Next1: TMenuItem;
  33. Last1: TMenuItem;
  34. DataSetDelete1: TDataSetDelete;
  35. Delete1: TMenuItem;
  36. EditRecord2: TMenuItem;
  37. Delete2: TMenuItem;
  38. procedure actEdtAddExecute(Sender: TObject);
  39. procedure actDBEditExecute(Sender: TObject);
  40. procedure FormCreate(Sender: TObject);
  41. private
  42. { Private declarations }
  43. protected
  44. procedure OnBeforeRecordDelete(DataSet: TDataSet);
  45. public
  46. { Public declarations }
  47. end;
  48. var
  49. frmPkgMain: TfrmPkgMain;
  50. implementation
  51. uses DModule, MgrPkgGenMgrDModDS, MgrPkgGenDBEntryEdit;
  52. {$R *.dfm}
  53. procedure TfrmPkgMain.FormCreate(Sender: TObject);
  54. begin
  55. DM.tablFile.BeforeDelete := OnBeforeRecordDelete;
  56. Self.Caption := Self.Caption + ' - [' + DM.tablFile.DatabaseName + ']';
  57. Application.Title := Self.Caption;
  58. // DM.tablFile.TableName := 'File.DB';
  59. DM.tablFile.Exclusive := True;
  60. DM.tablFile.Active := True;
  61. end;
  62. procedure TfrmPkgMain.actDBEditExecute(Sender: TObject);
  63. var LFrm : TfrmDBEntry;
  64. begin
  65. DM.tablFile.Edit;
  66. try
  67. LFrm := TfrmDBEntry.Create(Application);
  68. try
  69. if LFrm.ShowModal = mrOk then
  70. begin
  71. DM.tablFile.Post;
  72. end
  73. else
  74. begin
  75. DM.tablFile.Cancel;
  76. end;
  77. finally
  78. FreeAndNil(LFrm);
  79. end;
  80. except
  81. on E : Exception do
  82. begin
  83. DM.tablFile.Cancel;
  84. Application.MessageBox(PChar('Error "'+ E.Message +'"?'),
  85. PChar('Error'),MB_OK);
  86. end;
  87. end;
  88. end;
  89. procedure TfrmPkgMain.actEdtAddExecute(Sender: TObject);
  90. var LFrm : TfrmDBEntry;
  91. begin
  92. DM.tablFile.Insert;
  93. try
  94. LFrm := TfrmDBEntry.Create(Application);
  95. try
  96. if LFrm.ShowModal = mrOk then
  97. begin
  98. DM.tablFile.Post;
  99. end
  100. else
  101. begin
  102. DM.tablFile.Cancel;
  103. end;
  104. finally
  105. FreeAndNil(LFrm);
  106. end;
  107. except
  108. on E : Exception do
  109. begin
  110. DM.tablFile.Cancel;
  111. Application.MessageBox(PChar('Error "'+ E.Message +'"?'),
  112. PChar('Error'),MB_OK);
  113. end;
  114. end;
  115. end;
  116. procedure TfrmPkgMain.OnBeforeRecordDelete(DataSet: TDataSet);
  117. begin
  118. if Application.MessageBox(PChar('Delete "'+DM.tablFileFileName.Text+'"?'),
  119. PChar('Warning'),MB_YESNO)=IDNO then
  120. begin
  121. Abort;
  122. end;
  123. end;
  124. end.