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

Страницы работы

Содержание работы

 Практическая работа 15

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

Ход работы:

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

var

Form1: TForm1;

i, j, x, y, s, k: integer;

f: TextFile;

fName, str: string;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

fName := Edit3.Text;

AssignFile(f, fName);

Reset(f);

Readln(f, s);

Readln(f, k);

x := s;

y := k;

i := 0;

j := 0;

StringGrid1.ColCount := k;

StringGrid1.RowCount := s;

while (not Eof(f)) do

begin

if (j < y) then

begin

Readln(f, str);

StringGrid1.Cells[j, i] := str;

j := j + 1;

end

else

begin

j := 0;

i := i + 1;

end;

end;

CloseFile(f);

MessageDlg('Данные загружены из файла ' + Edit3.Text, mtInformation,

[mbOk], 0);

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

fName := Edit3.Text;

AssignFile(f, fName);

Rewrite(f);

writeln(f, Edit1.Text);

writeln(f, Edit2.Text);

for i := 0 to StrToInt(Edit1.Text) - 1 do

begin

for j := 0 to StrToInt(Edit2.Text) - 1 do

begin

writeln(f, StringGrid1.Cells[j, i]);

end;

end;

CloseFile(f);

for i := 0 to StrToInt(Edit1.Text) do

begin

for j := 0 to StrToInt(Edit2.Text) do

begin

StringGrid1.Cells[j, i] := '';

end;

end;

MessageDlg('Данные сохранены в файл ' + Edit3.Text, mtInformation, [mbOk], 0);

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

if (Edit1.Text > '0') and (Edit2.Text > '0') then

begin

x := StrToInt(Edit1.Text);

y := StrToInt(Edit2.Text);

StringGrid1.RowCount := x;

StringGrid1.ColCount := y;

end

else

begin

Edit1.Text := '0';

Edit2.Text := '0';

end;

for i := 0 to StrToInt(Edit1.Text) do

begin

for j := 0 to StrToInt(Edit2.Text) do

begin

StringGrid1.Cells[j, i] := '';

end;

end;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

for i := 0 to x - 1 do

begin

for j := 0 to y - 1 do

begin

StringGrid1.Cells[j, i] := IntToStr(RandomRange(-99, 100));

end;

end;

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

for i := 0 to StrToInt(Edit2.Text) - 1 do

begin

str := StringGrid1.Cells[i, StrToInt(Edit4.Text) - 1];

StringGrid1.Cells[i, StrToInt(Edit4.Text) - 1] := StringGrid1.Cells

[i, StrToInt(Edit5.Text) - 1];

StringGrid1.Cells[i, StrToInt(Edit5.Text) - 1] := str;

end;

end;

Данная программа состоит из 5 процедур. Процедура TForm1.Button1Click, которая запускается нажатием кнопки Открыть (Загрузить) (Button1), загружает данные из файла. Процедура TForm1.Button2Click, которая запускается нажатием кнопки Сохранить (Записать) (Button2), сохраняет данные в файл. При нажатии на кнопку Создать (Button3), запускается процедура TForm1.Button3Click, которая задает массив с указанными в полях Edit1.Text и Edit2.Text значениями. TForm1.Button4Click запускается при нажатии на кнопку Заполнить (Button4), она заполняет массив случайными числами в диапазоне от -99 до 99. При нажатии на кнопку Поменять строки местами (Button5), запускается процедура TForm1.Button5Click, которая меняет 2 строки местами, заданные пользователем.

Блок-схемы этих процедур представлены на рисунке 15.1, 15.2, 15.3, 15.4, 15.5 соответственно.

Рисунок 15.1 - Блок-схема программы. Обработка события нажатия на кнопку Button1

Рисунок 15.2 - Блок-схема программы. Обработка события нажатия на кнопку Button2.

Рисунок 15.3 - Блок-схема программы. Обработка события нажатия на кнопку Button3


Рисунок 15.4 - Блок-схема. Обработка события нажатием на кнопку Button4

Рисунок 15.5 - Блок-схема программы. Обработка события нажатия на кнопку Button5

Сохранение массива в файл представлено на рисунке 15.6

 

Рисунок 15.6 - Выполнение программы. Сохранение массива в файл

Загрузка массива из файла представлена на рисунке 15.7

Рисунок 15.7 - Выполнение программы. Загрузка массива из файла

Замена строк местами представлена на рисунке 15.8

Рисунок 15.8 - Выполнение программы. Замена строк местами.

Похожие материалы

Информация о работе

Тип:
Отчеты по практике
Размер файла:
2 Mb
Скачали:
0