У вас вопросы?
У нас ответы:) SamZan.net

Лабораторная работа 8 по Delphi

Работа добавлена на сайт samzan.net: 2015-07-10

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 3.3.2025

Лабораторная работа №8 по Delphi. Фёдоров Виктор. Вариант №17                                                                  6

Лабораторная работа №8

«ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ЗАПИСЕЙ И

ФАЙЛОВ»

Выполнил: студент 2 курса факультета Информатики Фёдоров Виктор

Вариант № 17

Постановка задачи: Список товаров, имеющихся на складе, включает в себя наименование товара, количество и дату поступления товара на склад. Вывести в алфавитном порядке список товаров, хранящихся больше месяца.

Описание объектов, используемых в проекте:

TTovar = record – запись товаров

NAI: string[50] – наименование товара

KVO: integer – кол-во товаров

Data : string[20] – дата

ZF : File of  TTovar – файл типа запись

TF : TextFile – текстовый файл

Tov : Array[1..10] of TTovar – массив записей

NomZap : integer – номер записи

FileNameZap : string – открытие записи из файла

FileNameText : string – сохранение записи в файл

Sort : TTovar; - сортировка записей

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

unit Unit1;

interface

uses

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

 Dialogs, Buttons, StdCtrls, ComCtrls;

type

 TForm1 = class(TForm)

   OpenDialog1: TOpenDialog;

   SaveDialog1: TSaveDialog;

   Label1: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   Edit1: TEdit;

   Edit2: TEdit;

   Memo1: TMemo;

   Button1: TButton;

   Button3: TButton;

   Button5: TButton;

   DateTimePicker1: TDateTimePicker;

   SpeedButton1: TSpeedButton;

   SpeedButton2: TSpeedButton;

   SpeedButton3: TSpeedButton;

   Button2: TButton;

   Button4: TButton;

   Button6: TButton;

   SpeedButton4: TSpeedButton;

   procedure FormCreate(Sender: TObject);

   procedure Button5Click(Sender: TObject);

   procedure Button1Click(Sender: TObject);

   procedure Button3Click(Sender: TObject);

   procedure SpeedButton2Click(Sender: TObject);

   procedure SpeedButton1Click(Sender: TObject);

   procedure SpeedButton3Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

   procedure Button4Click(Sender: TObject);

   procedure Button6Click(Sender: TObject);

   procedure SpeedButton4Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

 Type

   TTovar = record

   NAI : string[50];

   KVO : integer;

   Data : string[20];

 end;

var

 ZF : File of  TTovar;// Файл типа запись

 TF : TextFile;

 Tov : Array[1..10] of TTovar;// Массив записей

 NomZap : integer;

 FileNameZap : string;

 FileNameText : string;

 Sort : TTovar;

var

 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

  Edit1.Clear;

  Edit2.Clear;

  Memo1.Clear;

  Button5.Visible:=False;

  NomZap := 0;

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

 NomZap := NomZap+1;

 with Tov[NomZap] do

 begin

   NAI := Edit1.Text;

   KVO := StrToInt(Edit2.Text);

   Data := DateToStr(DateTimePicker1.Date);

   Memo1.Lines.Add(NAI+'      '+IntToStr(KVO)+'      '+Data);

 end;

 Write(ZF,Tov[NomZap]);// Запись в файл

 Edit1.Clear;

 Edit2.Clear;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

 OpenDialog1.Title := 'Создать новую запись...';

 if OpenDialog1.Execute then

   begin

     FileNameZap := OpenDialog1.FileName;

     AssignFile(ZF, FileNameZap); //Связывание файловой переменной ZF c именем файла

     Rewrite(ZF);//Создание нового файла

  end;

  Button5.Show;// Сделать видимой кнопку “Ввести товар”

end;

procedure TForm1.SpeedButton3Click(Sender: TObject); //Открыть

begin

 if OpenDialog1.Execute then

   begin

     FileNameZap := OpenDialog1.FileName;

     AssignFile(ZF, FileNameZap);// Связывание файловой переменной ZF c именем файла

     Reset(ZF);// Открытие существующего файла

   end;

 NomZap := 0;

 while not eof(ZF) do

   begin

     NomZap := NomZap+1;

     Read(ZF,Tov[NomZap]);// Чтение записи из файла

     with Tov[NomZap] do

       Memo1.Lines.Add(NAI+'      '+IntToStr(KVO)+'      '+Data);

   end;

   Button5.Show;// Сделать видимой кнопку “Ввести запись”

