Разработка программы учета абитуриентов

Автор работы: Пользователь скрыл имя, 21 Ноября 2010 в 18:16, Не определен

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

Программа позволяет вести учет абитуриентов в Делфи

Файлы: 1 файл

курсач.doc

— 2.21 Мб (Скачать файл)

    Справа  от навигатора 2, находятся две метки, которые служат для вывода отчетов. «Отчет» выводит детальную информацию с выводом диаграммы количества абитуриентов на каждой из специальностей и, соответственно факультете. «Отчет2» выводит отсортированную информацию по сумме баллов с группировкой по факультетам и специальностям.

    Далее расположена кнопка «Количество  по специальностям», нажатие на которую  приводит к выводу в сетке3 двух столбцов s_code и total. В первом столбце выводится код специальности, а во втором – количество абитуриентов.

    Нажав метку «О программе…» можно посмотреть информацию о разработчике.

    Нажатие метки «Выход» завершает работу программу с сохранением измененных таблиц.

    Если  были пропущены обязательные данные (в данном случае за этим следит BDE автоматически), то программа остановит свою работу и запись не будет добавлена до тех пор, пока не будут введены правильные.

    Все элементы формы снабжены поясняющими  надписями и всплывающими подсказками, и с ней очень просто работать.

    Данная программа разрабатывалась с использованием системы быстрой разработки программ (IDE) Delphi 5. Минимальные требования для работы: 256 Мб оперативной памяти, частота процессора 666 МГц, операционная система Windows 9x,Me,XP. Для работы программы требуется поддержка BDE, в связи с этим можно рекомендовать увеличение оперативной памяти.

    Таблица 3. Сообщения программы

      Сообщение программы Тип сообщения Действия оператора
Не  указано условие фильтрации! Предупреждение Ввести условие  или оставить по умолчанию. Во  втором случае выведутся все записи.
Неправильное  использование фильтра! Ошибка Правильно ввести условие фильтрации.
Не  получилось выполнить SQL запрос! Ошибка Ввести правильный запрос.
Оценка  допустима только от 2 до 5! Перехват ошибки. Ввести правильную оценку.
 

 

      Заключение 

      В данном курсовом проекте были выполнены  все поставленные задачи в соответствии с техническим заданием.

      Определены  состав и структура данных в виде 2-х связанных таблиц. Определены методы решения задач, разработаны SQL-запросы для выборки данных из БД, разработана программа в средстве разработки Borland Delphi. Описаны компоненты, использовавшиеся для разработки программы.

      Документированы возможности программы, разработано  руководство пользователя.

 

Литература

  1. Вейскас Д. Эффективная работа с Microsoft Access 97. / Вейскас Д. – С-Пб.: Питер, 1999.
  2. Калверт Ч. Borland C++ Builder / Калверт Ч., Рейсдорф К. – М.: Нолидж, 1998.
  3. Фаронов В.В. Система программирования Delphi / В.В. Фаронов – М.: Нолидж, 2002.
  4. Фаронов В.В. Системное программирование / В.В. Фаронов – М.: Нолидж, 2003.
  5. Inprise Corporation. Delphi Help. / Borland Press, 2000.
 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Приложение  А

Схема данных 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Приложение  Б

Схема работы программы 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Приложение  В

Текст программы 

 

a.pas

unit a; 

interface 

uses

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

  Grids, DBGrids, ExtCtrls, Db, DBTables, DBCtrls, StdCtrls; 

