Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Даша.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
2.31 Mб
Скачать

1.4 Обработка типизированных файлов

Обработка типизированных файлов

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

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

Чтобы избежать этой ошибки, достаточно вставить при записи в файл после каждой переменной пробел. Тогда программа при каждом чтении берет символы от пробела до пробела и правильно преобразует текстовое представление в число.

Можно использовать одну и ту же переменную для работы с несколькими файлами, если они обрабатываются последовательно

1.5 Разработка приложений

Системы быстрой разработки приложений, к которым относится Delphi,

существенно облегчают разработку программ.

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

Процесс разработки интерактивной системы – приложения Delphi включает следующие этапы:

Построение визуального интерфейса: выбор форм и требуемых компонентов и размещение их на формах (кнопок, меню и пр.)

Установка при помощи Инспектора объектов свойств формы и её элементов управления.

Присоединение кода на Object Pascal к компонентам для обработки событий, инициируемых пользователем (с помощью мыши или клавиатуры), системой или другими источниками.

Компиляция исходного кода Object Pascal и ресурсов формы в исполняемый .EXE – файл, который может запускаться из среды Delphi или из Windows как отдельная программа.

Задача 1. Составить программу нахождения корней квадратного уравнения.

Код программы:

unit Unit1;

interface

uses

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

Dialogs, StdCtrls, Menus, jpeg, ExtCtrls, ImgList,xpman;

type

TForm1 = class(TForm)

Edit2: TEdit; Edit3: TEdit;

Button1: TButton;

Label2: TLabel; Label3: TLabel; Label4: TLabel; lbl1: TLabel;

img1: TImage;

Edit1: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1; a,b,c,d,x1,x2:real;

Implementation {$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

a:=strtofloat(edit1.Text); b:=strtofloat(edit2.Text) c:=strtofloat(edit3.Text);

d:=sqr(b)-4*a*c ;

if d<0 then

begin

Edit4.Text:= 'Решения Нет:';

Edit5.Text:= floattostr(d)+' дискриминант меньше 0'; end;

if d>=0 then

begin

x1:=(-b-sqrt(d))/2*a; x2:=(-b+sqrt(d))/2*a;

Edit4.Text:='X1='+ floattostr(x1); Edit5.Text:='X2='+ floattostr(x2);

Edit6.Text:='D='+floattostr(d);

end; end; end.

Задача 2. Написать программу, которая позволяет увидеть содержимое текстового файла.

Код программы:

unit Unit1;

interface

uses

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

Dialogs, StdCtrls, xpman;

type

TForm1 = class(TForm)

OpenDialog1: TOpenDialog;

Button1: TButton;

Memo1: TMemo;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

opendialog1.filter:='|*.txt,*.doc,*.ini,*|' ; if opendialog1.Execute then

memo1.lines.LoadFromfile(opendialog1.filename) ;

end; end.

Задача 3. Написать программу, которая позволяет посмотреть содержимое текстового файла и отредактировать его.

Код программы:

unit Unit1;

interface

uses

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

Dialogs, StdCtrls, xpman;

type

TForm1 = class(TForm)

OpenDialog1: TOpenDialog; Button1: TButton; Memo1: TMemo;

Button2: TButton; SaveDialog1: TSaveDialog;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

Implementation {$R *.dfm}

function Stransitooem(aStr:String): String;

begin

Result:= ' ';

if Length(aStr)>0 then begin

SetLength(Result,Length(aStr));

CharToOem(PChar(aStr),PChar(Result));

end; end;

procedure TForm1.Button1Click(Sender: TObject);

begin

opendialog1.filter:='|*.txt,*.doc,*.ini,*.odt,*|' ; if opendialog1.Execute then

memo1.lines.LoadFromfile(opendialog1.filename) ;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

savedialog1.filter:='|*.txt,*.doc,*.ini,*|' ;

memo1.lines.savetofile(opendialog1.filename) ;

end; end.

Задача 5. Написать программу, которая осуществляет поиск заданого файла в нулевом каталоге и его подкаталогах.

Секция подключения модулей предназначена для встраивания в программу стандартных и разработанных вами библиотек подпрограмм и классов (о подпрограммах и классах читайте ниже). Эта секция состоит из зарезервированного слова uses и списка имен подключаемых библиотечных модулей. При написании программ, эмулирующих текстовый режим, подключается по крайней мере модуль SysUtils. В нем содержатся определения часто используемых типов данных и подпрограмм.