Работа с записями и файлами в Delphi

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

Краткое описание

Цель исследования – реализация программы на BorlandDelphi для чтения информации из файла и последующей ее обработки по заданным критериям
Для достижения названной цели в исследовании необходимо решить следующие задачи:
- осуществить постановку задач;
- создать блок-схемы алгоритмов;
- осуществить описание объектов, свойств, методов;
- разработать формы и представить текст программ;
- привести результаты тестирования программного продукта.

Содержание

Введение…………………………………………………………………….6
1. Теоретическая часть……………………………………………………..8
1.1 Постановка задачи…………………………………………………..8
1.2 Алгоритм решения задачи………………………………………….8
1.3 Блок-схема алгоритма………………………………………………9
2. Практическая часть…………………………………………………….10
2.1 Описание объектов, свойств и методов……………………….....10
2.2 Формы и основные модули текста программы в среде Delphi...13
2.3 Результат тестирования программного продукта……………….17
2.4 Графическое представление результатов………………………..18
2.5 Анализ полученных результатов……………………………….. 21
Заключение………………………………………………………………..22
Список использованных источников……

Вложенные файлы: 1 файл

kursach.docx

— 323.27 Кб (Скачать файл)

for a:= #224 to #255 do begin

c[i]:=a; i:=i+1;end;   // сортировка

for  v:= 1 to 31 do begin

for  x:= 1 to 31 do begin

for  i:= 1 to n do begin

if (gruppa[i].fam[1]=b[v]) and (gruppa[i].fam[2]=c[x]) then

memo1.Lines.Add(gruppa[i].fam+' '+gruppa[i].im+' '+gruppa[i].otch);

end;  end;   end;

end;

Кнопке  «Игроки с данными критериями» сопоставим следующий программный код:

 

procedure TForm1.Button1Click(Sender: TObject);

begin

// добавление  в список студентов

gruppa[i].fam:=Edit1.text;

gruppa[i].im:=Edit2.text;

gruppa[i].otch:=Edit3.text;

gruppa[i].adr:=Edit4.text;

gruppa[i].mark1:=strtoint(Edit5.text);

gruppa[i].mark2:=strtoint(Edit6.text);

gruppa[i].mark3:=strtoint(Edit7.text);

if (gruppa[i].mark3>10) or (gruppa[i].mark2>10) or (gruppa[i].mark1>10) then

MessageDlg('выввелинеправильнуюоценку(и)',  mtInformation, [mbOK], 0)else begin

gruppa[i].marksr:=(gruppa[i].mark1+gruppa[i].mark2+gruppa[i].mark3)/3;

memo1.Lines.Add(inttostr(i)+')'+gruppa[i].fam+' '+gruppa[i].im+' '+gruppa[i].otch+' '+gruppa[i].adr+' оценки '+inttostr(gruppa[i].mark1)+' '+inttostr(gruppa[i].mark2)+' '+inttostr(gruppa[i].mark3)+' среднее '+floattostr(gruppa[i].marksr));

;edit1.clear; edit2.clear; edit3.clear; edit4.clear;

edit5.clear; edit6.clear; edit7.clear;  end;

i:=i+1;n:=n+1;

end;

После создания приложения приступим к его тестированию.

 

 

2.3 Результат тестирования программного  продукта

Для решения задачи нами были введены следующие данные, представленные на рисунке 2.6

Рисунок 2.6 – Введенные данные

 

Запустим сортировку введенных  данных.

Рисунок 2.7 – Вид программы после сортировки абитуриентов по фамилии

Найдем  абитуриента проживающего в городе Брест.

 

Рисунок 2.8 – Информация об абитуриентахнайденных по критериям

 

Результаты отбора отображают информацию, соответствующую выбранным параметрам.

 

2.4 Графическое представление результатов

Результаты работы выводятся в информационное окно в правой части формы. Выводимая информация зависит от пользовательского запроса. Приведем примеры запросов и их обработка на рисунках 2.9 – 2.13.

 

Рисунок 2.9 – Начальное окно программы

 

Рисунок 2.10 – Заполненная программа

 

Рисунок 2.11 – Отсортированные данные

 

Рисунок 2.12 – Найденные данные

 

Рисунок 2.13 – Сохранение файла с информацией об абитуриентах

2.5 Анализ полученных результатов

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

 

ЗАКЛЮЧЕНИЕ

 

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

Созданы формы для ввода данных и вывода полученных результатов для поставленного  задания.

При выполнении заданий данной курсовой работы были получены представления о возможностях интегрированной среды разработки Delphi, командах меню, палитрой компонентов.

Для работы с программами созданы формы, на которых размещены поля для  ввода и вывода информации, кнопки для расчета выходных данных программы.

При выполнении курсовой работы:

  • была изучена теория и технология работы с средой программирования BorlandDelphi;
  • была изучена и проанализирована соответствующая литература;        
  • была составлена программа соответствующая заданию.

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

