на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Создание базы данных "Wc3 Cybersport Data Base"
p align="left">Dialogs, Grids, DBGrids, DB, ADODB, ExtCtrls, ComCtrls, DBCtrls, Menus,

StdCtrls, Inifiles;

type

TForm1 = class(TForm)

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

DataSource1: TDataSource;

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

Players: TDBGrid;

DBNavigator1: TDBNavigator;

ADOTable2: TADOTable;

ADOTable3: TADOTable;

DataSource2: TDataSource;

DataSource3: TDataSource;

Events: TDBGrid;

Clans: TDBGrid;

MyQuery1: TADOQuery;

DataSource4: TDataSource;

TabSheet4: TTabSheet;

ListBox1: TListBox;

DBGrid1: TDBGrid;

StatusBar1: TStatusBar;

Button1: TButton;

PopupMenu1: TPopupMenu;

NewQuery1: TMenuItem;

Deletequery1: TMenuItem;

EditQuery1: TMenuItem;

Label1: TLabel;

Edit1: TEdit;

Button2: TButton;

Label2: TLabel;

RichEdit1: TRichEdit;

CheckBox1: TCheckBox;

MyQuery2: TADOQuery;

DataSource5: TDataSource;

ADOTable1Nickname: TStringField;

ADOTable1Clan: TStringField;

ADOTable1GameRace: TStringField;

ADOTable1FullName: TStringField;

ADOTable1Age: TBCDField;

ADOTable1Country: TStringField;

ADOTable2Name: TStringField;

ADOTable2FullName: TStringField;

ADOTable2Owner: TStringField;

ADOTable2Players: TBCDField;

ADOTable2Sponsor: TStringField;

ADOTable2FoundationDate: TBCDField;

ADOTable3Name: TStringField;

ADOTable3Sponsor: TStringField;

ADOTable3Prize: TBCDField;

ADOTable3Clanwinner: TStringField;

ADOTable3Playerwinner: TStringField;

ADOTable3Date: TDateTimeField;

PopupMenu2: TPopupMenu;

Report1: TMenuItem;

Button3: TButton;

Button4: TButton;

Procedure NewEditDelete(i:integer);

procedure NewQuery(Name:string; Query : Trichedit;Dodelete:integer);