type

  Ta_f = class(TForm)

    Panel2: TPanel;

    Panel3: TPanel;

    DBGrid1: TDBGrid;

    DBGrid2: TDBGrid;

    DBNavigator1: TDBNavigator;

    Label1: TLabel;

    Panel1: TPanel;

    DBNavigator2: TDBNavigator;

    DBLookupComboBox1: TDBLookupComboBox;

    RadioGroup1: TRadioGroup;

    Label2: TLabel;

    Edit1: TEdit;

    Label3: TLabel;

    Edit2: TEdit;

    Label4: TLabel;

    DBGrid3: TDBGrid;

    Label5: TLabel;

    Label6: TLabel;

    Label8: TLabel;

    Label9: TLabel;

    Button1: TButton;

    Label7: TLabel;

    procedure DBLookupComboBox1Enter(Sender: TObject);

    procedure DBLookupComboBox1CloseUp(Sender: TObject);

    procedure Label4Click(Sender: TObject);

    procedure DBGrid2TitleClick(Column: TColumn);

    procedure Label3Click(Sender: TObject);

    procedure Label6Click(Sender: TObject);

    procedure Label8Click(Sender: TObject);

    procedure Label9Click(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure Label7Click(Sender: TObject);

    procedure FormPaint(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  a_f: Ta_f; 

implementation 

uses a_r, dm_u, a_r2, a_about; 

{$R *.DFM} 

procedure Ta_f.DBLookupComboBox1Enter(Sender: TObject);

begin

  dm.Table2.MasterSource:=Nil;

  dm.Table2.MasterFields:='';

  dm.Table2.IndexName:='';

end; 

procedure Ta_f.DBLookupComboBox1CloseUp(Sender: TObject);

begin

  dm.Table2.MasterSource:=dm.DataSource1;

  dm.Table2.MasterFields:='S_id';

  dm.Table2.IndexName:='a_index';

end; 

procedure Ta_f.Label4Click(Sender: TObject);

var

  filter: string;

begin

  if Edit1.Text=''

  then

  begin

    ShowMessage('Не указано условие фильтрации!');

    dm.Table2.Filtered:=False;

    Edit1.SetFocus;

    Exit;

  end;

  if RadioGroup1.ItemIndex=0

  then

    filter:='A_surname';

  if RadioGroup1.ItemIndex=1

  then

    filter:='A_physic';

  try

    dm.Table2.Filter:=filter+Edit1.Text;

    dm.Table2.Filtered:=True;

  except

    ShowMessage('Неправильное использование фильтра!');

    Edit1.SetFocus;

    Edit1.Text:='';

    Exit;

  end;

end; 

procedure Ta_f.DBGrid2TitleClick(Column: TColumn);

begin

  try

    if column.FieldName='A_surname'

    then

    begin

      dm.Query1.Close;

      dm.Query1.SQL.Clear;

      dm.Query1.SQL.add('select A_surname,A_math,A_physic,A_composition from "abiturients.db" order by A_surname asc');

      dm.Query1.Open;

    end;

    if column.FieldName='A_math'

    then

    begin

      dm.Query1.Close;

      dm.Query1.SQL.Clear;

      dm.Query1.SQL.add('select A_math,A_surname,A_physic,A_composition from "abiturients.db" order by A_math desc');

      dm.Query1.Open;

    end;

    if column.FieldName='A_physic'

    then

    begin

      dm.Query1.Close;

      dm.Query1.SQL.Clear;

      dm.Query1.SQL.add('select A_physic,A_surname,A_math,A_composition from "abiturients.db" order by A_physic desc');

      dm.Query1.Open;

    end;

    if column.FieldName='A_composition'

    then

    begin

      dm.Query1.Close;

      dm.Query1.SQL.Clear;

      dm.Query1.SQL.add('select A_composition,A_surname,A_math,A_physic from "abiturients.db" order by A_composition desc');

      dm.Query1.Open;

    end;

  except

    ShowMessage('Не получилось выполнить SQL запрос!');

  end;

end; 

procedure Ta_f.Label3Click(Sender: TObject);

begin

  try

    dm.Query1.Close;

    dm.Query1.SQL.Clear;

    dm.Query1.SQL.Add(Edit2.Text);

    dm.Query1.Open;

  except

    ShowMessage('Не получилось выполнить SQL запрос!');

  end;

end; 

procedure Ta_f.Label6Click(Sender: TObject);

begin

  a_r_f.Query1.Active:=False;

  a_r_f.Query1.Active:=True;

  a_r_f.report1.Preview;

end; 

procedure Ta_f.Label8Click(Sender: TObject);

begin

  if dm.Table1.Modified

  then

    dm.Table1.Post;

  if dm.Table2.Modified

  then

    dm.Table2.Post;

  Close;

end; 

procedure Ta_f.Label9Click(Sender: TObject);

begin

  a_r2_f.Query1.Active:=False;

  a_r2_f.Query1.Active:=True;

  a_r2_f.QuickRep1.Preview;

end; 

procedure Ta_f.Button1Click(Sender: TObject);

begin

  try

    dm.Query1.Close;

    dm.Query1.SQL.Clear;

    dm.Query1.SQL.Add('select s.s_code, count (a.a_id) total from abiturients a, specialities s where a.a_s_id=s.s_id group by s.s_id,s_code');

    dm.Query1.Open;

  except

    ShowMessage('Не получилось выполнить SQL запрос!');

  end;

end; 

procedure Ta_f.Label7Click(Sender: TObject);

begin

  AboutBox.ShowModal;

end; 

procedure Ta_f.FormPaint(Sender: TObject);

begin

  dm.Table2.MasterSource:=dm.DataSource1;

  dm.Table2.MasterFields:='S_id';

  dm.Table2.IndexName:='a_index';

end; 

end. 

Информация о работе Разработка программы учета абитуриентов