Электронная программа «Ежедневник»

Автор: Пользователь скрыл имя, 19 Мая 2013 в 19:13, курсовая работа

Описание работы

Электронная программа «Ежедневник» разработана на языке программирования Delphi. При разработке электронного ежедневника будет предусмотрено создание заметок о событии и соответствующей ему дате.
Данная программа предназначена для ведения файлов подобных страницам адресной записной книжки и способна полностью заменить собой ее бумажных предшественников. Созданная для этого система освободит пользователя от монотонной работы.

Работа содержит 1 файл

Курсовая_ИТ.docx

— 350.71 Кб (Скачать)

В результате проделанной  работы был повторен и использован  при разработке программы пройденный материал по программированию в среде  разработки Borland Delphi 7.

Достаточно  интересно было работать с графикой, с основными графическими инструментами  среды программирования Delphi.

 

Список использованной литературы

 

  1. Сван Т. Основы программирования в Delphi для Windows 95: Пер. с англ. - К: «Диалектика», 1996. -480 с.

2  Вирт Н. Алгоритмы и структуры данных.. Москва. Мир. 2001 г. 352 стр.

       3 Учебный курс лекций – практик.

 

 

 

 

 

 

Приложение А

Листинг программы

 

unit org_;

interface

uses

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

  Dialogs, DB, Grids, DBGrids, DBTables, StdCtrls, DBCtrls, ExtCtrls, Buttons;

type

  TForm1 = class(TForm)

    Table1: TTable;

    DataSource1: TDataSource;

    DBGrid1: TDBGrid;

    Query1: TQuery;

    Label1: TLabel;

    Button2: TButton;

    Button3: TButton;

    Button5: TButton;

    Label2: TLabel;

    DBNavigator1: TDBNavigator;

    BitBtn1: TBitBtn;

    procedure FormActivate(Sender: TObject);

    procedure Button5Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure FormResize(Sender: TObject);

    procedure BitBtn1Click(Sender: TObject);

    procedure Label2Click(Sender: TObject);

    private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1;

  stDay : array[1..7] of string[11] = ('воскресенье','понедельник','вторник',

                                       'среда','четверг','пятница','суббота');

  stMonth : array[1..12] of string[8] = ('января','февраля','марта',

                                          'апреля','мая','июня','июля',

                                          'августа','сентября','октября',

                                          'ноября','декабря');

implementation

{$R *.dfm}

uses DateUtils;

// сегодняшняя дата и день  недели

procedure TForm1.FormActivate(Sender: TObject);

var

  Present: TDateTime;

  Year, Month, Day : Word;

 begin

  Present:= Now; // Now - функция, возвращает текущую дату и время

  DecodeDate(Present, Year, Month, Day);

  Label1.Caption := 'Сегодня ' + IntToStr(Day)+' '

    + StMonth[Month] + ' '+ IntToStr(Year)+' года, '+stDay[DayOfWeek(Present)]+'.';

  Form1.Label2.Caption := 'Сегодня и на ближайшие дни:';

end;

// установление фона приложения, который берется из файла

procedure TForm1.FormResize(Sender: TObject);

var bm:TBitmap;

begin

  bm:=TBitmap.Create;

  bm.LoadFromFile('Fon.bmp');

  Canvas.StretchDraw(ClientRect,bm);

  bm.Free;

  end;

// щелчок на кнопке Сегодня

procedure TForm1.Button2Click(Sender: TObject);

var

    st : string; // критерий запроса

begin

    Form1.Label2.Caption := 'Сегодня';

    st:= FormatDateTime('dd/mm/yyyy',Now);

    Form1.Query1.SQL[3] := '(Data = '''+st+''')';

    Form1.Query1.Open;

    if form1.Query1.RecordCount <> 0 then

        form1.DataSource1.DataSet := Form1.Query1

    else begin

        ShowMessage('На сегодня никаких дел не запланировано.');

        //form1.DataSource1.DataSet := Table1;

    end;

end;

// щелчок по кнопке завтра

procedure TForm1.Button3Click(Sender: TObject);

var

  Present,              // сегодня

  Tomorrow: TDateTime;  // завтра

 begin

  Form1.Label2.Caption := 'Завтра';

  Present:= Now; // Now - функция, возвращает текущую дату и время

  Tomorrow := IncDay(Present);  // завтра

  Form1.Query1.SQL[3] :=

         '(Data = '''+ FormatDateTime('dd/mm/yyyy',Tomorrow)+''')';

  Form1.Query1.Open;

  if form1.Query1.RecordCount <> 0 then

        form1.DataSource1.DataSet := Form1.Query1

    else

        ShowMessage('На завтра никаких дел не запланировано!!!');

end;

// Закрытие приложения

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

Form1.Close();

end;

// показать все записи

procedure TForm1.Button5Click(Sender: TObject);

begin

        Form1.Label2.Caption := 'Планы на будущее';

        DataSource1.DataSet := Table1;

        Table1.Active := True;

    

end;

end.

// Главный модуль программы Организатор.

program org;

uses

  Forms,

  org_ in 'org_.pas' {Form1},

  SysUtils,Dialogs,

  DateUtils,  // для доступа к IncDay

  DBTables;   // для доступа к Session, AddStandardAlias

{$R *.res}

var

  Present: TDateTime;       // сегодня

  NextDay: TDateTime;       // следующий день

  Year, Month, Day : Word;  // год, месяц, день

  Query: TQuery; // запрос, обеспечивающий

// создание БД (таблицы)

begin

  Application.Initialize;

  Application.Title := 'Ежедневник';

  Application.CreateForm(TForm1, Form1);

// создадим псевдоним БД

 with Session do

 begin

    ConfigMode := cmSession;

    AddStandardAlias('diary',   // псевдоним БД

                      ExtractFilePath(ParamStr(0)), // каталог

                     'PARADOX');

 end;

// определим текущую дату

  Present:= Now; // Now - функция, возвращает текущую дату и время

  DecodeDate(Present, Year, Month, Day);

  case {dof} DayOfWeek(Present) of

    6:   NextDay := IncDay(Present,3);   // пятница

    7:   NextDay := IncDay(Present,2);   // суббта

    else NextDay := IncDay(Present,1)

  end;

  // запрос к базе данных: есть ли дела, запланированные на сегодня и ближайшие дни

  Form1.Query1.SQL[3] :=

         '(Data >= '''+ FormatDateTime('dd/mm/yyyy',Present)+''')' +  'and'+

         '(Data <= '''+ FormatDateTime('dd/mm/yyyy',NextDay)+''')';

  try

    Form1.Query1.Open;  // выполнить запрос

  except

    on E:EDBEngineError do

                begin

            MessageDlg('Файл таблицы базы данных не найден .'+#13+

            'Таблица будет создана.',mtWarning,[mbYes],0);

            Query := TQuery.Create(Form1);

            with Query do

            begin

                // сформируем запрос, обеспечивающий создание БД

                SQL.Add('CREATE TABLE diary (');

                SQL.Add('What CHAR(80),');

                SQL.Add('Data DATE);');

                ExecSQL;

            end;

            // таблица создана

            Form1.Query1.Open; // выполним запрос

        end;

  end;

  if Form1.Query1.RecordCount <> 0  // есть дела, запланированные на ближайшие дни

    then

        Form1.DataSource1.DataSet := Form1.Query1

    else

        begin

            Form1.DataSource1.DataSet := Form1.Table1;

            Form1.Table1.Open;

            ShowMessage('На сегодня и ближайшие дни никаких дел не запланировано.');

        end;

  Application.Run;

end.


Информация о работе Электронная программа «Ежедневник»