ИС ростелеком. Дипломная Егорова. Введение 4 глава 1 технический проект и описание сред разработок 6 1Описание предметной области 6 2 Описание технологии обработки информации 7
Скачать 0.85 Mb.
|
2.5Руководство программистаИнформационная система разработана, как локальная система. Общая блок схема представлена на рис.2.8. Рисунок 2.8– Общая блок-схема 2.6 Разработка главной формы и подключение к базе данныхДля работы с программным продуктом используется простой, интуитивно понятный интерфейс. Последовательность работы с объектами формы определяется командными кнопками. Главное окно системы представлено на рис. 2.9. Рисунок 2.9– Главное окно системы Программа состоит из следующих окон: Абоненты; Тарифы; Оплата; Отчеты; Для того, чтобы организовать переход на другие формы, был написан следующий код: unit uMenu; // модуль главной формы interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ADODB, DB, Grids, DBGrids, ExtCtrls, DBCtrls, Calendar, ComCtrls, XPMan, StdCtrls, ExtDlgs, Buttons, Menus,ComObj, Math,StrUtils, Mask, jpeg; type // типы обьекто созданные конструктором форм делфи TForm1 = class(TForm) XPManifest1: TXPManifest; ADOConnection1: TADOConnection; XPManifest2: TXPManifest; BitBtn2: TBitBtn; BitBtn1: TBitBtn; BitBtn4: TBitBtn; BitBtn6: TBitBtn; Image2: TImage; procedure ADOTable1DSDesigner3SetText(Sender: TField; const Text: String); procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure c1Click(Sender: TObject); procedure N11Click(Sender: TObject); procedure BitBtn4Click(Sender: TObject); procedure BitBtn7Click(Sender: TObject); procedure BitBtn8Click(Sender: TObject); procedure RadioButton1Click(Sender: TObject); procedure BitBtn6Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); private { Private declarations } public procedure GridToExcel( DBGridv : TDBGrid); { Public declarations } end; var Form1: TForm1; implementation uses FinalReports, uOplata, uAbonents, uRTFReport, uTarif; {$R *.dfm} procedure TForm1.ADOTable1DSDesigner3SetText(Sender: TField; const Text: String); var a:integer; begin if text='' then begin Sender.AsInteger := 1 ; exit; end; a:= Pos(':', text) ; if a<=0 then begin Sender.AsInteger := 1 ; exit; end else Sender.AsInteger:=StrToInt( Copy(text,1, a-1) ); end; procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); // вопрос о закрытии программы begin if MessageDlg('Закрыть программу ? ', mtConfirmation, [mbOk, mbCancel], 0) = mrCancel then CanClose := False else application.Terminate; end; procedure TForm1.c1Click(Sender: TObject); begin close; end; procedure TForm1.N11Click(Sender: TObject); begin form10.show; end; procedure TForm1.BitBtn4Click(Sender: TObject); begin form2.show; end; procedure TForm1.BitBtn7Click(Sender: TObject); begin close; end; procedure TForm1.BitBtn8Click(Sender: TObject); begin form4.show; end; procedure TForm1.RadioButton1Click(Sender: TObject); begin end; procedure TForm1.GridToExcel( DBGridv : TDBGrid); const Cr: String = Char(13) + Char(10); CellIndent : Integer = 50; var CellWidth : Integer ; //Индекс столбца таблицы. ColNum : Integer; //Индекс строки таблицы. RowNum : Integer; StrRtf : String; col, row: Integer; st,sline: string; mem: TRichEdit; a,i,j: Integer; bm: TBookmark; begin if DBGridv.FieldCount=0 then exit; Screen.Cursor := crHourglass DBGridv.DataSource.DataSet.DisableControls; bm := DBGridv.DataSource.DataSet.GetBookmark; DBGridv.DataSource.DataSet.First; mem := form5.DBRichEdit1; mem.Font.Pitch:=fpFixed; mem.Clear; CellWidth:=3000; StrRtf := '{\rtf1\ansi\ansicpg1251' + Cr; for RowNum := -1 to DBGridv.DataSource.DataSet.RecordCount-1 do begin StrRtf := StrRtf + '\trowd\trgaph' + IntToStr(CellIndent) + CR; i := 0; for ColNum := 0 to DBGridv.FieldCount-1 do begin if i<1 then CellWidth:=3000 else CellWidth:=3000; Inc(i); StrRtf := StrRtf + '\clbrdrt\brdrs\clbrdrl\brdrs\clbrdrb\brdrs\clbrdrr\brdrs\cellx' + IntToStr(i*CellWidth) + Cr; end; StrRtf := StrRtf + '\pard\intbl' + Cr; for ColNum := 0 to DBGridv.FieldCount-1 do begin if RowNum=-1 then StrRtf := StrRtf + ' {\b'+LeftStr(DBGridv.Fields[colnum].DisplayLabel,20)+ '} ' + '\cell' + Cr else StrRtf := StrRtf + LeftStr(DBGridv.Fields[colnum].DisplayText,22) + '\cell' + Cr; end; if RowNum<>-1 then DBGridv.DataSource.DataSet.Next; StrRtf := StrRtf + '\row' + Cr; end; StrRtf := StrRtf + '}'; mem.Text:=StrRtf; mem.Refresh; Screen.Cursor := crDefault; DBGridv.DataSource.DataSet.GotoBookmark(bm); DBGridv.DataSource.DataSet.FreeBookmark(bm); DBGridv.DataSource.DataSet.EnableControls; form5.Show; end; procedure TForm1.BitBtn6Click(Sender: TObject); begin form10.show; end; procedure TForm1.BitBtn2Click(Sender: TObject); begin form4.Show; end; procedure TForm1.BitBtn1Click(Sender: TObject); begin form6.show; end; end. 1> |