end;

procedure TForm1.SpeedButton4Click(Sender: TObject);

begin

 Memo1.Clear;

end;

procedure TForm1.Button2Click(Sender: TObject); // Показать все

var

 i : integer;

begin

 Memo1.Clear;

 for i := 1 to NomZap do Memo1.Lines.Add(Tov[i].NAI+'      '+IntToStr(Tov[i].KVO)+'      '+Tov[i].Data);

end;

procedure TForm1.Button3Click(Sender: TObject);

var

 i, j : integer;

 s : string;

begin

 for j := 1 to NomZap-1 do

   for i := 1 to NomZap-j do

     begin

       if Tov[i].NAI>Tov[i+1].NAI then

         begin

           Sort := Tov[i];

           Tov[i] := Tov[i+1];

           Tov[i+1] := Sort;

         end;

    end;

   Memo1.Clear;

   for i := 1 to NomZap do Memo1.Lines.Add(Tov[i].NAI+'      '+IntToStr(Tov[i].KVO)+'      '+Tov[i].Data);

end;

procedure TForm1.Button4Click(Sender: TObject);   // Свежие

var

 Mes, Max, i : integer;

 s : string;

begin

 Max := 0;

 for i := 1 to NomZap do

 begin

   s := Tov[i].Data[4]+Tov[i].Data[5];

   Mes := StrToInt(s);

   if Mes > Max then Max := Mes;

 end;

 Memo1.Clear;

 for i := 1 to NomZap do

 begin

   s := Tov[i].Data[4]+Tov[i].Data[5];

   Mes := StrToInt(s);

   if Mes = Max then Memo1.Lines.Add(Tov[i].NAI+'      '+IntToStr(Tov[i].KVO)+'      '+Tov[i].Data);

 end;

end;

procedure TForm1.Button6Click(Sender: TObject); // Старые

var

 Mes, Max, i : integer;

 s : string;

begin

 Max := 0;

 for i := 1 to NomZap do

 begin

   s := Tov[i].Data[4]+Tov[i].Data[5];

   Mes := StrToInt(s);

   if Mes > Max then Max := Mes;

 end;

 Memo1.Clear;

 for i := 1 to NomZap do

 begin

   s := Tov[i].Data[4]+Tov[i].Data[5];

   Mes := StrToInt(s);

   if Mes < Max then Memo1.Lines.Add(Tov[i].NAI+'      '+IntToStr(Tov[i].KVO)+'      '+Tov[i].Data);

 end;

end;

procedure TForm1.SpeedButton1Click(Sender: TObject);

begin

 Close;

end;

procedure TForm1.SpeedButton2Click(Sender: TObject); //Сохранить

var

 i : word;

begin

 if SaveDialog1.Execute then

   begin

     FileNameText := SaveDialog1.FileName;

     AssignFile(TF, FileNameText);// Связывание файловой переменной TF c именем файла

     Rewrite(TF);// Открытие нового текстового файла

   end;

 for i := 1 to NomZap do

   with Tov[i] do  Writeln(TF,i:5,' ',NAI); // Запись в текстовой файл

     CloseFile(TF);

end;

end.

Тесты:

Ввод товаров, поступивших на склад:

Сортировка товаров:




1. Концептуальная ситуация и дискурс
2. мировой поставщик интегральных микросхем для рынка персональных и сетевых компьютеров и коммуникаций чьи
3. Тема задания для графического дизайна Игрушкаконструктор трансформа или чертеж флакона.
4. Тема выпускной квалификационной работы- Анализ факторов препятствующих внедрению инноваций в типовой сист
5. Вместе с тем в практике социальной деятельности сформировались собственно технологии диагностики которые
6. Биологическое и социальное в психике человека
7. Известно более 80 минералов которые по суммарному содержанию титана составляют довольно большую долю в зе.html
8. Обработка результатов эксперимента
9. Тема 1- Аудит учредительных документов уставного капитала и учётной политики организации
10. ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