Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Программирование с использованием записей и файлов

О Т Ч Е Т

ПО ЛАБОРАТОРНЫМ РАБОТАМ

 

по курсу:

Quot; КОНСТРУИРОВАНИЕ ПРОГРАММ И

ЯЗЫКИ ПРОГРАММИРОВАНИЯ"

 

Выполнили: Студенты: Мазаник А. А. Шитов С. А. Гр. 107226, бригада №6  
Проверил, профессор: Гурский Н. Н.

 

 

Минск - 2007


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

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

 

Цель лабораторной работы: изучить правила работы с компонентами TopenDialog и TSaveDialog. Написать программу с использованием файлов и данных типов запись.

Задание: вывести информацию о сотрудниках фирмы, которая включает: Ф.И.О., табельный номер, количество проработанных часов за месяц, почасовый тариф. Рабочее время свыше 144 часов считается сверхурочным и оплачивается в двойном размере.

 

 

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

unit Unit1;

 

interface

 

uses

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

Dialogs, StdCtrls, ExtCtrls, Buttons;

 

type

TForm1 = class(TForm)

Panel1: TPanel;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Button1: TButton;

OpenDialog1: TOpenDialog;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

SaveDialog1: TSaveDialog;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Memo1: TMemo;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

Type

info = record

name: string[40]; //Ï î ë å Ô È Î

number: integer; //Ï î ë å ò à á å ë ü í î ã î í î ì å ð à

kol: integer; //Ï î ë å ê î ë -â à ÷ à ñ î â

tarif: integer; //Ï î ë å ï î ÷ à ñ à â î ã î ò à ð è ô à

zp: extended;

end;

 

var

zp: extended;

fz: file of info; //Ô à é ë ò è ï à ç à ï è ñ ü

ft: TextFile; //Ò å ê ñ ò î â î é ô à é ë

inf: array[1..100] of info; //Ì à ñ ñ è â ç à ï è ñ å é

nzap: integer; //Í î ì å ð ç à ï è ñ è

FileNameZ, FileNameT: string; //È ì ÿ ô à é ë à

 

 

var

Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.FormCreate(Sender: TObject);

begin

Edit1.Text: = '';

Edit2.Text: = '';

Edit3.Text: = '';

Edit4.Text: = '';

Memo1.Clear;

Button1.Hide;

nzap: =0;

 

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

nzap: =nzap+1;

with inf[nzap] do

begin

name: =Edit1.Text;

number: =StrToInt(Edit2.Text);

kol: =StrToInt(Edit3.Text);

tarif: =StrToInt(Edit4.Text);

Memo1.Lines.Add(name+', '+IntToStr(number)+' í î ì å ð, '+IntToStr(kol)+' ÷ à ñ î â, '+IntToStr(tarif)+' ð ó á /÷ ');

end;

 

Write(fz, inf[nzap]); //ç à ï è ñ ü â ô à é ë

Edit1.Text: = '';

Edit2.Text: = '';

Edit3.Text: = '';

Edit4.Text: = '';

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

Memo1.Clear;

OpenDialog1.Title: ='Ñ î ç ä à ò ü í î â û é ô à é ë ';

//È ç ì å í å í è å ç à ã î ë î â ê à î ê í à ä è à ë î ã î

If OpenDialog1.Execute then

//Â û ï î ë í å í è å ñ ò à í ä à ð ò í î ã î ä è à ë î ã î â û á î ð à è ì å í è ô à é ë à

begin

FileNameZ: =OpenDialog1.FileName;

//Â î ç â ð à ø å í è å è ì å í è ä è ñ ê î â î ã î ô à é ë à

AssignFile(fz, FileNameZ);

//Ñ â ÿ ç û â à í è å ô à é ë î â î é ï å ð å ì å í í î é fz ñ è ì å í å ì ô à é ë à

Rewrite(fz); //Ñ î ç ä à í è å í î â î ã î ô à é ë à

Button1.Show; //Ñ ä å ë à ò ü â è ä è ì î é ê í î ï ê ó " Â â å ñ ò è ç à ï è ñ ü "

end;

end;

 