Знания, полученные в результате работы над  курсовым проектом, позволят в дальнейшем использовать Delphi для решения технических задач.

 

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

 

  1. Бобровский, С.И. Delphi 7. Учебный курс / С. И. Бобровский – СПб.: Питер, 2004. – 736 с.
  2. Голицына О.Л., Попов И.И. Основы алгоритмизации и программирования Учеб.пособие.  / О. Л. Голицына – М.: ФОРУМ, 2004. – 400 с
  3. Банкел, Дж. Фундаментальные алгоритмы и структура данных в Deplhi / Дж. Банкел; пер. С. Ю. Смирнова.  —  4-е изд. — М.: Юнити, 2008. — 691 с.
  4. Архангельский, А.Я. 100 компонентов общего назначения библиотеки Delphi / А. Я. Архангельский. — Москва : Бином,  2002. – 272 с.

 

ПРИЛОЖЕНИЕ

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

unitUnit1;

 

interface

 

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Dialogs, StdCtrls,

  Controls, Classes;

 

type

 

students=record

fam:string[20];

im:string[20];

otch:string[20];

adr:string[25];

   mark1:1..10;

   mark2:1..10;

   mark3:1..10;

marksr:real;

end;

 

  TForm1 = class(TForm)

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Edit1: TEdit;

    Edit2: TEdit;

    Edit3: TEdit;

    Label4: TLabel;

    Edit4: TEdit;

    Label5: TLabel;

    Edit5: TEdit;

    Edit6: TEdit;

    Edit7: TEdit;

    Button1: TButton;

    Button2: TButton;

    Memo1: TMemo;

    Button4: TButton;

    Button3: TButton;

    SaveDialog1: TSaveDialog;

    Button5: TButton;

    Edit8: TEdit;

procedure Button4Click(Sender: TObject);

procedureFormCreate(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

  Form1: TForm1; gruppa:array [1..1000] of students; n,i,k:integer; b:boolean;

implementation

 

{$R *.dfm}

 

procedure TForm1.Button1Click(Sender: TObject);

begin

// добавление  в список студентов

gruppa[i].fam:=Edit1.text;

gruppa[i].im:=Edit2.text;

gruppa[i].otch:=Edit3.text;

gruppa[i].adr:=Edit4.text;

gruppa[i].mark1:=strtoint(Edit5.text);

gruppa[i].mark2:=strtoint(Edit6.text);

gruppa[i].mark3:=strtoint(Edit7.text);

if (gruppa[i].mark3>10) or (gruppa[i].mark2>10) or (gruppa[i].mark1>10) then

MessageDlg('выввелинеправильнуюоценку(и)',  mtInformation, [mbOK], 0)else begin

gruppa[i].marksr:=(gruppa[i].mark1+gruppa[i].mark2+gruppa[i].mark3)/3;

memo1.Lines.Add(inttostr(i)+')'+gruppa[i].fam+' '+gruppa[i].im+' '+gruppa[i].otch+' '+gruppa[i].adr+' оценки '+inttostr(gruppa[i].mark1)+' '+inttostr(gruppa[i].mark2)+' '+inttostr(gruppa[i].mark3)+' среднее '+floattostr(gruppa[i].marksr));

;edit1.clear; edit2.clear; edit3.clear; edit4.clear;

edit5.clear; edit6.clear; edit7.clear;  end;

i:=i+1;n:=n+1;

end;

 

procedure TForm1.Button2Click(Sender: TObject);

var a:char; b:array [1..31] of string; c:array[1..31] of string; d:array [1..100000] of string;

v,x:integer;

begin

memo1.Lines.Add('результат сортировки по фамилии таковы :');

i:=1; //b - большие буквы , с- маленькие

for a:= #192 to #223 do begin

b[i]:=a; i:=i+1;end; i:=1;

for a:= #224 to #255 do begin

c[i]:=a; i:=i+1;end;   // сортировка

for  v:= 1 to 31 do begin

for  x:= 1 to 31 do begin

for  i:= 1 to n do begin

if (gruppa[i].fam[1]=b[v]) and (gruppa[i].fam[2]=c[x]) then

memo1.Lines.Add(gruppa[i].fam+' '+gruppa[i].im+' '+gruppa[i].otch);

end;  end;   end;

end;

 

procedure TForm1.Button3Click(Sender: TObject);

begin

// сохранение

if SaveDialog1.Execute then

memo1.Lines.SaveToFile(SaveDialog1.FileName+'.txt');

end;

 

procedure TForm1.Button4Click(Sender: TObject);

begin

form1.Close;

end;

 

procedure TForm1.Button5Click(Sender: TObject);

var x:string;

begin

// в городе X

x:=edit8.Text;

fori := 1 to n do

ifgruppa[i].adr=x then memo1.Lines.Add(gruppa[i].fam+' '+gruppa[i].im+' '+gruppa[i].otch);

end;

 

procedure TForm1.FormCreate(Sender: TObject);

begin

// создание  формы

memo1.Clear;

memo1.Lines.Add('список студентов таков :');

i:=1; n:=0;

end;

 

end.

 


Информация о работе Работа с записями и файлами в Delphi