procedure PageControl1Change(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure NewQuery1Click(Sender: TObject);

procedure Deletequery1Click(Sender: TObject);

procedure EditQuery1Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Button2Click(Sender: TObject);

procedure ListBox1DblClick(Sender: TObject);

procedure RichEdit1Change(Sender: TObject);

procedure CheckBox1Click(Sender: TObject);

Procedure Normalize(Grid:TDBGrid; Source:TDatasource);

procedure Report1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

Name : string;

end;

var

Form1: TForm1;

ini :Tinifile;

implementation

uses Unit2;

{$R *.dfm}

Procedure TForm1.Normalize(Grid:TDBGrid; Source:TDatasource);

var

x:integer;

i:integer;

Begin

// ----------- Normalizing Column Width of DBGrid -----------

For x:=0 to grid.Columns.Count-1 do begin

i:=0;

source.DataSet.First;

repeat

if length(source.DataSet.Fields[x].Text)>i then i:=length(source.DataSet.Fields[x].Text);

source.DataSet.next;

until source.DataSet.Eof;

grid.Columns.Items[x].Width:= i+25;

end;

source.DataSet.First;

end;

Procedure TForm1.NewQuery(Name:string; Query :Trichedit; Dodelete : integer);

// DoDelete = 0 - Add or Edit

// DoDelete = 1 - Delete Query

Var

F : TextFile;

i : Integer;

x : Integer;

begin

AssignFile(F,Extractfilepath(Application.ExeName)+'QueryList.lst');

Rewrite(F);

case DoDelete of

0 : Begin

ini.WriteString(Name,'0',inttostr(richedit1.Lines.Count));

For i:=0 to query.Lines.Count-1 do begin

ini.WriteString(Name,inttostr(i+1),Query.Lines.Strings[i]);

end;

end;

1 : ini.EraseSection(Name);

end;

For x:=0 to Listbox1.Items.Count-1 do begin

Writeln(F,Listbox1.items.strings[x]);

end;

CloseFile(F);

end;

Procedure TForm1.NewEditDelete(i:integer);

// I = 1 - Add Query

// I = 2 - Edit Query

// I = 3 - Delete Query

var

Del:string;

x:integer;

Label 1;

begin

case i of

1 : begin

Listbox1.Items.Add(edit1.Text);

NewQuery(Edit1.Text,richedit1,0);

end;

2 : Begin

For x:=0 to listbox1.Items.Count-1 do begin

If Listbox1.Selected[x] then Listbox1.Items.Strings[x]:=Edit1.Text;

end;

NewQuery(Edit1.Text,richedit1,0);

end;

3 : Begin

For x:=0 to listbox1.Items.Count-1 do begin

If Listbox1.Selected[x] then begin

Del := Listbox1.items.Strings[x];

Listbox1.DeleteSelected;

Goto 1;

end;

end;

1: NewQuery(Del,richedit1,1);

end;

end;

end;

procedure TForm1.PageControl1Change(Sender: TObject);

begin

If Pagecontrol1.ActivePage=TabSheet1 then DBNavigator1.DataSource:=DataSource1;

If Pagecontrol1.ActivePage=TabSheet2 then DBNavigator1.DataSource:=DataSource2;

If Pagecontrol1.ActivePage=TabSheet3 then DBNavigator1.DataSource:=DataSource3;

If Pagecontrol1.ActivePage=TabSheet4 then DBNavigator1.DataSource:=DataSource4;

end;

procedure TForm1.FormCreate(Sender: TObject);

var

F2:TextFile;

i,x:integer;

s:string;

begin

AdoTable1.Active:=true;

AdoTable2.Active:=true;

AdoTable3.Active:=true;

// ----------- Normalizing Column Width of DBGrid -----------

Normalize(players,datasource1);

Normalize(clans,datasource2);

Normalize(events,datasource3);

ini := TiniFile.Create(extractfilepath(application.ExeName)+'Queryes.ini');

AssignFile(F2,Extractfilepath(Application.ExeName)+'QueryList.lst');

reset(F2);

Repeat

Readln(F2,s);

Listbox1.Items.Add(s);

until EOF(F2);

closefile(F2);

If Pagecontrol1.ActivePage=TabSheet1 then DBNavigator1.DataSource:=DataSource1;

If Pagecontrol1.ActivePage=TabSheet2 then DBNavigator1.DataSource:=DataSource2;

If Pagecontrol1.ActivePage=TabSheet3 then DBNavigator1.DataSource:=DataSource3;

If Pagecontrol1.ActivePage=TabSheet4 then DBNavigator1.DataSource:=DataSource4;

end;

procedure TForm1.Button1Click(Sender: TObject);

var

x :integer;

begin

statusbar1.SimpleText:='Adding new Query...';

Edit1.Text:='';

Richedit1.Text:='';

Button2.Caption:='Add';

for x:=125 to form1.Width+120 do begin

DBGrid1.Left:=DbGrid1.Left+1;

Application.ProcessMessages;

end;

end;

procedure TForm1.NewQuery1Click(Sender: TObject);

begin

Button1.Click;

end;

procedure TForm1.Deletequery1Click(Sender: TObject);

begin

NewEditDelete(3);

statusbar1.SimpleText:='Deleted...';

end;

procedure TForm1.EditQuery1Click(Sender: TObject);

var

x,i :integer;

begin

richedit1.Clear;

Button2.Caption:='Edit';

For x:=0 to listbox1.Items.Count-1 do begin

If listbox1.Selected[x] then begin

Edit1.Text:=Listbox1.Items.Strings[x];

statusbar1.SimpleText:='Modifying '+edit1.Text+' Query...';

For i:=0 to strtoint(ini.ReadString(Listbox1.Items.Strings[x],'0',''))-1 do

begin

richedit1.Lines.add(ini.ReadString(Listbox1.Items.Strings[x],inttostr(i+1),''));

end;

end;

end;

for x:=125 to form1.Width+120 do begin

DBGrid1.Left:=DbGrid1.Left+1;

Application.ProcessMessages;

end;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Ini.Free;

end;

procedure TForm1.Button2Click(Sender: TObject);

Var

x:integer;

begin

If Button2.Caption='Add' then

begin

for x:=0 to listbox1.Items.Count-1 do begin

if edit1.Text=listbox1.Items.Strings[x] then begin

messagedlg('I?iecioea ioeaea, iaaa?ii iacaaiea cai?ina',mtwarning,[mbok],0);

StatusBar1.SimpleText:='Error adding new Query...';

exit;

end;

end;

NewEditDelete(1);

StatusBar1.SimpleText:='Query '+Edit1.Text+' has been succesfully created...'

end;

If Button2.Caption='Edit' then begin

NewEditDelete(2);

statusbar1.SimpleText:='Query '+edit1.Text+' has been succesfully modifyed...'

end;

for x:=form1.Width+120 downto 125 do begin

DBGrid1.Left:=DbGrid1.Left-1;

Application.ProcessMessages;

end;

end;

procedure TForm1.ListBox1DblClick(Sender: TObject);

var

x,i:integer;

issecond : boolean;

begin

// ----- Organizing Query from selected in Listbox ----

MyQuery1.Active:=false;

MyQuery2.Active:=false;

MyQuery1.SQL.Clear;

MyQuery2.SQL.Clear;

issecond:=false;

For x:=0 to listbox1.Items.Count-1 do begin

If listbox1.Selected[x] then begin

Name:=Listbox1.Items.Strings[x];

For i:=0 to strtoint(ini.ReadString(Listbox1.Items.Strings[x],'0',''))-1 do

begin

if ini.ReadString(Listbox1.items.strings[x],inttostr(i+1),'') = 'Query2' then issecond:=true;

if not ((ini.ReadString(Listbox1.items.strings[x],inttostr(i+1),'') = 'Query2') or (issecond)) then MyQuery1.SQL.Add(ini.ReadString(Listbox1.Items.Strings[x],inttostr(i+1),''));

if not ((ini.ReadString(Listbox1.items.strings[x],inttostr(i+1),'') = 'Query2') or (issecond=false)) then MyQuery2.SQL.Add(ini.ReadString(Listbox1.Items.Strings[x],inttostr(i+1),''));

end;

end;

end;

MyQuery1.Active:=true;

If not (MyQuery2.SQL.text='') then begin

MyQuery2.Active:=true;

DBGrid1.DataSource:=Datasource5;

Normalize(DbGrid1,datasource5);

end

else Normalize(DbGrid1,datasource4);

StatusBar1.SimpleText:='Completed...';

Button4.Enabled:=true;

report1.enabled:=true;

end;

procedure TForm1.RichEdit1Change(Sender: TObject);

var

s,d:string;

x:integer;

Kur:TPoint;

begin

richedit1.SelAttributes.Color:=clblack;

//------------ Making Graphic Design -------------

kur:=Richedit1.CaretPos;

d:=Richedit1.Text;

d:=Lowercase(d);

For x:=1 to length(d) do begin

If (d[x]=' ') or (d[x]='(')or (d[x]=#10) or (ord(d[x])=13) then begin

If (s='from') or (s='where') or (s='group')

or (s='by') or (s='having') or (s='order')

or (s='select') or (s='as') or (s='like')

or (s='update') or (s='set') or (s='sum')

or (s='avg') or (s='max') or (s='min')

or (s='count') then

begin

richedit1.SelStart:=x-length(s)-1;

richedit1.SelLength:=length(s);

richedit1.SelAttributes.Color:=clNavy;

end;

s:='';

end else s:=s+d[x];

end;

Richedit1.CaretPos:=kur;

richedit1.SelAttributes.Color:=clblack

//------------------------------------------------

end;

procedure TForm1.CheckBox1Click(Sender: TObject);

begin

If checkbox1.Checked then begin

Adotable1.Active:=false;

Adotable1.IndexFieldNames:='clan';

Adotable1.MasterFields:='Name';

Adotable1.Active:=true;

end

else begin

Adotable1.Active:=false;

Adotable1.IndexFieldNames:='';

Adotable1.MasterFields:='';

Adotable1.Active:=true;

end;

end;

procedure TForm1.Report1Click(Sender: TObject);

begin

Form2.Show;

end;

procedure TForm1.Button3Click(Sender: TObject);

var

s:string;

begin

if inputquery(`Введите пароль','пароль',s) then

if s='asd' then begin

deletequery1.Enabled:=true;

editquery1.Enabled:=true;

end;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

form2.show;

end;

end.

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, QuickRpt, ExtCtrls, QRCtrls, StdCtrls;

type

TForm2 = class(TForm)

QuickRep1: TQuickRep;

ColumnHeaderBand1: TQRBand;

PageFooterBand1: TQRBand;

PageHeaderBand1: TQRBand;

DetailBand1: TQRBand;

TitleBand1: TQRBand;

Button1: TButton;

SummaryBand2: TQRBand;

Title: TQRLabel;

Button2: TButton;

Button3: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

LabelMassive : array[0..100] of TQRLabel;

TextMassive : array[0..100] of TQRDBText;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);

begin

quickrep1.preview;

end;

procedure TForm2.Button2Click(Sender: TObject);

var

x,y,i:integer;

begin

Title.Caption:=Form1.Name;

// Buildind Report

Form1.MyQuery1.First;

for x:=0 to Form1.DBGrid1.Columns.Count-1 do begin

LabelMassive[x]:=TQRLabel.Create(form2);

LabelMassive[x].Parent:=Columnheaderband1;

LabelMassive[x].Font.Style:=[fsbold];

LabelMassive[x].Caption:=Form1.DBGrid1.Columns[x].FieldName;

LabelMassive[x].Top:=trunc(columnheaderband1.Height/2);

labelmassive[x].AutoSize:=false;

labelmassive[x].Width:=Form1.DBGrid1.Columns[x].Width;

// labelmassive[x].Frame.DrawRight:=true;

if x>0 then LabelMassive[x].Left:=trunc(quickrep1.Width/(Form1.DBGrid1.Columns.Count+1))+LabelMassive[x-1].Left+labelmassive[x-1].width-LabelMassive[x].Width

else LabelMassive[x].Left:=trunc(quickrep1.Width/(Form1.DBGrid1.Columns.Count+1))-LabelMassive[x].Width;

LabelMassive[x].Show;

end;

for x:=0 to Form1.DBGrid1.Columns.Count-1 do begin

TextMassive[x]:=TQRDBtext.Create(form2);

TextMassive[x].Parent:=Detailband1;

TextMassive[x].DataSet:=Form1.MyQuery1;

TextMassive[x].DataField:=Form1.DBGrid1.Columns[x].FieldName;

TextMassive[x].Top:=trunc(detailband1.Height/2);

Textmassive[x].AutoSize:=false;

Textmassive[x].Width:=Form1.DBGrid1.Columns[x].Width;

// textmassive[x].Frame.DrawRight:=true;

if x>0 then textMassive[x].Left:=trunc(quickrep1.Width/(Form1.DBGrid1.Columns.Count+1))+textMassive[x-1].Left+textmassive[x-1].width-textMassive[x].Width

else textMassive[x].Left:=trunc(quickrep1.Width/(Form1.DBGrid1.Columns.Count+1))-textMassive[x].Width;

textMassive[x].Show;

end;

end;

procedure TForm2.Button3Click(Sender: TObject);

var

x:integer;

begin

for x:=0 to Form1.DBGrid1.Columns.Count-1 do begin

labelmassive[x].Free;

textmassive[x].Free;

end;

form2.hide;

end;

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.