procedure TForm1.Button3Click(Sender: TObject);

begin

Memo1.Clear;

If OpenDialog1.Execute then

//Â û ï î ë í å í è å ñ ò à í ä à ð ò í î ã î ä è à î ë ã à â û á î ð à è ì å í è ô à é ë à

begin

FileNameZ: =OpenDialog1.FileName;

//Â î ç â ð à ù å í è å è ì å í è ä è ñ ê î â î ã î ô à é ë à

AssignFile(fz, FileNameZ);

//Ñ â ÿ ç û â à í è å ô à é ë î â î é ï å ð å ì å í í î é fz ñ è ì å í å ì ô à é ë à

Reset(fz); //Î ò ê ð û ò è å ñ ó ù å ñ ò â ó þ ù å ã î ô à é ë à

end;

nzap: =0;

While not EOF(fz) do

begin

nzap: =nzap+1;

Read(fz, inf[nzap]); //× ò å í è å ç à ï è ñ è è ç ô à é ë à

with inf[nzap] do

Memo1.Lines.Add(name+', '+IntToStr(number)+' í î ì å ð, '+IntToStr(kol)+' ÷ à ñ î â, '+IntToStr(tarif)+' ð ó á /÷ ');

end;

Button1.Show; //Ñ ä å ë à ò ü â è ä è ì î é ê í î ï ê ó " Â â å ñ ò è ç à ï è ñ ü "

end;

 

procedure TForm1.Button4Click(Sender: TObject);

//Â û â î ä ç à ð ï ë à ò ð à á î ò í è ê î â

var

i: word;

//zp: extended;

begin

Memo1.Clear;

Memo1.Lines.Add(' Ç à ð ï ë à ò û ð à á î ÷ è õ ñ î ñ ò à â ë ÿ þ ò: ');

Memo1.Lines.Add('************************************************************************');

for i: =1 to nzap do

begin

If inf[i].kol> 144 then

inf[i].zp: = (144*inf[i].tarif+(inf[i].kol-144)*inf[i].tarif*2)-0.12*(144*inf[i].tarif+(inf[i].kol-144)*inf[i].tarif*2)

else inf[i].zp: =inf[i].kol * inf[i].tarif - (inf[i].kol * inf[i].tarif * 0.12);

with inf[i] do

Memo1.Lines.Add(name+' - '+FloatToStr(zp)+' ð ó á ');

end;

end;

 

procedure TForm1.Button5Click(Sender: TObject);

//Ñ î õ ð à í å í è å

var

i: word;

begin

If SaveDialog1.Execute then

//Â û ï î ë í å í è å ñ ò à í ä à ð ò í î ã î ä è à ë î ã à â û á î ð à è ì å í è ô à é ë à

begin

FileNameT: =SaveDialog1.FileName;

//Â î ç â ð à ù å í è å è ì å í è ä è ñ ê î â î ã î ô à é ë à

AssignFile(ft, FileNameT);

//Ñ â ÿ ç û â à í è å ô à é ë î â î é ï å ð å ì å í í î é ft ñ è ì å í å ì ô à é ë à

Rewrite(ft); //Î ò ê ð û ò è å í î â î ã î ò å ê ñ ò î â î ã î ô à é ë à

end;

for i: =1 to nzap do

with inf[i] do

//Writeln(ft, i: 4, '. ', name, '.. ò /í -', number, '.. ÷ à ñ û -', kol, '.. ò à ð è ô -', tarif);

Writeln(ft, i: 4, '. ', name, ' Ç à ð ï ë à ò à: ', zp: 10);

//Ç à ï è ñ ü â ò å ê ñ ò î â û é ô à é ë

CloseFile(ft); //Ç à ê ð û ò è å ò å ê ñ ò î â î ã î ô à é ë à

end;

 

end.

Результат выполнения программы:

 

Выводы:: изучили правила работы с компонентами TopenDialog и TSaveDialog. Написали программу с использованием файлов и данных типов запись.

.

<== предыдущая лекция | следующая лекция ==>
Программирование с использованием строк | С использованием подпрограмм и модулей
Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.026 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал