Рефетека.ру / Информатика и програм-ие

Лабораторная работа: Изучение работы с файлами на языке Delphi

Министерство образования и науки Российской Федерации

Курский государственный технический университет

Кафедра ПО ВТ


Изучение работы с файлами на языке Delphi


Выполнил: студент гр. ПО 62 Шиляков И.А.

Проверил: ст. преподаватель Петрик Е.А.


Курск

2006

Цель:

Изучение принципов работы с файлами на языке Delphi, получение навыков программирования с использованием файлов.


Задание:


Создать каталог продуктов.


Окно программы:

Изучение работы с файлами на языке Delphi


Используемые компоненты:

Имя компонента Страница палитры компонентов Настраиваемые компоненты Значения
1 2 3 4 5
1

Form1


-

Сaption Лабораторная работа №10



Color clMoneyGreen
2 Bitbtn1 Additional Caption Удалить по наименованию

3


Label1


Standard


Caption Введите продукты и их стоимость



Color clMoneyGreen



Color (Font) clNavy



Size (Font) 12



Charset (Font) DEFAULT_CHARSET



Height (Font) -16

Продолжение таблицы

1 2 3 4 5

4


Label2


Standard

Caption Общая сумма



Color clMoneyGreen



Color (Font) clNavy



Size (Font) 10



Charset (Font) DEFAULT_CHARSET



Height (Font) -13

5


Button1


Standard

Caption Открыть



Charset BALTIC_CHARSET



Height -11



Size 8

6


Button2


Standard

Caption Сохранить



Charset BALTIC_CHARSET



Height -11



Size 8

7


Button3


Standard

Caption Расчет



Charset DEFAULT_CHARSET



Height -11



Size 8



Name MS Sans Serif

8


Button4


Standard

Caption Добавить строку



Charset DEFAULT_CHARSET



Height -11



Size 8



Name MS Sans Serif

9


Button5


Standard

Caption Поиск



Charset DEFAULT_CHARSET



Height -11



Size 8



Name MS Sans Serif
10 Edit1 Standard Text tt.text
11 Edit2 Standard Text
12 Edit3 Standard Text
13 Edit4 Standard Text

14


StringGrid1


Additional

FixesCols 0



FixesRows 1



RowCount 11



ColCount 16



Options [goEditing, goTab]



FixedColor clSkyBlue

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


unit Unit1;


interface


uses

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

Dialogs, StdCtrls, Grids, Buttons;

type

s30=string[30];

P = record

tovar: string[30];

money: integer;

kol: integer;

itogo: integer;

end;

TForm1 = class(TForm)

StringGrid1: TStringGrid;

Button1: TButton;

Button2: TButton;

Edit1: TEdit;

Label1: TLabel;

Button3: TButton;

Edit2: TEdit;

Label2: TLabel;

BitBtn1: TBitBtn;

Edit3: TEdit;

Button4: TButton;

Button5: TButton;

Edit4: TEdit;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form1: TForm1;


implementation


{$R *.dfm}


function poisk(istochnik,chto:s30):boolean;

var i,k:integer;


procedure poisk2(B,M:s30);

var k:integer; b1:boolean;

begin

i:=0;

while length(b)>=length(m)+i do

begin

b1:=true;

for k:=1 to length(m) do begin

if m[k]=b[k+i] then else b1:=false;

end;

if b1=true then begin poisk:=b1; exit; end; i:=i+1;

end;


end;


begin

if length(istochnik)>=length(chto) then

poisk2(istochnik,chto)

else

poisk2(chto,istochnik);

end;


procedure TForm1.Button2Click(Sender: TObject);

var i:integer; s:string; z:p;

f: file of p;

begin

s:=edit1.Text;

system.Assign(f,s); // назначается имя файловой переменной

rewrite(f); // содание пустого файла, указатель устан. на нулевой эл-т

for i:=1 to stringgrid1.RowCount do if (stringgrid1.Cells[0,i]<>'') then

begin

z.tovar:=stringgrid1.cells[0,i];

z.money:=strtoint(stringgrid1.cells[1,i]);

z.kol:=strtoint(stringgrid1.cells[2,i]);

write(f,z); // запись в файл f записи z

end;

system.close(f);

end;


procedure TForm1.Button1Click(Sender: TObject);

var i:integer; z:p;

f: file of p;

begin

i:=1;

system.Assign(f,edit1.Text);

reset(f); // открыть файл

while not eof(f) do

begin

read(f,z);

stringgrid1.cells[0,i]:=z.tovar;

stringgrid1.cells[1,i]:=inttostr(z.money);

stringgrid1.cells[2,i]:=inttostr(z.kol);

stringgrid1.RowCount:=i+1;

i:=i+1;

end;

system.close(f);


end;


procedure TForm1.FormCreate(Sender: TObject);

begin

stringgrid1.Cells[0,0]:='Товар';

stringgrid1.Cells[1,0]:='Стоимось';

stringgrid1.Cells[2,0]:='Кол-во';

stringgrid1.Cells[3,0]:='Итого';

end;

procedure TForm1.Button3Click(Sender: TObject);

Var i:integer;

begin

edit2.Text:='0';

for i:=1 to stringgrid1.RowCount-1 do

begin

stringgrid1.cells[3,i]:=Floattostr(strtoint(stringgrid1.Cells[1,i])*(strtoint(stringgrid1.Cells[2,i])));

edit2.Text:=floattostr(strtofloat(stringgrid1.cells[3,i])+strtofloat(edit2.text));

end;


end;


procedure TForm1.BitBtn1Click(Sender: TObject);

var i,k:integer;

begin

i:=1;

repeat

if stringgrid1.Cells[0,i]=edit3.text then

begin

k:=i;

while k<stringgrid1.RowCount-1 do

begin

stringgrid1.Cells[0,k]:=stringgrid1.Cells[0,k+1];

stringgrid1.Cells[1,k]:=stringgrid1.Cells[1,k+1];

stringgrid1.Cells[2,k]:=stringgrid1.Cells[2,k+1];

stringgrid1.Cells[3,k]:=stringgrid1.Cells[3,k+1];

k:=k+1;

end;

stringgrid1.RowCount:=stringgrid1.RowCount-1;

end;

i:=i+1;


until stringgrid1.RowCount-1<i;


end;


procedure TForm1.Button4Click(Sender: TObject);

var i:integer;

begin

stringgrid1.RowCount:=stringgrid1.RowCount+1;

for i:=0 to 4 do

stringgrid1.cells[i,stringgrid1.RowCount-1]:='';

end;


procedure TForm1.Button5Click(Sender: TObject);

var i:integer; z:p;

f: file of p;

begin

system.Assign(f,edit1.Text);

reset(f); // открыть файл

stringgrid1.RowCount:=2;

stringgrid1.Cells[0,1]:='Не найдено';

for i:=1 to 3 do

stringgrid1.Cells[i,1]:='';

i:=1;

while (not eof(f)) and (edit4.text<>'') do

begin

read(f,z);

if poisk(AnsiUpperCase(z.tovar),AnsiUpperCase(edit4.text)) then

begin

stringgrid1.cells[0,i]:=z.tovar;

stringgrid1.cells[1,i]:=inttostr(z.money);

stringgrid1.cells[2,i]:=inttostr(z.kol);

stringgrid1.RowCount:=i+1;

i:=i+1;

end;

end;

system.close(f);


end;


end.


Тестирование:


Изучение работы с файлами на языке Delphi

Изучение работы с файлами на языке Delphi


Изучение работы с файлами на языке Delphi


Изучение работы с файлами на языке Delphi

Похожие работы:

  1. Создание программы на языке Delphi 7.0
  2. • Создание программы на языке Delphi
  3. • Языка программирования Delphi. Разработка ...
  4. • Разработка программы с помощью языка программирования ...
  5. • Интерпретатор команд MS DOS
  6. • Работа с программным продуктом различных версий Delphi
  7. • База данных предприятия
  8. • Разработка программы при помощи языка ...
  9. • Файловая система
  10. • Обработка последовательных файлов в программе
  11. • Влияние изучения иностранного языка на ...
  12. • Электронное пособие по программированию (Delphi)
  13. • Методика обучения монологической и диалогической речи на ...
  14. • Разработка форматов хранения данных программы ...
  15. • Запись и считывание данных (работа с файлами)
  16. • Изучение основных приемов работы с файлами и ...
  17. • Организация работы с файлами в системе "ТУРБО-ПРОЛОГ"
  18. • Работа с файлами, папками WINDOWS: понятие ...
  19. • Программирование на Delphi с алгоритмами и кодами
Рефетека ру refoteka@gmail.com