Помощь в написании студенческих работ
Антистрессовый сервис

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

Лабораторная работаПомощь в написанииУзнать стоимостьмоей работы

While (not eof (f)) and (edit4.text<>'') do. If length (istochnik)≥length (chto) then. Procedure Button5Click (Sender: TObject); Procedure Button4Click (Sender: TObject); Procedure Button3Click (Sender: TObject); Procedure Button2Click (Sender: TObject); Procedure Button1Click (Sender: TObject); Procedure BitBtn1Click (Sender: TObject); For i:=1 to stringgrid1. RowCount-1 do. Procedure… Читать ещё >

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

Министерство образования и науки Российской Федерации Курский государственный технический университет Кафедра ПО ВТ

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

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

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

Курск

Цель:

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

Задание:

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

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

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

Имя компонента

Страница палитры компонентов

Настраиваемые компоненты

Значения

Form1

;

Сaption

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

Color

clMoneyGreen

Bitbtn1

Additional

Caption

Удалить по наименованию

Label1

Standard

Caption

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

Color

clMoneyGreen

Color (Font)

clNavy

Size (Font)

Charset (Font)

DEFAULT_CHARSET

Height (Font)

— 16

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

Label2

Standard

Caption

Общая сумма

Color

clMoneyGreen

Color (Font)

clNavy

Size (Font)

Charset (Font)

DEFAULT_CHARSET

Height (Font)

— 13

Button1

Standard

Caption

Открыть

Charset

BALTIC_CHARSET

Height

— 11

Size

Button2

Standard

Caption

Сохранить

Charset

BALTIC_CHARSET

Height

— 11

Size

Button3

Standard

Caption

Расчет

Charset

DEFAULT_CHARSET

Height

— 11

Size

Name

MS Sans Serif

Button4

Standard

Caption

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

Charset

DEFAULT_CHARSET

Height

— 11

Size

Name

MS Sans Serif

Button5

Standard

Caption

Поиск

Charset

DEFAULT_CHARSET

Height

— 11

Size

Name

MS Sans Serif

Edit1

Standard

Text

tt.text

Edit2

Standard

Text

Edit3

Standard

Text

Edit4

Standard

Text

StringGrid1

Additional

FixesCols

FixesRows

RowCount

ColCount

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); // iacia? aaony eiy oaeeiaie ia? aiaiiie

rewrite (f); // niaaiea ionoiai oaeea, oeacaoaeu onoai. ia ioeaaie ye-o

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); // caienu a oaee f caiene 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); // ioe? uou oaee

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]: ='Oiaa?';

stringgrid1.Cells[1,0]:='Noieiinu';

stringgrid1.Cells[2,0]:='Eie-ai';

stringgrid1.Cells[3,0]:='Eoiai';

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

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

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); // ioe? uou oaee

stringgrid1.RowCount:=2;

stringgrid1.Cells[0,1]: ='Ia iaeaaii';

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.

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

Показать весь текст
Заполнить форму текущей работой