Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ АДМИНИСТРАЦИИ ВЛАДИМИРСКОЙ ОБЛАСТИ

ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ СРЕДНЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ ВЛАДИМИРСКОЙ ОБЛАСТИ

«АЛЕКСАНДРОВСКИЙ ПРОМЫШЛЕННО-ГУМАНИТАРНЫЙ КОЛЛЕДЖ»

КУРСОВАЯ РАБОТА

СПЕЦИАЛЬНОСТЬ: Прикладная информатика

ДИСЦИПЛИНА: Предметно-ориентированное программное обеспечение

ТЕМА : «Тип “запись” –инструмент для создания файлов записей – электронное хранилище информации по типу баз данных, сравнение записи с таблицей баз данных. Создание приложений по обработке файла записей.»

ВЫПОЛНИЛА студент группы ВТ-41

ТИМОШЕНКО РОМАН ВЛАДИМИРОВИЧ

РУКОВОДИТЕЛЬ

2012 год

Оглавление

Введение. 3

Теоретические основы темы.. 4

Практическая часть. 7

Формулировка задач. 7

Постановка задачи. 8

Описание исходной (входной) информации. 8

Описание результатной (выходной) информации. 9

Алгоритм решения приложения. 10

Блок-схема приложения. 11

Описание программы.. 20

Назначение и применение программы.. 20

Интерфейс приложения. 20

Описание внутренней структуры приложения. 21

Описание алгоритмов приложения. 22

Программный код приложения. 24

Инструкция по работе с программой. 39

Заключение. 44

Список литературы.. 45

Приложения. 46

Введение

Записи

В информационно-поисковых системах (таких как адресное бюро, телефонная справочная служба и т. п) приходится хранить и обрабатывать большие объемы данных. При решении научно-технических и экономических задач обработки совокупностей большого количества значений используются массивы. Но основное ограничение работы с массивами заключается в том, что все элементы массива должны иметь один и тот, же тип данных. Иногда для решения задач, в которых возникает необходимость хранить и обрабатывать совокупности данных различного типа, используются отдельные массивы для каждого типа данных, а для установления соответствия между ними вводятся соответствующие индексы.

НЕ нашли? Не то? Что вы ищете?

Итак, реальные данные об объектах часто описываются величинами разных типов. Например, товар на складе описывается следующими величинами: наименование, количество, цена, наличие сертификата качества и т. д. В этом примере наименование – величина типа String, количество – integer, цена – real, наличие сертификата качества – Boolean. Для записи комбинации объектов разных типов в Delphi применяется комбинированный тип данных – запись.

Запись представляет собой наиболее общий и гибкий структурированный тип данных, так как она может быть образована из разнотипных компонентов и в ней явным образом выражена связь между элементами данных, характеризующими реальный объект.

Теоретические основы темы

Описание типа «запись»

Запись – это структурированный тип данных, состоящий из фиксированного числа компонентов одного или нескольких типов. Определение типа записи начинается идентификатором record и заканчивается зарезервированным словом end. Между ними распологается списов компонентов, называемых полями, с указанием идентификаторов полей и типа каждого поля.

Формат

<имя типа> = record

<идентификатор поля>:<тип компонента>;

<идентификатор поля>:<тип компонента>;

End;

Var

<идентификатор..> : <имя типа>;

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

Значение полей записи могут использоваться в выражениях. Имена отдельных полей не применяются так, как идентификаторы переменных, поскольку может существовать несколько записей одинакового типа. Обращение к значению поля осуществляется с помощью идентификатора переменной и идентификатора поля, разделенных точкой. Такая комбинация называется составным именем.

Составное имя можно использовать везде, где допустимо применение типа поля. Для присваивания полям значений используется оператор присваивания.

В ряде задач удобно пользоватся массивами из записей. Их можно описать следующим образом:

Person = record

Fio: string [20];

Age:1..99;

Prof:string[30];

End;

Var

List:array[1..50] of person;

