русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

ЛАБОРАТОРНАЯ РАБОТА 6


Дата добавления: 2015-07-09; просмотров: 771; Нарушение авторских прав


Разработка приложения с использованием записей и файлов

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

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

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

Задание:Информация о сотрудниках предприятия содержит: Ф.И.О., номер отдела, должность, дату начала работы. Вывести списки сотрудников по отделам в порядке убывания стажа.

 

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

unit Unit1;

 

interface

uses

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

Dialogs, XPMan, StdCtrls, ExtCtrls;

 

type

TForm1 = class(TForm)

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Edit2: TEdit;

Label3: TLabel;

Edit3: TEdit;

Label4: TLabel;

Edit4: TEdit;

Button1: TButton;

Memo1: TMemo;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Splitter1: TSplitter;

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

TSotrudniki = record

fio:string[255];

nofotdel:Integer;

SPost:string[255];

SDate:TDatetime;

end;

 

var

Fz : file of Tsotrudniki; //Файл типа запись

Ft : TextFile; //Текстовый файл

sotr: array [1..100] of TSotrudniki; //Массив записей

FileNameZ, FileNameT : string; //Имя файла

nzap : integer;

 

var

Form1:TForm1;



implementation

 

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

Edit1.Text := '';

Edit2.Text := '';

Edit3.Text := '';

Edit4.Text := '';

Button1.Hide; //Сделать невидимой кнопку "Ввести запись"

nzap := 0;

end;

 

//ввести новую запись

procedure TForm1.Button1Click(Sender: TObject);

begin

nzap := nzap+1;

with sotr[nzap] do

begin

FIO:=Edit1.Text;

NofOtdel:=StrToInt(Edit2.Text);

SPost:=Edit3.Text;

SDate:=StrToDate(Edit4.Text);

Memo1.Lines.Add(fio + ' ' + IntToStr(NofOtdel) + ' ' + SPost

+ ' ' + DateToStr(sDate));

end;

write(fz, sotr[nzap]); //Запись в файл

Edit1.Text := '';

Edit2.Text := '';

Edit3.Text := '';

Edit4.Text := '';

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

OpenDialog1.Title := 'Создать новый файл';

if OpenDialog1.Execute then

begin

FileNameZ := OpenDialog1.FileName;

AssignFile(fz, FileNameZ);

Rewrite(fz);

end;

Button1.Show;

end;

 

procedure TForm1.Button3Click(Sender: TObject);

begin

if OpenDialog1.Execute then

begin

FileNameZ := OpenDialog1.FileName;

AssignFile(fz, FileNameZ);

Reset(fz);

end;

nzap := 0;

while not eof(fz) do begin

nzap := nzap+1;

Read(fz, sotr[nzap]);

with sotr[nzap] do

Memo1.Lines.Add(fio + ' ' + IntToStr(NofOtdel) + ' ' + SPost

+ ' ' + DateToStr(sDate));

end;

Button1.Show;

end;

 

procedure TForm1.Button4Click(Sender: TObject);

var

i, j : word;

st:TSotrudniki;

begin

for i := 1 to nzap-1 do

for j := i+1 to nzap do

if sotr[i].nofotdel > sotr[j].nofotdel then

begin

st:=sotr[i];

sotr[i]:=sotr[j];

sotr[j]:=st;

end;

 

for i := 1 to nzap-1 do

for j := i+1 to nzap do

if sotr[i].nofotdel = sotr[j].nofotdel then

if sotr[i].SDate < sotr[j].SDate then

begin

st:=sotr[i];

sotr[i]:=sotr[j];

sotr[j]:=st;

end;

 

Memo1.Clear;

for i := 1 to nzap do

with sotr[i] do

Memo1.Lines.Add(fio + ' ' + IntToStr(NofOtdel) + ' ' + SPost + ' ' + DateToStr(sDate));

end;

 

procedure TForm1.Button5Click(Sender: TObject);

var

i : word;

begin

if SaveDialog1.Execute then

begin

FileNameT := SaveDialog1.FileName;

AssignFile(ft, FileNameT);

Rewrite(ft);

end;

for i := 1 to nzap do

with sotr[i] do

writeln(Ft, i:4, '. ', fio + ' ' + IntToStr(NofOtdel) + ' ' + SPost

+ ' ' + DateToStr(sDate));

CloseFile(ft);

end;

 

end.

Результат работы программы:

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

 

 

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

 

 

 

После ввода произвольного количества записей и нажатия кнопки «Ввести запись»:

 

После нажатия кнопки «Сортировать»:

 

После нажатия кнопки «Сохранить» появляется окно выбора места и имени сохраняемого текстового файла с результатами:

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

 

 



<== предыдущая лекция | следующая лекция ==>
ЛАБОРАТОРНАЯ РАБОТА 6 | ЛАБОРАТОРНАЯ РАБОТА 7


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.008 сек.