Этап машинного проектирования
Этап машинного проектирования включает в себя разработку пользовательского интерфейса, при помощи которого пользователь взаимодействует с программой: вводит запрашиваемые данные, загружает и сохраняет рабочие файлы, выполняет интересующие запросы и т.д. На данном этапе выполняется описание структуры таблиц с указанием имен, типов, размерностей полей, входящих в состав БД. Для выполнения работы выбираем реляционную модель данных и СУБД My SQL, т.к. она наиболее близко отражает внутреннюю модель данных, удовлетворяет пользователей базы данных с точки зрения технических характеристик, а также обладает широкими возможностями при проектировании удаленных клиентских приложений. ЗАКЛЮЧЕНИЕ
В данной курсовой работе были рассмотрены аспекты создания распределенных баз данных на примере Systrm R*. Рассмотрена структура распределенных БД, требования к распределенным БД. Направление интегрированных или федеративных систем неоднородных БД и мульти-БД появилось в связи с необходимостью комплексирования систем БД, основанных на разных моделях данных и управляемых разными СУБД. Основной задачей интеграции неоднородных БД является предоставление пользователям интегрированной системы глобальной схемы БД, представленной в некоторой модели данных, и автоматическое преобразование операторов манипулирования БД глобального уровня в операторы, понятные соответствующим локальным СУБД. В теоретическом плане проблемы преобразования решены, имеются реализации. При строгой интеграции неоднородных БД локальные системы БД утрачивают свою автономность. После включения локальной БД в федеративную систему все дальнейшие действия с ней, включая администрирование, должны вестись на глобальном уровне. Поскольку пользователи часто не соглашаются утрачивать локальную автономность, желая тем не менее иметь возможность работать со всеми локальными СУБД на одном языке и формулировать запросы с одновременным указанием разных локальных БД, развивается направление мульти-БД. В системах мульти-БД не поддерживается глобальная схема интегрированной БД и применяются специальные способы именования для доступа к объектам локальных БД. Как правило, в таких системах на глобальном уровне допускается только выборка данных. Это позволяет сохранить автономность локальных БД. Как правило, интегрировать приходится неоднородные БД, распределенные в вычислительной сети. Это в значительной степени усложняет реализацию. Дополнительно к собственным проблемам интеграции приходится решать все проблемы, присущие распределенным СУБД: управление глобальными транзакциями, сетевую оптимизацию запросов и т.д. Очень трудно добиться эффективности. Как правило, для внешнего представления интегрированных и мульти-БД используется (иногда расширенная) реляционная модель данных. В последнее время все чаще предлагается использовать объектно-ориентированные модели, но на практике пока основой является реляционная модель. Поэтому, в частности, включение в интегрированную систему локальной реляционной СУБД существенно проще и эффективнее, чем включение СУБД, основанной на другой модели данных. При курсовом проектировании достигнуты поставленные в начале работы цели, а именно исследование распределенных баз данных. Решена задача создания проектирования БД.
ГЛОССАРИЙ
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Бройдо В. Л., Крылова В.С. «Научные основы организации управления и построения АСУ», Высшая школа, Москва, 1990 г. 2. Вендров А.М. CASE-технологии. Современные методы и средства проектирования информационных систем. М., Финансы и статистика, 1998. 3. Вендров А.М. Проектирование программного обеспечения экономических информационных систем. М., Финансы и статистика, 2000. 4. Дейт К. «Введение в системы управления базами данных», БИНОМ, Москва, 1999 г. 5. Иоффе А. Ф. «Персональные ЭВМ в организационном управлении», Наука, Москва, 1988 г. 6. Информатика и вычислительная техника: пособие для студ. Вузов инж. - педагогич. спец. В. В. Вьюгин, С. В. Кудимов, В. Г. Накрохин и др.; под ред. В. Н. Ларионова. – М.: Высш. Шк. 1992. – 287 с.: ил. 7. Интернет-сайты: http://ibphoenix.com/main.nfs?a=ibphoenix&s=1132891400: 150223&page=ibp_config, www.ais.khstu.ru, www.libertarium.ru. 8. Ковязин А.Н., С.М. Востриков "Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/Firebird/Yaffil (3-е издание)" - М.: Кудиц-образ, 2005 9. Марин Дж. «Организация баз данных в вычислительных системах», Мир, Москва, 1990г. 10. Немнюгин С.А.– «Delphi»- СПб, Питер – 2000 г. 11. Оптимизация приложений С++Builder в архитектуре клиент/сервер, Наталия Елманова, Центр информационных технологий 12. Фаронов В.В.– «Delphi 7.0» – изд. «Нолидж» - 2001 г. 13. Фаронов В. В. – «Delphi 7.0» – изд. «Нолидж» - 1999г; 14. Фигурнов В.Э.– «IBM PC для пользователя. Краткий курс» – изд. «ИНФРА-М» - 2000г 15. Чен П.П. Модель “сущность-связь” – шаг к единому представлению данных. СУБД, N3, 1995 г 16. Чертовской В.Д. Базы и банки данных. СПб, БХВ-Петербург – 2005 г.
ПРИЛОЖЕНИЕ 1 Листинг основной программы
unit Umain; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, ImgList; type TFmain = class(TForm) MainMenu1: TMainMenu; ImageList1: TImageList; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; N7: TMenuItem; N8: TMenuItem; N9: TMenuItem; N11: TMenuItem; N12: TMenuItem; N14: TMenuItem; N15: TMenuItem; N13: TMenuItem; N16: TMenuItem; procedure N5Click(Sender: TObject); procedure N12Click(Sender: TObject); procedure N8Click(Sender: TObject); procedure N7Click(Sender: TObject); procedure N15Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure N14Click(Sender: TObject); procedure N13Click(Sender: TObject); procedure N9Click(Sender: TObject); procedure N16Click(Sender: TObject); procedure N3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Fmain: TFmain; implementation uses UDM, UDobTovar, UTovar, UDobFirm, UFirm, UZakaz, UDobZakaz, UInvVed1, URepIVed, UKlad, Upass, UDogf, UTPoisk, UAbout, USPoisk, UZapr; Продолжение приложения 1
{$R *.dfm} procedure TFmain.N5Click(Sender: TObject); begin FTovar.Show; end; procedure TFmain.N12Click(Sender: TObject); begin FPass.Close; close; end; procedure TFmain.N8Click(Sender: TObject); begin FFirm.Show; end; procedure TFmain.N7Click(Sender: TObject); begin FZakaz.Show; end; procedure TFmain.N15Click(Sender: TObject); begin FInvVed.Show; end; procedure TFmain.N6Click(Sender: TObject); begin FKlad.Show; end; procedure TFmain.N14Click(Sender: TObject); begin fdog.Show; end; procedure TFmain.N13Click(Sender: TObject); begin FTPoisk.Show; end; procedure TFmain.N9Click(Sender: TObject); begin AboutBox.Show; end; procedure TFmain.N16Click(Sender: TObject); begin FSPoisk.Show; end; procedure TFmain.N3Click(Sender: TObject); begin Form1.Show; end; end. unit UNewPass; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Продолжение приложения 1
Dialogs, StdCtrls, Buttons, Registry; type TFNewPass = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; SpeedButton1: TSpeedButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; procedure SpeedButton1Click(Sender: TObject); procedure FormActivate(Sender: TObject); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure Edit2KeyPress(Sender: TObject; var Key: Char); procedure Edit3KeyPress(Sender: TObject; var Key: Char); private { Private declarations } public { Public declarations } end; var FNewPass: TFNewPass; implementation uses Upass; {$R *.dfm} procedure TFNewPass.SpeedButton1Click(Sender: TObject); begin close; end; procedure TFNewPass.FormActivate(Sender: TObject); begin Edit1.Text := ''; Edit2.Text := ''; Edit3.Text := ''; Edit1.Enabled := true; Edit1.SetFocus; Edit2.Enabled := false; Edit3.Enabled := false; end; procedure TFNewPass.Edit1KeyPress(Sender: TObject; var Key: Char); begin if (key = #13) and (Edit1.Text = Fpass.LabeledEdit1.Text) then begin Edit2.Enabled := true; Edit1.Enabled := false; Edit2.SetFocus; end; end; procedure TFNewPass.Edit2KeyPress(Sender: TObject; var Key: Char); begin if key = #13 then begin Edit3.Enabled := true; Edit3.SetFocus; Продолжение приложения 1 Edit2.Enabled := false; end; end; procedure TFNewPass.Edit3KeyPress(Sender: TObject; var Key: Char); var Reg:TRegistry; begin if (key = #13) and (Edit2.Text = Edit3.Text) then begin Reg := TRegistry.Create; with Reg do begin RootKey := HKEY_LOCAL_MACHINE; OpenKey('Software', True); if not KeyExists('Cardi') then CreateKey('Cardi'); OpenKey('Cardi', True); WriteString('Log', Edit3.Text); end; close; end; end; end. unit Upass; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Buttons, StdCtrls, ExtCtrls, Registry; type TFPass = class(TForm) LabeledEdit1: TLabeledEdit; SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton; SpeedButton3: TSpeedButton; procedure SpeedButton1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); procedure SpeedButton3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var FPass: TFPass; pass, newpass:string; x:byte; implementation uses UZast, UNewPass; {$R *.dfm} Продолжение приложения 1 procedure TFPass.SpeedButton1Click(Sender: TObject); begin x:= x+1; if x<3 then Begin if LabeledEdit1.Text = pass then begin FZast.Show; Visible:=false; end else begin LabeledEdit1.SetFocus; MessageDlg('Пароль не верен!!! Повторите ввод', mtInformation,[mbOk],0); end end else begin MessageDlg('Пароль не верен!!! Доступ запрещен!!!', mtInformation, [mbOk], 0); Close; end; end; procedure TFPass.FormCreate(Sender: TObject); var reg:Tregistry; begin x:=0; LabeledEdit1.Text := ''; Reg := TRegistry.Create; with Reg do begin RootKey := HKEY_LOCAL_MACHINE; OpenKey('Software', True); if not KeyExists('Cardi') then CreateKey('Cardi'); OpenKey('Cardi', True); if not ValueExists('Log') then begin newpass := ''; WriteString('Log', newpass); end else pass := ReadString('Log'); end; end; procedure TFPass.SpeedButton2Click(Sender: TObject); begin close; end; procedure TFPass.SpeedButton3Click(Sender: TObject); begin FNewPass.Show; end; end. unit URepIVed; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, QRCtrls, QuickRpt, ExtCtrls; Type TFRepIVed = class(TForm) QuickRep1: TQuickRep; DetailBand1: TQRBand; ColumnHeaderBand1: TQRBand; TitleBand1: TQRBand; QRLabel1: TQRLabel; QRLabel2: TQRLabel; Продолжение приложения 1 QRLabel3: TQRLabel; QRLabel4: TQRLabel; QRLabel5: TQRLabel; QRLabel6: TQRLabel; QRLabel7: TQRLabel; QRLabel8: TQRLabel; QRLabel9: TQRLabel; QRLabel10: TQRLabel; QRDBText1: TQRDBText; QRDBText2: TQRDBText; QRDBText3: TQRDBText; QRDBText4: TQRDBText; QRDBText5: TQRDBText; QRDBText6: TQRDBText; QRDBText7: TQRDBText; QRDBText8: TQRDBText; QRDBText9: TQRDBText; SummaryBand1: TQRBand; QRLabel11: TQRLabel; QRLabel12: TQRLabel; QRLabel13: TQRLabel; Private { Private declarations } Public { Public declarations } end; var FRepIVed: TFRepIVed; implementation uses UDM; {$R *.dfm} end. unit USPoisk; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Mask,db, DBCtrls, StdCtrls, ExtCtrls, Buttons, ComCtrls; type TFSPoisk = class(TForm) PageControl1: TPageControl; TabSheet1: TTabSheet; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Продолжение приложения 1 Label7: TLabel; Label8: TLabel; SpeedButton2: TSpeedButton; SpeedButton4: TSpeedButton; LabeledEdit1: TLabeledEdit; DBEdit1: TDBEdit; DBEdit2: TDBEdit; DBEdit3: TDBEdit; DBEdit4: TDBEdit; DBEdit5: TDBEdit; DBEdit6: TDBEdit; DBEdit7: TDBEdit; DBEdit8: TDBEdit; TabSheet2: TTabSheet; SpeedButton1: TSpeedButton; SpeedButton3: TSpeedButton; Label12: TLabel; Label13: TLabel; Label14: TLabel; Label15: TLabel; Label16: TLabel; DBEdit12: TDBEdit; DBEdit13: TDBEdit; DBEdit14: TDBEdit; DBEdit15: TDBEdit; DBEdit16: TDBEdit; LabeledEdit2: TLabeledEdit; TabSheet3: TTabSheet; SpeedButton5: TSpeedButton; SpeedButton6: TSpeedButton; Label9: TLabel; DBEdit9: TDBEdit; Label10: TLabel; DBEdit10: TDBEdit; Label11: TLabel; DBEdit11: TDBEdit; LabeledEdit3: TLabeledEdit; Label17: TLabel; DBEdit17: TDBEdit; Label18: TLabel; DBEdit18: TDBEdit; Label19: TLabel; DBEdit19: TDBEdit; Label20: TLabel; DBEdit20: TDBEdit; Label21: TLabel; DBEdit21: TDBEdit; Label22: TLabel; DBEdit22: TDBEdit; Label23: TLabel; DBEdit23: TDBEdit; Label24: TLabel; DBEdit24: TDBEdit; procedure SpeedButton2Click(Sender: TObject); procedure SpeedButton6Click(Sender: TObject); procedure SpeedButton3Click(Sender: TObject); Продолжение приложения 1
procedure SpeedButton5Click(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton4Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var FSPoisk: TFSPoisk; implementation uses UDM; {$R *.dfm} procedure TFSPoisk.SpeedButton2Click(Sender: TObject); begin DM.Tklad.Locate('fio',LabeledEdit1.Text,[lopartialkey]); end; procedure TFSPoisk.SpeedButton6Click(Sender: TObject); begin DM.Tklad.Locate('stag',strtoint(LabeledEdit3.Text),[lopartialkey]); end; procedure TFSPoisk.SpeedButton3Click(Sender: TObject); begin DM.Tklad.Locate('dolj',LabeledEdit2.Text,[lopartialkey]); end; procedure TFSPoisk.SpeedButton5Click(Sender: TObject); begin close; end; procedure TFSPoisk.SpeedButton1Click(Sender: TObject); begin close; end; procedure TFSPoisk.SpeedButton4Click(Sender: TObject); begin close; end; end. unit UTovar; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, ImgList, ComCtrls, ToolWin; Продолжение приложения 1 Type TFTovar = class(TForm) ToolBar1: TToolBar; TBFirst: TToolButton; ToolButton2: TToolButton; ToolButton3: TToolButton; ToolButton4: TToolButton; ToolButton5: TToolButton; ToolButton6: TToolButton; ToolButton7: TToolButton; ImageList1: TImageList; DBGrid1: TDBGrid; ToolButton1: TToolButton; procedure TBFirstClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure ToolButton7Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var FTovar: TFTovar; implementation uses UDM, UDobTovar, Umain; {$R *.dfm} procedure TFTovar.TBFirstClick(Sender: TObject); begin DM.Ttov.First; end; procedure TFTovar.ToolButton2Click(Sender: TObject); begin DM.Ttov.Prior; end; procedure TFTovar.ToolButton3Click(Sender: TObject); begin DM.Ttov.Next; end; Продолжение приложения 1 procedure TFTovar.ToolButton4Click(Sender: TObject); begin DM.Ttov.Last; end; procedure TFTovar.ToolButton5Click(Sender: TObject); begin DM.Ttov.Post; end; procedure TFTovar.ToolButton6Click(Sender: TObject); begin DM.Ttov.Delete; end; procedure TFTovar.ToolButton7Click(Sender: TObject); var n:integer; begin DM.Ttov.Last; n:=DM.Ttov.FieldByName('idn').Value; DM.Ttov.Append; DM.Ttov.FieldByName('idn').Value:=n+1; FDobTov.Show; close; end; procedure TFTovar.ToolButton1Click(Sender: TObject); begin Fmain.Show; close; end; end. unit UTPoisk; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Buttons, StdCtrls, Mask, db,DBCtrls, ExtCtrls, ComCtrls; Type TFTPoisk = class(TForm) PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; TabSheet3: TTabSheet; TabSheet4: TTabSheet; TabSheet5: TTabSheet; LabeledEdit1: TLabeledEdit; DBEdit1: TDBEdit; DBEdit2: TDBEdit; DBEdit3: TDBEdit; DBEdit4: TDBEdit; DBEdit5: TDBEdit; DBEdit6: TDBEdit; DBEdit7: TDBEdit; DBEdit8: TDBEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; SpeedButton2: TSpeedButton; Продолжение приложения 1 SpeedButton4: TSpeedButton; SpeedButton1: TSpeedButton; SpeedButton3: TSpeedButton; DBEdit9: TDBEdit; Label9: TLabel; DBEdit10: TDBEdit; Label10: TLabel; DBEdit11: TDBEdit; Label11: TLabel; DBEdit12: TDBEdit; Label12: TLabel; Label13: TLabel; DBEdit13: TDBEdit; Label14: TLabel; DBEdit14: TDBEdit; Label15: TLabel; DBEdit15: TDBEdit; DBEdit16: TDBEdit; Label16: TLabel; LabeledEdit2: TLabeledEdit; SpeedButton5: TSpeedButton; SpeedButton6: TSpeedButton; DBEdit17: TDBEdit; Label17: TLabel; DBEdit18: TDBEdit; Label18: TLabel; DBEdit19: TDBEdit; Label19: TLabel; DBEdit20: TDBEdit; Label20: TLabel; Label21: TLabel; DBEdit21: TDBEdit; Label22: TLabel; DBEdit22: TDBEdit; Label23: TLabel; DBEdit23: TDBEdit; DBEdit24: TDBEdit; Label24: TLabel; LabeledEdit3: TLabeledEdit; SpeedButton7: TSpeedButton; SpeedButton8: TSpeedButton; DBEdit25: TDBEdit; Label25: TLabel; DBEdit26: TDBEdit; Label26: TLabel; DBEdit27: TDBEdit; Label27: TLabel; DBEdit28: TDBEdit; Label28: TLabel; Label29: TLabel; DBEdit29: TDBEdit; Label30: TLabel; DBEdit30: TDBEdit; Label31: TLabel; DBEdit31: TDBEdit; DBEdit32: TDBEdit; Label32: TLabel; LabeledEdit4: TLabeledEdit; SpeedButton9: TSpeedButton; SpeedButton10: TSpeedButton; DBEdit33: TDBEdit; Label33: TLabel; DBEdit34: TDBEdit; Label34: TLabel; DBEdit35: TDBEdit; Label35: TLabel; DBEdit36: TDBEdit; Label36: TLabel; Label37: TLabel; DBEdit37: TDBEdit; Label38: TLabel; DBEdit38: TDBEdit; Label39: TLabel; DBEdit39: TDBEdit; DBEdit40: TDBEdit; Label40: TLabel; LabeledEdit5: TLabeledEdit; Продолжение приложения 1 procedure SpeedButton2Click(Sender: TObject); procedure SpeedButton3Click(Sender: TObject); procedure SpeedButton6Click(Sender: TObject); procedure SpeedButton8Click(Sender: TObject); procedure SpeedButton10Click(Sender: TObject); procedure SpeedButton4Click(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton5Click(Sender: TObject); procedure SpeedButton7Click(Sender: TObject); procedure SpeedButton9Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var FTPoisk: TFTPoisk; implementation uses UDM; {$R *.dfm} procedure TFTPoisk.SpeedButton2Click(Sender: TObject); begin DM.Ttov.Locate('naz_tov',LabeledEdit1.Text,[lopartialkey]); end; procedure TFTPoisk.SpeedButton3Click(Sender: TObject); begin DM.Ttov.Locate('bez_nds',strtoint(LabeledEdit2.Text),[]); end; procedure TFTPoisk.SpeedButton6Click(Sender: TObject); begin DM.Ttov.Locate('tmb',LabeledEdit3.Text,[lopartialkey]); end; procedure TFTPoisk.SpeedButton8Click(Sender: TObject); begin DM.Ttov.Locate('gost',LabeledEdit4.Text,[lopartialkey]); end; procedure TFTPoisk.SpeedButton10Click(Sender: TObject); begin DM.Ttov.Locate('marka',LabeledEdit5.Text,[lopartialkey]); end; procedure TFTPoisk.SpeedButton4Click(Sender: TObject); begin close; end; Продолжение приложения 1 procedure TFTPoisk.SpeedButton1Click(Sender: TObject); begin close; end; procedure TFTPoisk.SpeedButton5Click(Sender: TObject); begin close; end; procedure TFTPoisk.SpeedButton7Click(Sender: TObject); begin close; end; procedure TFTPoisk.SpeedButton9Click(Sender: TObject); begin close; end; end. unit UZakaz; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ImgList, ComCtrls, ToolWin, Grids, DBGrids, ExtCtrls, StdCtrls, DBCtrls; Type TFZakaz = class(TForm) DBGrid1: TDBGrid; ToolBar1: TToolBar; TBFirst: TToolButton; ToolButton2: TToolButton; ToolButton3: TToolButton; ToolButton4: TToolButton; ToolButton5: TToolButton; ToolButton6: TToolButton; ToolButton7: TToolButton; ToolButton1: TToolButton; ImageList1: TImageList; Panel1: TPanel; ToolButton8: TToolButton; DBText1: TDBText; Label1: TLabel; DBText2: TDBText; DBText3: TDBText; DBText4: TDBText; DBText5: TDBText; DBText6: TDBText; DBText7: TDBText; DBText8: TDBText; DBText9: TDBText; DBText10: TDBText; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Shape1: TShape; Label10: TLabel; Shape2: TShape; Продолжение приложения 1 Label11: TLabel; Shape3: TShape; Label12: TLabel; Edit1: TEdit; procedure TBFirstClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure ToolButton7Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton8Click(Sender: TObject); procedure FormActivate(Sender: TObject); procedure Edit1Change(Sender: TObject); private { Private declarations } public { Public declarations } end; var FZakaz: TFZakaz; a:byte; implementation uses UDM, Umain, UDobZakaz; {$R *.dfm} procedure TFZakaz.TBFirstClick(Sender: TObject); begin DM.Tzakaz.First; end; procedure TFZakaz.ToolButton2Click(Sender: TObject); begin DM.Tzakaz.Prior; end; procedure TFZakaz.ToolButton3Click(Sender: TObject); begin DM.Tzakaz.Next; end; procedure TFZakaz.ToolButton4Click(Sender: TObject); begin DM.Tzakaz.Last; end; procedure TFZakaz.ToolButton5Click(Sender: TObject); Продолжение приложения 1 begin DM.Tzakaz.post; end; procedure TFZakaz.ToolButton6Click(Sender: TObject); begin DM.Tzakaz.Delete; end; procedure TFZakaz.ToolButton7Click(Sender: TObject); var n:integer; begin DM.Tzakaz.Last; n:=DM.Tzakaz.FieldByName('nz').Value; DM.Tzakaz.Append; DM.Tzakaz.FieldByName('nz').Value:=n+1; FDobZakaz.show; end; procedure TFZakaz.ToolButton1Click(Sender: TObject); begin case a of 0:begin Height:=697; Panel1.Height:=201; Position:=poScreenCenter; a:=1; ToolButton1.ImageIndex:=9; ToolButton1.hint:='Закрыть панель поиска' end; 1: begin DBGrid1.DataSource:= dm.DSZakaz; Height:=486; Panel1.Height:=0; Position:=poScreenCenter; a:=0; ToolButton1.ImageIndex:=8; ToolButton1.hint:='Открыть панель поиска'; Edit1.SetFocus; end; end; end; procedure TFZakaz.ToolButton8Click(Sender: TObject); begin Fmain.Show; close; end; procedure TFZakaz.FormActivate(Sender: TObject); begin a:=0; end; procedure TFZakaz.Edit1Change(Sender: TObject); begin dm.QZakaz1.Close; dm.QZakaz1.Parameters[0].Value:=edit1.Text; dm.QZakaz1.Open; DBGrid1.DataSource:= dm.DSQZakaz1; end; end. unit UZapr; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Buttons, ExtCtrls, DBCtrls, Grids, DBGrids; Type TForm1 = class(TForm) DBGrid1: TDBGrid; DBNavigator1: TDBNavigator; Продолжение приложения 1 SpeedButton2: TSpeedButton; SpeedButton4: TSpeedButton; procedure SpeedButton4Click(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses UDM; {$R *.dfm} procedure TForm1.SpeedButton4Click(Sender: TObject); begin close; end; procedure TForm1.SpeedButton2Click(Sender: TObject); begin DM.QZapros.Close; DM.QZapros.Open; end; end. unit UDobTovar; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Buttons, ExtCtrls, StdCtrls, DBCtrls, Mask, BDE; type TFDobTov = class(TForm) GroupBox1: TGroupBox; DBEdit3: TDBEdit; DBEdit5: TDBEdit; DBEdit7: TDBEdit; DBEdit8: TDBEdit; DBEdit9: TDBEdit; DBEdit1: TDBEdit; DBEdit2: TDBEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Edit1: TEdit; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; DBComboBox1: TDBComboBox; Panel1: TPanel; Продолжение приложения 1 Panel2: TPanel; SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton; SpeedButton3: TSpeedButton; SpeedButton4: TSpeedButton; DBEdit4: TDBEdit; procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); procedure SpeedButton3Click(Sender: TObject); procedure SpeedButton4Click(Sender: TObject); procedure FormActivate(Sender: TObject); private { Private declarations } public { Public declarations } end; var FDobTov: TFDobTov; implementation uses UDM, UTovar; {$R *.dfm} procedure TFDobTov.SpeedButton1Click(Sender: TObject); begin DBEdit4.Text:=floattostr(strtofloat(DBEdit3.Text)+(strtofloat(Edit1.text)/100)*strtofloat(DBEdit3.Text)); DM.Ttov.post; end; procedure TFDobTov.SpeedButton2Click(Sender: TObject); begin DM.Ttov.Append; end; procedure TFDobTov.SpeedButton3Click(Sender: TObject); begin DM.Ttov.Cancel; FTovar.Show; Close; end; procedure TFDobTov.SpeedButton4Click(Sender: TObject); begin FTovar.Show; Close; end; procedure TFDobTov.FormActivate(Sender: TObject); var n:integer; begin DM.Ttov.Last; n:=DM.Ttov.FieldByName('idn').Value; DM.Ttov.Append; DM.Ttov.FieldByName('idn').Value:=n+1; end; end. Продолжение приложения 1 unit UInvVed1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Mask, DBCtrls, Buttons; type TFInvVed = class(TForm) ComboBox1: TComboBox; Label1: TLabel; DBEdit1: TDBEdit; SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton; procedure FormActivate(Sender: TObject); procedure ComboBox1Change(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var FInvVed: TFInvVed; implementation uses UDM, URepIVed; {$R *.dfm} procedure TFInvVed.FormActivate(Sender: TObject); begin DM.Tklad.First; while not DM.Tklad.Eof do begin ComboBox1.Items.Add(DM.Tklad.FieldValues['fio']); DM.Tklad.next; end; end; procedure TFInvVed.ComboBox1Change(Sender: TObject); begin DM.Tklad.Locate('fio',ComboBox1.Text,[]); end; procedure TFInvVed.SpeedButton2Click(Sender: TObject); begin close; end; procedure TFInvVed.SpeedButton1Click(Sender: TObject); begin FRepIVed.QRLabel12.Caption:=DBEdit1.Text; Продолжение приложения 1 FRepIVed.QRLabel13.Caption:=ComboBox1.Text; FRepIVed.QuickRep1.Preview; end; end.
ПРИЛОЖЕНИЕ 2 Образы экранов
Популярное: Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (226)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |