50134 (Создание базы данных "Wc3 Cybersport Data Base"), страница 2

2016-07-30СтудИзба

Описание файла

Документ из архива "Создание базы данных "Wc3 Cybersport Data Base"", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "50134"

Текст 2 страницы из документа "50134"

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('Ïðîèçîøëà îøèáêà, íåâåðíî íàçâàíèå çàïðîñà',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;

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5120
Авторов
на СтудИзбе
444
Средний доход
с одного платного файла
Обучение Подробнее