Обращение к полям записи имеет несколько гомоздкий вид, что особенно неудобно при использовании мнемонических идентификаторов длинной более пяти символов. Для решения этой проблемы в языке Delphi предназначен оператор with, который имеет следующий формат:

With <переменная типа запись> do <оператор>;

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

Delphi допускается вложение записей (то есть поле записи, в свою очередь, тоже может являться записью), соответсвенно, оператор with тоже может быть вложенным

With RV1, RV2, … , RVn do …

Уровень вложенности не должен привышать 9.

Обычно записи используются при работе с динамическими структурами и для организации файлов на дисках. Записи могут служить также для описания комплексных чисел, так как в Delphi нет для этого специальных средств, В этом случае действительная и мнимая части комплексного числа являются полями записи.

Записи с вариантами

Записи, представленные ранее, имеют строго определенную структуру. В некоторых случаях это серьезно ограничивает возможности их применения. Поэтому в Delphi имеется возможность задать тип записи, содержащий произвольное число вариантов структуры. Такие записи называются записями с вариантами. Записи с вариантами обеспечивают средства объединения записей, которые похожи, но не идентичны по форме. Они состоят из фиксированной и вариантной частей.

Использование фиксированной части не отличается от описанного ранее.

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

Компоненты каждого варианта (идентификаторы полей и их типы) заключается в круглые скобки. У части case нет отдельного слова end, как это следовало бы ожидать по аналогии с оператором case. Одно слово end заканчивает всю конструкцию записи с вариантами. Необходимо отметить, что количество полей каждого из вариантов не ограничено.

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

Практическая часть

Формулировка задач

«Учет товаров на складе». Разработать приложение, реализующее создание и обработку файла данных, следующей структуры:

·  Дата поступления

·  Код товара

·  Наименование товара

·  Фирма изготовитель

·  Марка товара

·  Сорт

·  Единица измерения

·  Цена единицы товара

·  Количество

·  Стоимость (расчетная)

Режимы работы программы:

·  Ввод данных с клавиатуры и запись в файл POSTUP. DAT,

·  Накопление данных за месяц,

·  Сортировка по коду товара,

·  Просмотр файла и вывод на экран ведомости товаров на складе с расчетом общего итога стоимости материальных ценностей на складе,

·  Расчет итогов по коду товара с расчетом общего количества и стоимости, а также, средней цены каждого товара на складе (ITOGI. DAT) и отпуск необходимого количества потребителю по требованию с корректировкой файла итогов, хранение отпущенных товаров в файл (OTPUSK. DAT) с возможностью вывода на печать,

·  Выбор по коду и вывод на экран (принтер) всех характеристик данного товара.

Постановка задачи

Наименование задачи – создание приложения «Учет товаров на складе».

Целью решения задачи является проверка наличия товара на складе, отпуск товара со склада, вывод характеристик товара, расчет стоимости товара, сортировка товара по коду, накопление данных за месяц.

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

Данное приложение упростит работу на складе, а значит увеличит работу производства.

Описание исходной (входной) информации

Входной информацией являются данные, которые показаны в таблице №1.

Эти данные будут использоваться в рабочей таблицы программы.

Таблица №1. Входная информация

Имя поля

Идентификатор

Разрядность

Тип поля

Дата поступления

vrem

10

Дата

Код товара

ktovar

10

Числовой

Наименование товара

ntovar

30

Строковый

Фирма изготовитель

fizg

30

Строковый

Марка товара

mtovar

30

Строковый

Сорт

sort

30

Числовой

Единица измерения

eizm

5

Числовой

Цена единицы товара

stoimedtv

6

Числовой

Количество

kol

4

Числовой

Описание результатной (выходной) информации

Результатом выходной программы будет являться файл postup2.dat и itogtov. dat, данные показаны в таблице №2.

Таблица №2. Выходная информация

Имя поля

Идентификатор

Разрядность

Тип поля

Дата поступления

vrem

10

Дата

Код товара

ktovar

10

Числовой

Наименование товара

ntovar

30

Строковый

Фирма изготовитель

fizg

30

Строковый

Марка товара

mtovar

30

Строковый

Сорт

sort

30

Числовой

Единица измерения

eizm

5

Числовой

Цена единицы товара

stoimedtv

6

Числовой

Количество

kol

4

Числовой

Стоимость (расчетная)

stoim

6

Числовой

Средняя стоимость

srstoim

6

числовой

Общее количество

okol

Так же возможна печать итоговой ведомости по кнопке «печать».

Алгоритм решения приложения

С помощью данного приложения пользователь программы сможет:

1)  Открыть файл с товарами находящимися товарами.

2)  Пользователь может изменять значения в файле(количество, дату поступления, сорт продукта и т. д)

3)  Пользователь может найти товар по коду. (Выводится товар по идентификатору «ktovar»)

4)  Пользователь может рассчитать стоимость исходя из количества и цены товара, а так же общую стоимость всего товара.

5)  Пользователю, возможно, вывести результатную информацию не только на экран, но еще и вывести информацию на принтер.

6)  Возможно, заполнить все поля даты. (Сегодняшняя дата)

7)  Пользователь может выполнить сортировку товаров по коду товара.

8)  Есть возможность очистить таблицу, добавить строку и удалить последнюю строку

9)  По кнопке «Выход» программа завершает свою работу.

Блок-схема приложения

Описание программы

Назначение и применение программы

Данное приложение называется «учет товаров на складе», Тема разработки – создание приложения для складов, содержит строку меню, рабочую таблицу и панель инструментов.

Данное приложения создано для автоматизации и внедрения информационных систем в предприятия. Позволяет в удобном интерфейсе, редактировать, добавлять и изменять информацию о продуктах на складе. Так же можно осуществлять поиск по коду товара на складе, выдается полная информация о продукте. Предусмотрен вывод информации на экран, а так же вывод.

Интерфейс приложения

 

Овал: 8Овал: 7Овал: 6Овал: 5Овал: 4Овал: 3Овал: 2

1.  TForm – форма программы.

2.  MainMenu – меню программы.

3.  DateTimePicker – выбор текущей даты.

4.  Edit – поле ввода «код товара».

5.  StringGrid – таблица программы.

6.  Button – вывод информации в StringGrid, по «коду товара».

7.  Button –печать информации, которая показана в StringGrid.

8.  Panel –панель программы «учет товара на складе».

Описание внутренней структуры приложения

Для работы приложения используется файл типа запись:

1.  Сохранение итоговой ведомости

Tsklad2=record

ktovar:Word;

kol:Word;

stoim:Real;

srstoim:Real;

end;

2.  Сохранение таблицы товаров

Tsklad=record

vrem:string[10];

ktovar:word;

ntovar:string[30];

fizg:string[30];

mtovar:string[30];

sort:string[30];

eizm:string[5];

stoimedtv:real;

kol:word;

stoim:real;

end;

Описание алгоритмов приложения

procedure TForm1.FormCreate(Sender: TObject);

Процедура создает заголовки и размер колонок у компонента StringGrid.

procedure TForm1.N4Click(Sender: TObject);

Процедура закрытия программы.

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

procedure TForm1.N9Click(Sender: TObject);

Процедура очистки таблицы StringGrid. Компонент StringGrid станет пустым.

procedure TForm1.N10Click(Sender: TObject);

Процедура добавление строки в StringGrid. В компонент StringGrid добавить одна строка в конец файла.

procedure TForm1.N11Click(Sender: TObject);

Процедура удаления строки в компоненте StringGrid. Удаление последний строки из компонента StringGrid.

procedure TForm1.N3Click(Sender: TObject);

Сохранить таблицу в файл. Файл сохранится в файл с расширением *.DAT

procedure TForm1.N2Click(Sender: TObject);

Открыть файл таблицы. Необходимо открыть файл с расширением *.DAT, после чего данные из файла отобразятся в компоненте StringGrid

procedure TForm1.N8Click(Sender: TObject);

Расчет стоимости в компоненте StringGrid. Расчет стоимости по формуле =Количество*Цену

procedure TForm1.N12Click(Sender: TObject);

Расчет общей стоимости в компоненте StringGrid. Расчитывается общая стоимость всех товаров по формуле (N1+N2+N3+…+Nn)

procedure TForm1.N6Click(Sender: TObject);

Заполняет выбранную дату из Button в StringGrid.

Заполняет все пустые поля даты в компоненте StringGrid, выбранной датой из компонента DateTimePicker1

procedure TForm1.N7Click(Sender: TObject);

Сортировка поля «код товара» в компоненте StringGrid, линейная сортировка.

procedure TForm1.N14Click(Sender: TObject);

Создает итоговую ведомость и сохраняет с расширением *.DAT.

procedure TForm1.N13Click(Sender: TObject);

Открывает итоговую ведомость с расширением *.DAT.

procedure TForm1.Button1Click(Sender: TObject);

Вывод в компоненте StringGrid информации товара, по введенному коду в компонент Edit.

procedure TForm1.btn1Click(Sender: TObject);

Печать информации которая находится в компоненте Stringrid, печать идет прямая без возможности настройки печати.

Программный код приложения

unit Unit1;

interface

uses

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

Dialogs, ComCtrls, Menus, Grids, ExtCtrls, Printers, StdCtrls, XPMan;

const

namefile='Postup. dat';

type

Tsklad2=record

ktovar:Word;

kol:Word;

stoim:Real;

srstoim:Real;

end;

Tsklad=record

vrem:string[10];

ktovar:word;

ntovar:string[30];

fizg:string[30];

mtovar:string[30];

sort:string[30];

eizm:string[5];

stoimedtv:real;

kol:word;

stoim:real;

end;

TForm1 = class(TForm)

Panel1: TPanel;

StringGrid1: TStringGrid;

MainMenu1: TMainMenu;

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

DateTimePicker1: TDateTimePicker;

Nfkbwf1: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N12: TMenuItem;

N14: TMenuItem;

N13: TMenuItem;

Button1: TButton;

Edit1: TEdit;

Label1: TLabel;

btn1: TButton;

XPManifest1: TXPManifest;

