Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
diplom (1).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.65 Mб
Скачать

Приложение м Листинг файла FormGurnal

unit Unit11;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, Mask, DB, ADODB;

type

TFormGurnal = class(TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

DBE_ID: TDBEdit;

DBE_Family: TDBEdit;

DBE_Name: TDBEdit;

DBE_Ozenka: TDBEdit;

ID: TLabel;

Label2: TLabel;

Label3: TLabel;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Label4: TLabel;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

FormGurnal: TFormGurnal;

implementation

uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9, Unit10,

Unit1;

{$R *.dfm}

procedure TFormGurnal.Button1Click(Sender: TObject);

begin

dm.ADOGurnal.Filter:='[Фамилия]='+QuotedStr(formGurnal.DBGrid1.Columns.Items[2].Field.Text);

dm.ADOGurnal.Filtered:= true;

end;

procedure TFormGurnal.Button2Click(Sender: TObject);

begin

dm.ADOGurnal.Filter:= '[Оценка] = '+ formGurnal.DBGrid1.Columns.Items[5].Field.Text;

dm.ADOGurnal.Filtered:= true;

end;

procedure TFormGurnal.Button3Click(Sender: TObject);

begin

dm.ADOGurnal.Filter:= '';

dm.ADOGurnal.Filtered:= false;

end;

procedure TFormGurnal.Button4Click(Sender: TObject);

begin

FormGurnal.Close;

end;

end.

Приложение н Листинг файла FormRaspisanie

unit Unit10;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DBCtrls, Grids, DBGrids, DB, ADODB, StdCtrls, ComObj;

type

TFormRaspisanie = class(TForm)

DBGrid1: TDBGrid;

ADOQuery1: TADOQuery;

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

DataSource1: TDataSource;

ADOQuery2: TADOQuery;

Button8: TButton;

DataSource2: TDataSource;

DBLookupComboBox2: TDBLookupComboBox;

Button9: TButton;

ADOQuery3: TADOQuery;

DataSource3: TDataSource;

Button10: TButton;

Label1: TLabel;

Label2: TLabel;

DBLookupComboBox3: TDBLookupComboBox;

procedure Button8Click(Sender: TObject);

procedure DBLookupComboBox2CloseUp(Sender: TObject);

procedure FormActivate(Sender: TObject);

procedure Button9Click(Sender: TObject);

procedure Button10Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

FormRaspisanie: TFormRaspisanie;

implementation

{$R *.dfm}

procedure TFormRaspisanie.Button8Click(Sender: TObject);

begin

FormRaspisanie.Close;

end;

procedure TFormRaspisanie.DBLookupComboBox2CloseUp(Sender: TObject);

begin

adoquery2.sql.clear;

adoquery2.sql.add('SELECT DISTINCT Курс FROM [Расписание групп] where Группы='+QuotedStr(DBLookupComboBox3.text));

adoquery2.active:=true;

end;

procedure TFormRaspisanie.FormActivate(Sender: TObject);

begin

adoquery1.sql.clear;

adoquery1.sql.add('SELECT Группы FROM [Расписание групп] GROUP BY Группы');

adoquery1.active:=true;

end;

procedure TFormRaspisanie.Button9Click(Sender: TObject);

begin

adoquery3.sql.clear;

adoquery3.sql.add('SELECT dbo.[ID-групп].[День недели], dbo.[ID-групп].Пары, dbo.[ID-групп].Предмет FROM dbo.[ID-групп] INNER JOIN dbo.[Расписание групп] ON dbo.[ID-групп].ID = dbo.[Расписание групп].ID where Группы='+QuotedStr(DBLookupComboBox3.text)+'AND КУРС = ' + DBLookupComboBox2.text);

adoquery3.active:=true;

end;

procedure TFormRaspisanie.Button10Click(Sender: TObject);

Var

ExcelApp, Workbook, Range, Cell1, Cell2, ArrayData: Variant;

BeginCol, BeginRow, j: integer;

RowCount, ColCount: Integer;

AppLocation:string;

begin

BeginCol := 1;

BeginRow := 4;

RowCount := ADOQuery3.RecordCount;

ColCount := ADOQuery3.FieldDefs.Count;

ExcelApp := CreateOleObject('Excel.Application');

ExcelApp.DisplayAlerts := false;

ExcelApp.Application.EnableEvents := false;

Workbook := ExcelApp.WorkBooks.Add(GetCurrentDir() + '\Расписание.xlsx');

ArrayData := VarArrayCreate([1, RowCount, 1, ColCount], varVariant);

ADOQuery1.DisableControls;

ADOQuery1.First;

While Not ADOQuery3.eof Do

Begin

For J := 1 To ADOQuery3.FieldDefs.Count Do

Begin

ArrayData[ADOQuery3.RecNo, J] :=

ADOQuery3.FieldbyName(ADOQuery3.FieldDefs.Items[j - 1].DisplayName).value;

End;

ADOQuery3.Next;

End;

ADOQuery3.EnableControls;

Cell1 := WorkBook.WorkSheets[1].Cells[BeginRow, BeginCol];

Cell2 := WorkBook.WorkSheets[1].Cells[BeginRow + RowCount - 1,

BeginCol + ColCount - 1];

Range := WorkBook.WorkSheets[1].Range[Cell1, Cell2];

Range.Value := ArrayData;

ExcelApp.Visible := True;

end;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]