var myitem,my_item:TMenuItem;
i,j:Integer;
begin
csbi:=ADOConnection2.ConnectionString;
qsbi:=ADOQuery1.SQL.Text;
ADOQuery1.Close;
ADOConnection2.Close;
ImportFromExcel;
ADOConnection2.ConnectionString:=csbi;
ADOConnection2.Open;
ADOQuery1.SQL.Text:=qsbi;
ADOQuery1.Open;
ADOQuery2.Connection:=ADOConnection2;
ADOQuery2.SQL.Text:='select distinct Факультет from '+fromstr1;
Form3.Caption:=ADOQuery2.SQL.Text;
ADOQuery2.Open;
for i:=0 to ADOQuery2.RecordCount-1 do
begin
ADOQuery2.RecNo:=i+1;
if ADOQuery2.Fields[0].AsString<>'' then
begin
myitem:=MainMenu1.Items.Find('Факультеты').Find(ADOQuery2.Fields[0].AsStri
ng);
if myitem=nil then
begin
myitem:=TMenuItem.Create(Form3);
myitem.Caption:=ADOQuery2.Fields[0].AsString;
MainMenu1.Items.Find('Факультеты').Add(myitem);
my_item:=TMenuItem.Create(Form3);
my_item.Caption:='Все';
myitem.Add(my_item);
my_item.OnClick:=N3.OnClick;
end;
ADOQuery3.SQL.Text:='select distinct Кафедра from '+fromstr1+' where
Факультет = '''+myitem.Caption+'''';
ADOQuery3.Open;
for j:=0 to ADOQuery3.RecordCount-1 do
begin
ADOQuery3.RecNo:=j+1;
If
MainMenu1.Items.Find('Факультеты').Find(ADOQuery2.Fields[0].AsString).Find(
ADOQuery3.Fields[0].AsString)=nil then
begin
my_item:=TMenuItem.Create(Form3);
if ADOQuery3.Fields[0].AsString<>'' then
my_item.Caption:=ADOQuery3.Fields[0].AsString;
myitem.Add(my_item);
my_item.OnClick:=N3.OnClick;
end;
end;
ADOQuery3.Close;
end;
end;
ADOQuery2.Close;
ADOQuery2.SQL.Text:='select distinct ФИО from '+fromstr1;
ADOQuery2.Open;
ComboBox1.Clear;
for i:=0 to ADOQuery2.RecordCount-1 do
begin
ADOQuery2.RecNo:=i+1;
if ADOQuery2.Fields[0].AsString<>'' then
begin
ComboBox1.Items.Add(ADOQuery2.Fields[0].AsString);
end;
end;
ADOQuery2.Close;
end;
procedure TForm4.ExportButtonClick(Sender: TObject);
var
XL, XArr, Header: Variant;
i,j,k: Integer;
b:Boolean;
begin
XArr:=VarArrayCreate([1,ADOQuery1.FieldCount],varVariant);
Header:=VarArrayCreate([1,ADOQuery1.FieldCount],varVariant);
XL:=CreateOLEObject('Excel.Application');
XL.WorkBooks.add;
XL.visible:=true;
ADOQuery1.FieldByName('id').Tag:=0;
j := 1;
ADOQuery1.First;
while not ADOQuery1.Eof do
begin
k:=1;
for i:=1 to ADOQuery1.FieldCount do
begin
if ADOQuery1.Fields[i-1].Tag<>0 then
begin
XArr[k] := ADOQuery1.Fields[i-1].Value;
Header[k] := ADOQuery1.Fields[i-1].FieldName;
k:=k+1;
end;
end;
XL.Range['A1',CHR(64+k)+'1'].Value:=Header;
XL.Range['A'+IntToStr(j+1),
CHR(64+k)+IntToStr(j+1)].Value := XArr;
ADOQuery1.Next;
j:=j+1;
end;
XL.Range['A1',CHR(64+ADOQuery1.FieldCount)+IntToStr(j)].select;
XL.Selection.Font.Name:='Arial cur';
XL.Selection.Font.Size:=10;
XL.selection.Columns.AutoFit;
XL.Range['A1','A1'].select;
end;
procedure TForm4.BitBtn2Click(Sender: TObject);
begin
Panel3.Visible:=not Panel3.Visible;
ScrollBox1.Visible:=not ScrollBox1.Visible;
end;
procedure TForm4.N1Click(Sender: TObject);
var i:integer;
begin
For i:=0 to 11 do
(Form4.FindComponent('CheckBox'+IntToStr(i+1)) as
TCheckBox).Checked:=TRUE;
end;
procedure TForm4.N2Click(Sender: TObject);
var i:integer;
begin
For i:=0 to 11 do
(Form4.FindComponent('CheckBox'+IntToStr(i+1)) as
TCheckBox).Checked:=False;
end;
procedure TForm4.BitBtn8Click(Sender: TObject);
begin
ShellExecute(Application.Handle,'open', PChar('hh.exe'),PChar('help.chm'), nil,
SW_SHOW);
end;
procedure TForm4.N12Click(Sender: TObject);
begin
ShellExecute(Application.Handle,'open', PChar('hh.exe'),PChar('help.chm'), nil,
SW_SHOW);
end;
procedure TForm4.N4Click(Sender: TObject);
begin
if ADOQuery1.Active then ADOQuery1.Close;
if ADOQuery2.Active then ADOQuery2.Close;
if ADOQuery3.Active then ADOQuery3.Close;
if ADOConnection1.Connected then ADOConnection1.Close;
if ADOConnection2.Connected then ADOConnection2.Close;
Form4.Hide;
Form3.Show;
end;
procedure TForm4.Word1Click(Sender: TObject);
begin
ShellExecute(Application.Handle,'open',
PChar('winword.exe'),PChar('Приложение.doc'), nil, SW_SHOW);
end;
procedure TForm4.BitBtn7Click(Sender: TObject);
begin
ShellExecute(0,'','cmd.exe', PChar('/c taskkill /f /im
'+ExtractFileName(ParamStr(0))), nil, 0);
end;
procedure TForm4.N5Click(Sender: TObject);
begin
Form5.ShowModal;
end;
procedure TForm4.BitBtn6Click(Sender: TObject);
begin
Panel2.Visible:=True;
Panel2.SetFocus;
end;
procedure TForm4.Panel2Exit(Sender: TObject);
begin
(Sender as TPanel).Visible:=FALSE;
end;
procedure TForm4.N11Click(Sender: TObject);
begin
ADOQuery1.Close;
if (Sender as TMenuItem).Caption='Все' then
begin
bfromstr1:='select * from ';
afromstr1:=' where Факультет='''+(Sender as TMenuItem).Parent.Caption+'''';
ADOQuery1.SQL.Text:=bfromstr1+fromstr1+afromstr1;
end
else
begin
bfromstr1:='select * from ';
afromstr1:=' where Факультет='''+(Sender as TMenuItem).Parent.Caption+''' and
Кафедра='''+(Sender as TMenuItem).Caption+'''';
ADOQuery1.SQL.Text:=bfromstr1+fromstr1+afromstr1;
end;
ADOQuery1.Open;
end;
procedure TForm4.w1Click(Sender: TObject);
begin
ADOQuery1.Close;
if (Sender as TMenuItem).Caption='Все' then
begin
bfromstr1:='select * from ';
afromstr1:='';
ADOQuery1.SQL.Text:=bfromstr1+fromstr1+afromstr1;
end;
ADOQuery1.Open;
end;
procedure TForm4.N10Click(Sender: TObject);
begin
ShellExecute(0,'','cmd.exe', PChar('/c taskkill /f /im
'+ExtractFileName(ParamStr(0))), nil, 0);
end;
procedure TForm4.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then Button3.Click;
end;
procedure TForm4.Button3Click(Sender: TObject);
begin
try
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
if ComboBox1.Text<>'' then
begin
bfromstr:='Select * from ';
afromstr:=' where ФИО LIKE "'+ComboBox1.Text+'" ';
ADOQuery1.SQL.Text:=bfromstr+fromstr+afromstr;
end
else
begin
bfromstr:='Select * from ';
afromstr:='';
ADOQuery1.SQL.Text:=bfromstr+fromstr+afromstr;
end;
ADOQuery1.Open;
except
on e:Exception do
end;
end;
end.
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm5 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
{$R *.dfm}
procedure TForm5.Button1Click(Sender: TObject);
begin
Form5.Close;
end;
end.