procedure FormCreate(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N12Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N14Click(Sender: TObject);

procedure N13Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure btn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

f:file of Tsklad;

f2:file of Tsklad2;

work:Tsklad;

work2:Tsklad2;

j, i,y, t:integer;

n:word;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

with stringgrid1 do

begin

colwidths[0]:=100;

colwidths[1]:=70;

colwidths[2]:=120;

colwidths[3]:=130;

colwidths[4]:=80;

colwidths[5]:=40;

colwidths[6]:=120;

colwidths[7]:=150;

colwidths[8]:=70;

colwidths[9]:=70;

cells[0,0]:='Дата поступления';

cells[1,0]:='Код товара';

cells[2,0]:='Наименование товара';

cells[3,0]:='Фирма изготовителей';

cells[4,0]:='Марка товара';

cells[5,0]:='Сорт';

cells[6,0]:='Единица измерения';

cells[7,0]:='Стоимость единицы товара';

cells[8,0]:='Количество';

cells[9,0]:='Стоимость';

end;

end;

procedure TForm1.N4Click(Sender: TObject);

begin

close;

end;

procedure TForm1.N9Click(Sender: TObject);

begin

with stringgrid1 do

begin

for i:=0 to colcount-1 do

for j:=0 to rowcount-1 do

cells[i, j]:='';

end;

end;

procedure TForm1.N10Click(Sender: TObject);

begin

stringgrid1.RowCount:=stringgrid1.RowCount+1;

end;

procedure TForm1.N11Click(Sender: TObject);

begin

stringgrid1.RowCount:=stringgrid1.RowCount-1;

end;

procedure TForm1.N3Click(Sender: TObject);

var

k:word;

begin

if savedialog1.Execute then

begin

assignfile(f, savedialog1.filename);

rewrite(f);

with stringgrid1 do

begin

for k:=1 to rowcount-1 do

begin

work. vrem:=cells[0,k];

work. ktovar:=strtoint(cells[1,k]);

work. ntovar:=cells[2,k];

work. fizg:=cells[3,k];

work. mtovar:=cells[4,k];

work. sort:=cells[5,k];

work. eizm:=cells[6,k];

work. stoimedtv:=strtofloat(cells[7,k]);

work. kol:=strtoint(cells[8,k]);

work. stoim:=strtofloat(cells[9,k]);

write(f, work);

end;

closefile(f);

end;

end;

end;

procedure TForm1.N2Click(Sender: TObject);

var

n:word;

begin

if opendialog1.Execute then

begin

assignfile(f, opendialog1.FileName);

reset(f);

with stringgrid1 do

begin

rowcount:=filesize(f)+1;

n:=0;

while not eof(f) do

begin

read(f, work);

inc(n);

cells[0,n]:=work. vrem;

cells[1,n]:=inttostr(work. ktovar);

cells[2,n]:=work. ntovar;

cells[3,n]:=work. fizg;

cells[4,n]:=work. mtovar;

cells[5,n]:=work. sort;

cells[6,n]:=work. eizm;

cells[7,n]:=formatfloat('0.00',work. stoimedtv);

cells[8,n]:=inttostr(work. kol);

cells[9,n]:=formatfloat('0.00',work. stoim);

end;

end;

closefile(f);

end;

begin

with stringgrid1 do

begin

cells[0,0]:='Дата поступления';

cells[1,0]:='Код товара';

cells[2,0]:='Наименование товара';

cells[3,0]:='Фирма изготовителей';

cells[4,0]:='Марка товара';

cells[5,0]:='Сорт';

cells[6,0]:='Единица измерения';

cells[7,0]:='Стоимость единицы товара';

cells[8,0]:='Количество';

cells[9,0]:='Стоимость';

end;

end;

end;

procedure TForm1.N8Click(Sender: TObject);

var

stoimedtv, stoim:real;

kol:word;

begin

with stringgrid1 do

for i:=1 to rowcount-1 do begin

stoimedtv:=strtofloat(cells[7,i]);

kol:=strtoint(cells[8,i]);

stoim:=stoimedtv*kol;

cells[9,i]:=formatfloat('0.00',stoim);

end;

end;

procedure TForm1.N12Click(Sender: TObject);

var

p:integer;

b:real;

begin

b:=0;

with stringgrid1 do

for i:=1 to rowcount-1 do

begin

b:=b+strtofloat(cells[9,i]);

end;

begin

stringgrid1.RowCount:=stringgrid1.RowCount+2;

begin

with stringgrid1 do

begin

p:=rowcount-2;

cells[0,p]:='Общая стоимость';

p:=rowcount-1;

cells[0,p]:=formatfloat('0.00',b);

end;

end;

end;

end;

procedure TForm1.N6Click(Sender: TObject);

begin

with stringgrid1 do

for i:=1 to rowcount-1 do begin

if cells[0,i]='' then

cells[0,i]:=datetostr(date);

end;

end;

procedure TForm1.N7Click(Sender: TObject);

var

a:string[30];

begin

with stringgrid1 do

begin

for t:=1 to rowcount+5 do

begin

for y:=1 to rowcount-2 do

if strtofloat(cells[1,y])>strtofloat(cells[1,y+1]) then

begin

for i:=0 to colcount do

begin

a:=cells[i, y];

cells[i, y]:=cells[i, y+1];

cells[i, y+1]:=a;

end;

end;

end;

end;

end;

procedure TForm1.N14Click(Sender: TObject);

var

ktovar, k, i :integer;

result: boolean;

begin

assignfile(f, 'postup2.dat');

assignfile(f2,'itogtov. dat');

Reset(f);

Reset(f2);

read(f, work);

seek(f, 0);

ktovar:=work. ktovar;

work2.kol:=0;

work2.stoim:=0;

k:=0;

begin

while not result do

begin

while not eof(f) do

begin

seek(f2,0);

while not eof(f2) do //проверка есть ли уже такой код

begin

read(f2,work2);

if work2.ktovar = ktovar then

result := true //такой код есть

else

result := false; //такого кода нету

end;

read(f, work);

if not result then

begin

if work. ktovar=ktovar then

begin

work2.kol:=work2.kol+work. kol;

work2.stoim:=work2.stoim+work. stoim;

end;

end

else

ktovar := work. ktovar;

end;

work2.ktovar:=ktovar;

work2.srstoim:=work2.stoim/work2.kol;

seek(f2, filesize(f2)); //Добавляем запись в конец ведь, значит и встаем туда

write(f2,work2); //записываем собранные данные

end;

end;

end;

procedure TForm1.N13Click(Sender: TObject);

begin

if opendialog1.Execute then

begin

assignfile(f2,opendialog1.FileName);

reset(f2);

with stringgrid1 do

begin

rowcount:=filesize(f2)+1;

n:=0;

while not eof(f2) do

begin

read(f2,work2);

inc(n);

cells[0,n]:=inttostr(work2.ktovar);

cells[3,n]:=formatfloat('0.00',work2.srstoim);

cells[1,n]:=inttostr(work2.kol);

cells[2,n]:=formatfloat('0.00',work2.stoim);

end;

end;

closefile(f2);

end;

with stringgrid1 do

begin

cells[0,0]:='Код товара';

cells[1,0]:='Общее количество';

cells[2,0]:='Общая стоимость';

cells[3,0]:='Средняя стоимость';

end;

end;

procedure TForm1.Button1Click(Sender: TObject);

var

kod:integer;

begin

assignfile(f,'postup2.dat');

reset(f);

Seek(f,0);

kod:=strtoint(edit1.text);

while not eof(f) do

begin

read(f, work);

if kod=work. ktovar then

begin

with stringgrid1 do

begin

cells[0,1]:=work. vrem;

cells[1,1]:=inttostr(work. ktovar);

cells[2,1]:=work. ntovar;

cells[3,1]:=work. fizg;

cells[4,1]:=work. mtovar;

cells[5,1]:=work. sort;

cells[6,1]:=work. eizm;

cells[7,1]:=formatfloat('0.00',work. stoimedtv);

cells[8,1]:=inttostr(work. kol);

cells[9,1]:=formatfloat('0.00',work. stoim);

cells[0,0]:='Дата поступления';

cells[1,0]:='Код товара';

cells[2,0]:='Наименование товара';

cells[3,0]:='Фирма изготовителей';

cells[4,0]:='Марка товара';

cells[5,0]:='Сорт';

cells[6,0]:='Единица измерения';

cells[7,0]:='Стоимость единицы товара';

cells[8,0]:='Количество';

cells[9,0]:='Стоимость';

end;

end;

end;

with stringgrid1 do

begin

for i:=0 to colcount-1 do

for j:=2 to rowcount-1 do

cells[i, j]:='';

end;

end;

procedure TForm1.btn1Click(Sender: TObject);

var

P:TextFile;

i, j : Integer;

s : String;

begin

AssignPrn(P);

Rewrite(P);

For i:=0 To StringGrid1.RowCount-1 Do

Begin

s:='';

For j:=0 To StringGrid1.ColCount-1 Do s:=s+StringGrid1.Cells[j, i];

Writeln(P, s);

End;

CloseFile(P);

end;

end.

Инструкция по работе с программой

Данное приложение разработано для операционной системы Windows (ME/XP/7/VISTA). Для редактирование оболочки и функционала программы, необходимо ПО Delphi 7.

Функциональное назначение

Данная программа предназначена для автоматизации информационных систем на предприятии. Приложение приоритетно для склада. Есть возможность добавления, редактирование товара. Возможность печатать информацию, сортировка товара, расчет стоимости.

Описание логической структуры программы.

Файл

·  Открытие файла – проверяется существование файла, далее открывается выбранный файл.

·  Сохранение файла – сохранение файлов на носители.

·  Создание и открытие ведомости – создает (отдельный файл) и открывает ведомость в окне программы.

·  Выход – завершение работы программы.

Функции

·  Заполнить дату – заполнение полей выбранной даты.

·  Сортировка – сортировка товара по коду товара.

·  Расчет стоимости – расчет стоимости всех товаров.

·  Расчет общий стоимости – расчет стоимости всех товаров.

Таблица

·  Очистить таблицу – полная очистка таблицы в программе.

·  Добавить строку – добавление новой строки, в конец таблицы.

·  Удалить строку – Удаление последней строки из таблицы.

Вывод – вывод в таблице товары по выбранной дате.

Печать – печать таблицы.

Вызов и загрузка приложения

Для правильного запуска ПО «Учет товаров на складе» необходимо загрузить папку с файлами в корень диска D:/, если не существует данный раздел, необходимо обратится к разработчику, чтобы изменить корневой путь.

Объем программного обеспечения 482 КБ

Входные данные

Для правильной работы программы необходимо в поля: «Дата поступления» указывать дату форматом «дд. мм. гггг», в полях «код товара», «сорт», «стоимость», «количество» - заполнять числами, так как поле имеет числовой тип, в остальные поля возможно указывать различные символы.

Описание пользовательского интерфейса

При запуске приложения откроется окно, которое показано на рисунке 2.

Рисунок 2. Рабочее окно программы.

Меню программы содержит пункты, которые показаны на рисунках 3,4,5:

Рисунок 3. Меню - Файл.

·  Открыть файл – открыть файл postup. dat

·  Сохранить файл – сохранить файл postup. dat

·  Создать итоговую ведомость – создать итоговую ведомость itogtov. dat

·  Открыть Итоговую ведомость – открыть итоговую ведомость itogtov. dat

·  Выход – выход из приложения.

Рисунок 4. Меню - Функции.

·  Заполнить дату – заполнить дату в пустых полях «дата поступления»

·  Сортировка – сортировка товара по «код товара»

·  Расчет стоимости – расчет стоимости в колонке «Стоимость»

·  Расчет общей стоимости – Добавление новой строки с выводом общей стоимости товаров.

Рисунок 5. Меню - Таблица.

·  Очистить таблицу – очистка рабочей таблицы.

·  Добавить строку – добавление новой строки в таблицу.

·  Удалить строку – удаление последней строки в таблице.

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

Рисунок 6. Рабочая область программы.

Рабочее окно таблицы, содержит таблицу с заголовками и полями, показано на рисунке 7.

Рисунок 7. Таблица с товаром.

Данная таблица содержит все сведения о товаре.

На рисунке №8 изображена таблица итоговой ведомости, в ней добавлены поля: Общее количество, общая стоимость, средняя стоимость.

Рисунок 8. Таблица итоговой ведомости.

Заключение

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

В результате выполнения программы, я не справился с одной процедурой, это отпуск товара со склада.

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

Данную программу необходимо совершенствовать и улучшать, так как при работе с ней могут происходить сбои и неполадки.

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

Список литературы

1.  А. Я Архангельский. Программирование в DELPHI 7. Издательство БИНОМ, 2003

2.  Владимир Попов. Паскаль и Делфи: учебный курс. Издательский дом «Питер», 2005

3.  Интернет ресурсы:

3.1  http://*****/

3.2  http://*****/

3.3  http:///

Приложения

Рис. 1. Главное окно программы.

Рис. 2. Панель программы.

Рис. 3. Панель инструментов «файл».

Рис.3. Панель инструментов «Функции».

Рис. 5. Панель инструментов «таблица».

Рис. 6. Таблица итоговой ведомости.

Рис. 7. Таблица товаров.