- •Введение
- •2 Постановка задачи
- •2.1 Формулировка задачи
- •2.2 Обоснование необходимости разработки
- •2.3 Язык и среда разработки – обоснование выбора
- •3 Концептуальное проектирование
- •3.1 Перечень сущностей
- •3.2 Перечень атрибутов
- •5.2 Входные данные
- •5.3 Выходные данные
- •5.4 Описание интерфейса
- •5.5 Программно-аппаратные ресурсы пк
- •6 Применение
- •Заключение
- •Список использованных источников
- •Приложения
5.5 Программно-аппаратные ресурсы пк
Минимальными требованиями к аппаратному и программному обеспечению, для корректной работы программы:
– процессор: Pentium II 350 МГц и выше;
– видеокарта NVIDIA Geforce3 или выше;
– объем оперативной памяти: 5Мбайт;
– Операционная система: Windows XP, Windows Vista, Windows 7;
– свободное место на жестком диске не менее 50 Мбайт;
– наличие мыши.
6 Применение
Данную программу могут использовать администраторы интернет-кофе, компьютерных клубов и абсолютно любые пользователи, чему способствует несложный и интуитивно понятный интерфейс. Программа проста в использовании и не создает особых трудностей при ее использовании, особенно для тех, кто хоть раз имели дело с ПК. База данных «Интернет-салон» является интуитивно-понятным программным продуктом, обладающим приятным графическим интерфейсом.
Заключение
Данный курсовой проект создан в качестве программы базы данных для компьютерных заведений, для упрощения ведения документации, посещаемости и занятости компьютеров в данном заведении администратору. Программа проста и удобна в управлении, имеет приятный интерфейс и не требует больших ресурсных затрат. Программное средство функционирует должным образом и готово к применению в любом интернет-кофе, компьютерном клубе.
Список использованных источников
Delphi. Разработка баз данных Сорокин А.В. – СПб.: Питер, 2005. — 477 с.
А.Я. Архангельский Приемы программирования в Delphi .-М.:ЗАО «Издательство БИНОМ», 2003г.
А.Я. Архангельский Программирование в Delphi 7.-М.:ООО «Бином-Пресс», 2003г.-1152с.
Сухарев М.В. Основы Delphi. Профессиональный подход. – СПб.: Наука и Техника, 2004. – 600 с.: ил.
Кэнту М. Delphi 7: Для профессионалов. – СПб.: Питер, 2004. – 1101 с.: ил.
Фленов М.Е. Библия Delphi. – СПб.: БХВ-Петербург, 2004. – 880 с.: ил.
Фленов М.Е. Программирование в Delphi глазами хакера. – СПб.: БХВ-Петербург, 2004. – 368 с.: ил.
Различные интернет-ресурсы, в том числе поисковая система google.com
Приложения
Код программы
Главное окно:
unit main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Buttons, StdCtrls, ComCtrls, DBCtrls, Menus, Grids,
DBGrids, DB, ADODB, ComObj, XPMan;
type
Tf_Main = class(TForm)
Ecran: TImage;
ScreenPanel: TPanel;
Chrono: TLabel;
StatusBar: TStatusBar;
Led1: TShape;
Led2: TShape;
Led3: TShape;
Led4: TShape;
Led5: TShape;
Led6: TShape;
Led7: TShape;
Led8: TShape;
Led9: TShape;
Led10: TShape;
Led11: TShape;
Led12: TShape;
Led13: TShape;
Led14: TShape;
Led15: TShape;
Led16: TShape;
Led17: TShape;
Led18: TShape;
Led19: TShape;
Led20: TShape;
Start: TSpeedButton;
Pause: TSpeedButton;
Stop: TSpeedButton;
ListePostes: TPageControl;
TabSheet1: TTabSheet;
Pause1: TGroupBox;
LabPDebut1: TLabel;
LabTotal1: TLabel;
EditPDebut1: TEdit;
EditPTotal1: TEdit;
Rez1: TGroupBox;
LabOccupation1: TLabel;
LabStart1: TLabel;
LabEnd1: TLabel;
LabDuree1: TLabel;
Utilisation1: TGroupBox;
LabUDebut1: TLabel;
LabUFin1: TLabel;
EditUDebut1: TEdit;
EditUFin1: TEdit;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
TabSheet6: TTabSheet;
TabSheet7: TTabSheet;
TabSheet8: TTabSheet;
TabSheet9: TTabSheet;
TabSheet10: TTabSheet;
TabSheet11: TTabSheet;
TabSheet12: TTabSheet;
TabSheet13: TTabSheet;
TabSheet14: TTabSheet;
TabSheet15: TTabSheet;
TabSheet16: TTabSheet;
TabSheet17: TTabSheet;
TabSheet18: TTabSheet;
TabSheet19: TTabSheet;
TabSheet20: TTabSheet;
Pause2: TGroupBox;
LabPDebut2: TLabel;
LabPTotal2: TLabel;
EditPDebut2: TEdit;
EditPTotal2: TEdit;
Rez2: TGroupBox;
LabOccupation2: TLabel;
LabStart2: TLabel;
LabEnd2: TLabel;
LabDuree2: TLabel;
Utilisation2: TGroupBox;
LabUDebut2: TLabel;
LabUFin2: TLabel;
EditUDebut2: TEdit;
EditUFin2: TEdit;
Pause3: TGroupBox;
LabPDebut3: TLabel;
LabPTotal3: TLabel;
EditPDebut3: TEdit;
EditPTotal3: TEdit;
Rez3: TGroupBox;
LabOccupation3: TLabel;
LabStart3: TLabel;
LabEnd3: TLabel;
LabDuree3: TLabel;
Utilisation3: TGroupBox;
LabUDebut3: TLabel;
LabUFin3: TLabel;
EditUDebut3: TEdit;
EditUFin3: TEdit;
Pause4: TGroupBox;
LabPDebut4: TLabel;
LabPTotal4: TLabel;
EditPDebut4: TEdit;
EditPTotal4: TEdit;
Rez4: TGroupBox;
LabOccupation4: TLabel;
LabStart4: TLabel;
LabEnd4: TLabel;
LabDuree4: TLabel;
Utilisation4: TGroupBox;
LabUDebut4: TLabel;
LabUFin4: TLabel;
EditUDebut4: TEdit;
EditUFin4: TEdit;
Pause5: TGroupBox;
LabPDebut5: TLabel;
LabPTotal5: TLabel;
EditPDebut5: TEdit;
EditPTotal5: TEdit;
Rez5: TGroupBox;
LabOccupation5: TLabel;
LabStart5: TLabel;
LabEnd5: TLabel;
LabDuree5: TLabel;
Utilisation5: TGroupBox;
LabUDebut5: TLabel;
LabUFin5: TLabel;
EditUDebut5: TEdit;
EditUFin5: TEdit;
Pause6: TGroupBox;
LabPDebut6: TLabel;
LabPTotal6: TLabel;
EditPDebut6: TEdit;
EditPTotal6: TEdit;
Rez6: TGroupBox;
LabOccupation6: TLabel;
LabStart6: TLabel;
LabEnd6: TLabel;
LabDuree6: TLabel;
Utilisation6: TGroupBox;
LabUDebut6: TLabel;
LabUFin6: TLabel;
EditUDebut6: TEdit;
EditUFin6: TEdit;
Pause7: TGroupBox;
LabPDebut7: TLabel;
LabPTotal7: TLabel;
EditPDebut7: TEdit;
EditPTotal7: TEdit;
Rez7: TGroupBox;
LabOccupation7: TLabel;
LabStart7: TLabel;
LabEnd7: TLabel;
LabDuree7: TLabel;
Utilisation7: TGroupBox;
LabUDebut7: TLabel;
LabUFin7: TLabel;
EditUDebut7: TEdit;
EditUFin7: TEdit;
Pause8: TGroupBox;
LabPDebut8: TLabel;
LabPTotal8: TLabel;
EditPDebut8: TEdit;
EditPTotal8: TEdit;
Rez8: TGroupBox;
LabOccupation8: TLabel;
LabStart8: TLabel;
LabEnd8: TLabel;
LabDuree8: TLabel;
Utilisation8: TGroupBox;
LabUDebut8: TLabel;
LabUFin8: TLabel;
EditUDebut8: TEdit;
EditUFin8: TEdit;
Pause9: TGroupBox;
LabPDebut9: TLabel;
LabPTotal9: TLabel;
EditPDebut9: TEdit;
EditPTotal9: TEdit;
Rez9: TGroupBox;
LabOccupation9: TLabel;
LabStart9: TLabel;
LabEnd9: TLabel;
LabDuree9: TLabel;
Utilisation9: TGroupBox;
LabUDebut9: TLabel;
LabUFin9: TLabel;
EditUDebut9: TEdit;
EditUFin9: TEdit;
Pause10: TGroupBox;
LabPDebut10: TLabel;
LabPTotal10: TLabel;
EditPDebut10: TEdit;
EditPTotal10: TEdit;
Rez10: TGroupBox;
LabOccupation10: TLabel;
LabStart10: TLabel;
LabEnd10: TLabel;
LabDuree10: TLabel;
Utilisation10: TGroupBox;
LabUDebut10: TLabel;
LabUFin10: TLabel;
EditUDebut10: TEdit;
EditUFin10: TEdit;
Pause11: TGroupBox;
LabPDebut11: TLabel;
LabPTotal11: TLabel;
EditPDebut11: TEdit;
EditPTotal11: TEdit;
Rez11: TGroupBox;
LabOccupation11: TLabel;
LabStart11: TLabel;
LabEnd11: TLabel;
LabDuree11: TLabel;
Utilisation11: TGroupBox;
LabUDebut11: TLabel;
LabUFin11: TLabel;
EditUDebut11: TEdit;
EditUFin11: TEdit;
Pause12: TGroupBox;
LabPDebut12: TLabel;
LabPTotal12: TLabel;
EditPDebut12: TEdit;
EditPTotal12: TEdit;
Rez12: TGroupBox;
LabOccupation12: TLabel;
LabStart12: TLabel;
LabEnd12: TLabel;
LabDuree12: TLabel;
Utilisation12: TGroupBox;
LabUDebut12: TLabel;
LabUFin12: TLabel;
EditUDebut12: TEdit;
EditUFin12: TEdit;
Pause13: TGroupBox;
LabPDebut13: TLabel;
LabPTotal13: TLabel;
EditPDebut13: TEdit;
EditPTotal13: TEdit;
Rez13: TGroupBox;
LabOccupation13: TLabel;
LabStart13: TLabel;
LabEnd13: TLabel;
LabDuree13: TLabel;
Utilisation13: TGroupBox;
LabUDebut13: TLabel;
LabUFin13: TLabel;
EditUDebut13: TEdit;
EditUFin13: TEdit;
Pause14: TGroupBox;
LabPDebut14: TLabel;
LabPTotal14: TLabel;
EditPDebut14: TEdit;
EditPTotal14: TEdit;
Rez14: TGroupBox;
LabOccupation14: TLabel;
LabStart14: TLabel;
LabEnd14: TLabel;
LabDuree14: TLabel;
Utilisation14: TGroupBox;
LabUDebut14: TLabel;
LabUFin14: TLabel;
EditUDebut14: TEdit;
EditUFin14: TEdit;
Pause15: TGroupBox;
LabPDebut15: TLabel;
LabPTotal15: TLabel;
EditPDebut15: TEdit;
EditPTotal15: TEdit;
Rez15: TGroupBox;
LabOccupation15: TLabel;
LabStart15: TLabel;
LabEnd15: TLabel;
LabDuree15: TLabel;
Utilisation15: TGroupBox;
LabUDebut15: TLabel;
LabUFin15: TLabel;
EditUDebut15: TEdit;
EditUFin15: TEdit;
Pause16: TGroupBox;
LabPDebut16: TLabel;
LabPTotal16: TLabel;
EditPDebut16: TEdit;
EditPTotal16: TEdit;
Rez16: TGroupBox;
LabOccupation16: TLabel;
LabStart16: TLabel;
LabEnd16: TLabel;
LabDuree16: TLabel;
Utilisation16: TGroupBox;
LabUDebut16: TLabel;
LabUFin16: TLabel;
EditUDebut16: TEdit;
EditUFin16: TEdit;
Pause17: TGroupBox;
LabPDebut17: TLabel;
LabPTotal17: TLabel;
EditPDebut17: TEdit;
EditPTotal17: TEdit;
Rez17: TGroupBox;
LabOccupation17: TLabel;
LabStart17: TLabel;
LabEnd17: TLabel;
LabDuree17: TLabel;
Utilisation17: TGroupBox;
LabUDebut17: TLabel;
LabUFin17: TLabel;
EditUDebut17: TEdit;
EditUFin17: TEdit;
Pause18: TGroupBox;
LabPDebut18: TLabel;
LabPTotal18: TLabel;
EditPDebut18: TEdit;
EditPTotal18: TEdit;
Rez18: TGroupBox;
LabOccupation18: TLabel;
LabStart18: TLabel;
LabEnd18: TLabel;
LabDuree18: TLabel;
Utilisation18: TGroupBox;
LabUDebut18: TLabel;
LabUFin18: TLabel;
EditUDebut18: TEdit;
EditUFin18: TEdit;
Pause19: TGroupBox;
LabPDebut19: TLabel;
LabPTotal19: TLabel;
EditPDebut19: TEdit;
EditPTotal19: TEdit;
Rez19: TGroupBox;
LabOccupation19: TLabel;
LabStart19: TLabel;
LabEnd19: TLabel;
LabDuree19: TLabel;
Utilisation19: TGroupBox;
LabUDebut19: TLabel;
LabUFin19: TLabel;
EditUDebut19: TEdit;
EditUFin19: TEdit;
Pause20: TGroupBox;
LabPDebut20: TLabel;
LabPTotal20: TLabel;
EditPDebut20: TEdit;
EditPTotal20: TEdit;
Rez20: TGroupBox;
LabOccupation20: TLabel;
LabStart20: TLabel;
LabEnd20: TLabel;
LabDuree20: TLabel;
Utilisation20: TGroupBox;
LabUDebut20: TLabel;
LabUFin20: TLabel;
EditUDebut20: TEdit;
EditUFin20: TEdit;
StatsBar: TTimer;
BtnFiches: TSpeedButton;
BtnSystray: TSpeedButton;
BtnBPropos: TSpeedButton;
BtnTri: TSpeedButton;
BtnFacture: TSpeedButton;
SystrayMenu: TPopupMenu;
Restaurer1: TMenuItem;
APropos1: TMenuItem;
Quitter1: TMenuItem;
Clients: TDBGrid;
Compteur: TTimer;
ADOConnection1: TADOConnection;
ADOCommand1: TADOCommand;
DataSource1: TDataSource;
XPLook: TXPManifest;
LabOccupation21: TLabel;
DayBtn: TSpeedButton;
MonBtn: TSpeedButton;
TableBtn: TSpeedButton;
ADOTable1: TADOTable;
procedure StatsBarTimer(Sender: TObject);
procedure BtnFactureClick(Sender: TObject);
procedure BtnBProposClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BtnSystrayClick(Sender: TObject);
procedure TrayIconDblClick(Sender: TObject);
procedure QuitterClick(Sender: TObject);
procedure StartClick(Sender: TObject);
procedure PauseClick(Sender: TObject);
procedure StopClick(Sender: TObject);
procedure ListePostesChange(Sender: TObject);
procedure CompteurTimer(Sender: TObject);
procedure BtnFichesClick(Sender: TObject);
procedure ClientsDblClick(Sender: TObject);
procedure BtnTriClick(Sender: TObject);
procedure TableBtnClick(Sender: TObject);
procedure DayBtnClick(Sender: TObject);
procedure MonBtnClick(Sender: TObject);
private
{ }
public
{ }
end;
var
f_Main: Tf_Main;
i : integer;
Time1, Time2, Time3 : TDateTime;
Led0 : TShape;
EditUDebut0, EditUFin0, EditPDebut0, EditPTotal0 : TEdit;
LabOccupation0, LabStart0, LabEnd0, LabDuree0 : TLabel;
implementation
uses APropos, Clients, Tri,Month, BPropos, DaTime, DayMonth, Day;
{$R *.dfm}
procedure Tf_Main.ListePostesChange(Sender: TObject);
begin
i:= ListePostes.TabIndex + 1;
Led0 := TShape(FindComponent('Led'+IntToStr(i)));
EditUDebut0 := TEdit(FindComponent('EditUDebut'+IntToStr(i)));
EditUFin0 := TEdit(FindComponent('EditUFin'+IntToStr(i)));
EditPDebut0 := TEdit(FindComponent('EditPDebut'+IntToStr(i)));
EditPTotal0 := TEdit(FindComponent('EditPTotal'+IntToStr(i)));
LabOccupation0 := TLabel(FindComponent('LabOccupation'+IntToStr(i)));
if Led0.Brush.Color = clRed then LabOccupation21.Caption := ''
else if i < 10 then LabOccupation21.Caption := '0'+IntToStr(i)+' компьютер активен'
else LabOccupation21.Caption := IntToStr(i)+ ' компьютер активен';
LabStart0 := TLabel(FindComponent('LabStart'+IntToStr(i)));
LabEnd0 := TLabel(FindComponent('LabEnd'+IntToStr(i)));
LabDuree0 := TLabel(FindComponent('LabDuree'+IntToStr(i)));
end;
procedure Tf_Main.StartClick(Sender: TObject);
begin
if Led0.Brush.Color = clRed then
begin
TimeForm.ADOTable1.Append;
TimeForm.ADOTable1.FieldByName('PreNomer').AsString:=LabOccupation0.Caption;
TimeForm.ADOTable1.FieldByName('NTabDate').AsString:=DateToStr(Date);
TimeForm.ADOTable1.FieldByName('NTabTime').AsString:=TimeToStr(Time);
TimeForm.adotable1.post;
EditUDebut0.Text := DateTimeToStr(Now);
LabStart0.Caption := 'Начало использования:'+FormatDateTime('dddddd в hh:nn:ss',Now);
if i < 10 then LabOccupation0.Caption := '0'+IntToStr(i)+' компьютер'
else LabOccupation0.Caption := IntToStr(i)+ ' компьютер';
if i < 10 then LabOccupation21.Caption := '0'+IntToStr(i)+' компьютер активен'
else LabOccupation21.Caption := IntToStr(i)+ ' компьютер активен';
LabOccupation0.Caption := LabOccupation0.Caption+' занимают : ';
LabEnd0.Caption := 'Конец использования:';
LabDuree0.Caption := 'Продолжительность использования:';
EditUFin0.Text := '';
EditPTotal0.Text := '00:00:00';
Led0.Brush.Color := clBlue;
end
else if Led0.Brush.Color = clYellow then ShowMessage('Это сообщение приостановлено!')
else if Led0.Brush.Color = clBlue then ShowMessage('Это сообщение уже используется!');
end;
procedure Tf_Main.PauseClick(Sender: TObject);
begin
if Led0.Brush.Color = clBlue then
begin
EditPDebut0.Text := DateTimeToStr(Now);
Led0.Brush.Color := clYellow
end
else if Led0.Brush.Color = clYellow then
begin
Time3 := StrToDateTime(EditPTotal0.Text);
Time1 := StrToDateTime(EditPDebut0.Text);
Time2 := Now;
Time1 := Time2 - Time1 + Time3;
EditPTotal0.Text := TimeToStr(Time1);
EditPDebut0.Text := '';
Led0.Brush.Color := clBlue
end
else if Led0.Brush.Color = clRed then ShowMessage('Эта позиция является остановка!');
end;
procedure Tf_Main.StopClick(Sender: TObject);
begin
if Led0.Brush.Color = clBlue then
begin
EditUFin0.Text := DateTimeToStr(Now);
Time2 := Now;
Time1 := StrToDateTime(EditUDebut0.Text);
Time3 := StrToDateTime(EditPTotal0.Text);
LabOccupation21.Caption := '';
LabEnd0.Caption := 'Конец использования:'+FormatDateTime('dddddd в hh:nn:ss',Time2);
LabDuree0.Caption := 'Продолжительность использования:'+TimeToStr(Time2 - Time1 - Time3);
Led0.Brush.Color := clRed
end
else if Led0.Brush.Color = clYellow then ShowMessage('Это сообщение приостановлено!')
else if Led0.Brush.Color = clRed then ShowMessage('Это сообщение уже остановлено!');
Posec.ADOTable1.Active:=false;
Poz.ADOTable1.Active:=false;
Posec.ADOTable1.Active:=true;
Poz.ADOTable1.Active:=true;
end;
procedure Tf_Main.CompteurTimer(Sender: TObject);
begin
if Led0.Brush.Color = clBlue then
begin
Time1 := StrToDateTime(EditUDebut0.Text);
Time2 := Now;
Chrono.Font.Color := clWhite;
Chrono.Caption := TimeToStr(Time2-Time1);
end
else if Led0.Brush.Color = clYellow then
begin
Time3 := StrToDateTime(EditPTotal0.Text);
Time1 := StrToDateTime(EditPDebut0.Text);
Time2 := Now;
Chrono.Font.Color := clYellow;
Chrono.Caption := TimeToStr(Time2 - Time1 + Time3);
end
else if Led0.Brush.Color = clRed then
begin
Chrono.Font.Color := clRed;
Chrono.Caption := '00:00:00';
end;
end;
procedure Tf_Main.StatsBarTimer(Sender: TObject);
begin
StatusBar.Panels[0].Text := FormatDateTime('dddd dd mmmm yyyy',Date);
StatusBar.Panels[1].Text := FormatDateTime('hh:nn:ss',Time);
StatusBar.Panels[3].Text := IntToStr(ADOTable1.RecordCount);
end;
procedure Tf_Main.FormCreate(Sender: TObject);
var Catalog : OLEVariant;
BDPath, BDNew, BDStruct : String;
begin
ListePostesChange(sender);
BDPath := GetCurrentDir+'\Chronos.mdb';
BDNew := 'Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source=' + BDPath + ';' +
'User ID=Admin;' +
'Mode=Share Deny None;Extended Properties="";' +
'Jet OLEDB:Engine Type=5;';
BDSTruct := 'CREATE TABLE Clients (' +
'id COUNTER PRIMARY KEY,' +
'Numero INTEGER,' +
'Nom VARCHAR(50),' +
'Prenom VARCHAR(30),' +
'Telephone VARCHAR(10),' +
'Portable VARCHAR(10),' +
'Naissance VARCHAR(10),' +
'Adresse MEMO,' +
'Email VARCHAR(100))';
if FileExists(BDPath) then
begin
ADOConnection1.ConnectionString := BDNew ;
ADOTable1.Active := True;
end
else
begin
Catalog := CreateOLEObject('ADOX.Catalog');
Catalog.Create(BDNew);
ADOConnection1.ConnectionString := BDNew;
ADOConnection1.LoginPrompt := False;
ADOConnection1.Connected := True;
ADOCommand1.Connection := ADOConnection1;
ADOCommand1.CommandText := BDSTruct;
ADOCommand1.Execute;
ADOTable1.Active;
end;
end;
procedure Tf_Main.ClientsDblClick(Sender: TObject);
begin
LabOccupation0.Caption := LabOccupation0.Caption + ' '
+ ADOTable1.FieldByName('Nom').AsString
+ ' '
+ ADOTable1.FieldByName('Prenom').AsString;
end;
procedure Tf_Main.BtnTriClick(Sender: TObject);
begin
Triage.Show;
end;
procedure Tf_Main.BtnFactureClick(Sender: TObject);
var
XLapp, Sheet, Colum:Variant;
index,i:Integer;
begin
XLApp:= CreateOleObject('Excel.Application');
XLApp.Visible:=true;
XLApp.Workbooks.Add(-4167);
XLApp.Workbooks[1].WorkSheets[1].Name:='Отчёт';
Colum:=XLApp.Workbooks[1].WorkSheets['Отчёт'].Columns;
Colum.Columns[1].ColumnWidth:=4;
Colum.Columns[2].ColumnWidth:=10;
Colum.Columns[3].ColumnWidth:=15;
Colum.Columns[4].ColumnWidth:=10;
Colum.Columns[5].ColumnWidth:=16;
Colum.Columns[6].ColumnWidth:=16;
Colum.Columns[7].ColumnWidth:=35;
Colum.Columns[8].ColumnWidth:=20;
Colum:=XLApp.Workbooks[1].WorkSheets['Отчёт'].Rows;
Colum.Rows[2].Font.Bold:=true;
Colum.Rows[1].Font.Bold:=true;
Colum.Rows[1].Font.Color:=clBlue;
Colum.Rows[1].Font.Size:=11;
Colum.Rows[2].Font.Size:=11;
Colum.Rows.Font.Name:=' MS Sans Serif';
Sheet:=XLApp.Workbooks[1].WorkSheets['Отчёт'];
Sheet.Cells[1,2]:=',,База данных "Интернет-салон"" '+DateToStr(Date);
Sheet.Cells[2,1]:='id';
Sheet.Cells[2,2]:='Имя';
Sheet.Cells[2,3]:='Фамилия';
Sheet.Cells[2,4]:='Дом. Тел';
Sheet.Cells[2,5]:='Моб. телефон';
Sheet.Cells[2,6]:='Дата рождения';
Sheet.Cells[2,7]:='Адрес';
Sheet.Cells[2,8]:='Email';
index :=3;
f_main.ADOTable1.First;
for i:=0 to f_main.ADOTable1.RecordCount-1 do
begin
Sheet.Cells[index,1]:= f_main.ADOTable1.Fields.Fields[1].AsString;
Sheet.Cells[index,2]:= f_main.ADOTable1.Fields.Fields[2].AsString;
Sheet.Cells[index,3]:= f_main.ADOTable1.Fields.Fields[3].AsString;
Sheet.Cells[index,4]:= f_main.ADOTable1.Fields.Fields[4].AsString;
Sheet.Cells[index,5]:= f_main.ADOTable1.Fields.Fields[5].AsString;
Sheet.Cells[index,6]:= f_main.ADOTable1.Fields.Fields[6].AsString;
Sheet.Cells[index,7]:= f_main.ADOTable1.Fields.Fields[7].AsString;
Sheet.Cells[index,8]:= f_main.ADOTable1.Fields.Fields[8].AsString;
Inc(index);
f_main.ADOTable1.Next;
end;
XLapp.ActiveSheet.PrintOut;
end;
procedure Tf_Main.BtnFichesClick(Sender: TObject);
begin
Infos.Show;
end;
procedure Tf_Main.BtnSystrayClick(Sender: TObject);
begin
Summa.Show;
end;
procedure Tf_Main.TrayIconDblClick(Sender: TObject);
begin
Show();
WindowState := wsNormal;
Application.BringToFront;
end;
procedure Tf_Main.QuitterClick(Sender: TObject);
begin
Close;
end;
procedure Tf_Main.BtnBProposClick(Sender: TObject);
begin
B_Propos.Show;
end;
procedure Tf_Main.TableBtnClick(Sender: TObject);
begin
TimeForm.Show;
end;
procedure Tf_Main.DayBtnClick(Sender: TObject);
begin
Poz.Show;
end;
procedure Tf_Main.MonBtnClick(Sender: TObject);
begin
Posec.Show;
end;
end.
Информация:
unit Clients;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, StdCtrls, Mask, Grids, DBGrids, DB, ADODB;
type
TInfos = class(TForm)
DBGrid1: TDBGrid;
name: TDBEdit;
family: TDBEdit;
LabNom: TLabel;
LabPrenom: TLabel;
LabFixe: TLabel;
LabPortable: TLabel;
hometel: TDBEdit;
mobtel: TDBEdit;
LabAdresse: TLabel;
LabEmail: TLabel;
DBNavigator1: TDBNavigator;
LabNaissance: TLabel;
LabNumero: TLabel;
birth: TDBEdit;
Email: TDBEdit;
Client: TDBEdit;
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
DataSource1: TDataSource;
Adress: TDBMemo;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ }
public
{ }
end;
var
Infos: TInfos;
implementation
uses main, Month;
{$R *.dfm}
procedure TInfos.FormCreate(Sender: TObject);
var BDPath, BDNew : String;
begin
BDPath := GetCurrentDir+'\Chronos.mdb';
BDNew := 'Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source=' + BDPath + ';' +
'User ID=Admin;' +
'Mode=Share Deny None;Extended Properties="";' +
'Jet OLEDB:Engine Type=5;';
ADOConnection1.ConnectionString := BDNew;
ADOTable1.Active := True;
end;
procedure TInfos.FormClose(Sender: TObject; var Action: TCloseAction);
begin
f_Main.ADOTable1.Close;
f_Main.ADOTable1.Open;
end;
end.
Сортировка:
unit Tri;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TTriage = class(TForm)
TriBox: TRadioGroup;
procedure TriBoxClick(Sender: TObject);
private
{ }
public
{ }
end;
var
Triage: TTriage;
implementation
uses main, Clients, Month;
{$R *.dfm}
procedure TTriage.TriBoxClick(Sender: TObject);
begin
case TriBox.ItemIndex of
0: begin
f_Main.ADOTable1.IndexFieldNames := 'id';
Infos.ADOTable1.IndexFieldNames := 'id';
end;
1: begin
f_Main.ADOTable1.IndexFieldNames := 'Numero';
Infos.ADOTable1.IndexFieldNames := 'Numero';
end;
2: begin
f_Main.ADOTable1.IndexFieldNames := 'Nom';
Infos.ADOTable1.IndexFieldNames := 'Nom';
end;
3: begin
f_Main.ADOTable1.IndexFieldNames := 'Prenom';
Infos.ADOTable1.IndexFieldNames := 'Prenom';
end;
end;
end;
end.
Данные о посещаемости:
unit Month;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, StdCtrls, Mask, Grids, DBGrids, DB, ADODB;
type
TSumma = class(TForm)
DataSource1: TDataSource;
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
Month: TDBGrid;
DBNavigator1: TDBNavigator;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Summa: TSumma;
implementation
uses main;
{$R *.dfm}
procedure TSumma.FormCreate(Sender: TObject);
var BDPath1, BDNew1 : String;
begin
BDPath1 := GetCurrentDir+'\Chronos.mdb';
BDNew1 := 'Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source=' + BDPath1 + ';' +
'User ID=Admin;' +
'Mode=Share Deny None;Extended Properties="";' +
'Jet OLEDB:Engine Type=5;';
ADOConnection1.ConnectionString := BDNew1;
ADOTable1.Active := True;
end;
procedure TSumma.FormClose(Sender: TObject; var Action: TCloseAction);
begin
f_Main.ADOTable1.Close;
f_Main.ADOTable1.Open;
end;
end.
Дата и время посещений:
unit DaTime;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, ADODB;
type
TTimeForm = class(TForm)
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
DataSource1: TDataSource;
DaTime: TDBGrid;
DBNavigator1: TDBNavigator;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
TimeForm: TTimeForm;
implementation
uses main;
{$R *.dfm}
procedure TTimeForm.FormCreate(Sender: TObject);
var BDPath, BDNew : String;
begin
BDPath := GetCurrentDir+'\Chronos.mdb';
BDNew := 'Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source=' + BDPath + ';' +
'User ID=Admin;' +
'Mode=Share Deny None;Extended Properties="";' +
'Jet OLEDB:Engine Type=5;';
ADOConnection1.ConnectionString := BDNew;
ADOTable1.Active := True;
end;
procedure TTimeForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
f_Main.ADOTable1.Close;
f_Main.ADOTable1.Open;
end;
end.
Посещений за день:
unit Day;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, DB, ADODB;
type
TPoz = class(TForm)
DateTimePicker1: TDateTimePicker;
BtnD: TButton;
ADOTable1: TADOTable;
ADOConnection1: TADOConnection;
DataSource1: TDataSource;
procedure BtnDClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Poz: TPoz;
implementation
uses Main, DaTime, Month, DayMonth;
{$R *.dfm}
procedure TPoz.BtnDClick(Sender: TObject);
var c:tdate;
begin
DateTimePicker1.Date:=StrToDate(FormatDateTime('dd.mm.yy',Date));
ADOTable1.filter:='NTabDate='+DateToStr(DateTimePicker1.Date);
ADOTable1.filtered:=true;
Showmessage('За ' + DateToStr(DateTimePicker1.Date) + ' посещений ' + IntToStr(ADOTable1.RecordCount));
Summa.ADOTable1.Append;
Summa.adotable1.fieldbyname('PreDa').AsString:=FormatDateTime('dd.mm.yy',Date);
Summa.ADOTable1.FieldByName('NDay').AsString:=IntToStr(ADOTable1.RecordCount);
Summa.ADOTable1.FieldByName('NMonth').AsString:=IntToStr(Posec.ADOTable1.RecordCount);
Summa.ADOTable1.Post;
end;
procedure TPoz.FormCreate(Sender: TObject);
var BDPath, BDNew : String;
begin
BDPath := GetCurrentDir+'\Chronos.mdb';
BDNew := 'Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source=' + BDPath + ';' +
'User ID=Admin;' +
'Mode=Share Deny None;Extended Properties="";' +
'Jet OLEDB:Engine Type=5;';
ADOConnection1.ConnectionString := BDNew;
ADOTable1.Active := True;
end;
end.
Посещений в указанный период:
unit DayMonth;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ADODB, DB, Grids, DBGrids, Buttons, StdCtrls, ComCtrls;
type
TPosec = class(TForm)
ADOConnection1: TADOConnection;
DataSource1: TDataSource;
ADOTable1: TADOTable;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
BtnPos: TButton;
procedure BtnPosClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Posec: TPosec;
implementation
uses Main, DaTime, Month;
{$R *.dfm}
procedure TPosec.BtnPosClick(Sender: TObject);
begin
ADOTable1.filter:='NTabDate>='+DateToStr(DateTimePicker1.Date)+' and NTabDate<='+DateToStr(DateTimePicker2.Date);
ADOTable1.filtered:=true;
Showmessage('C ' + DateToStr(DateTimePicker1.Date) + ' до ' + DateToStr(DateTimePicker2.Date) + ' посещений ' + IntToStr(ADOTable1.RecordCount));
end;
procedure TPosec.FormCreate(Sender: TObject);
var BDPath, BDNew : String;
begin
BDPath := GetCurrentDir+'\Chronos.mdb';
BDNew := 'Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source=' + BDPath + ';' +
'User ID=Admin;' +
'Mode=Share Deny None;Extended Properties="";' +
'Jet OLEDB:Engine Type=5;';
ADOConnection1.ConnectionString := BDNew;
ADOTable1.Active := True;
end;
end.