Программирование в среде Delphi. Часть 3. Файлы. Садовская О.Б. - 26 стр.

UptoLike

Составители: 

26
Например, для установки файлового указателя на последний элемент
файла f достаточно записать
seek(f, filesize(f)1);
на первый элемент файла
seek(f, 0);
вернуться на один элемент назад
seek(f, filepos(f)1);
Применение процедур assignfile и closefile для типизированных
файлов не отличается от текстовых файлов. Процедура reset, в отли-
чие от текстовых файлов, допускает для типизированных файлов не
только чтение, но и запись в файл . Процедура rewrite, в отличие от
текстовых файлов, допускает не только запись, но и чтение из файла .
Процедура append и функция eoln для типизированных файлов не
работают.
Задача 36. Создать типизированный файл , состоящий из символов,
введённых в окно ввода Edit. Вывести содержимое созданного файла
в поле метки Label.
Создание типизированного файла символов:
procedure TForm1.Button1Click(Sender: TObject);
var f : file of char; i : integer;
begin
if not savedialog1.execute then exit;
label1.Caption:=savedialog1.FileName;
assignfile(f, savedialog1.FileName);
rewrite(f);
for i:=1 to length(edit1.Text) do write(f, edit1.text[i]);
closefile(f);
end;
Вывод содержимого типизированного файла в поле метки Label2:
procedure TForm1.Button2Click(Sender: TObject);
var f : file of char; d : char;
begin
if not opendialog1.execute then exit;
assignfile(f, opendialog1.FileName);
reset(f); label2.Caption:='';
while not eof(f) do
                                             26
На прим ер, д ля у ст а н овки ф а йлового у ка за т еля н а послед н ий э лем ен т
ф а йла f д ост а точн о за писа т ь
                                  seek(f, filesize(f)–1);
н а первый э лем ен т ф а йла
                                        seek(f, 0);
верн у т ься н а од ин э лем ен т н а за д
                                   seek(f, filepos(f)–1);
   П рим ен ен ие процед у р assignfile и closefile д ля т ипизирова н н ых
ф а йлов н е отлича ет ся от текст овых ф а йлов. П роцед у ра reset, в от ли-
чие от т екст овых ф а йлов, д опу ска ет д ля т ипизирова н н ых ф а йлов н е
т олько чт ен ие, н о и за пись в ф а йл. П роцед у ра rewrite, в отличие от
т екст овых ф а йлов, д опу ска ет н е т олько за пись, н о и чтен ие из ф а йла .
П роцед у ра append и ф у н кция eoln д ля т ипизирова н н ых ф а йлов н е
ра б от а ю т.
      За д а ча 36. Созд а т ь т ипизирова н н ый ф а йл, сост оя щий из сим волов,
введ ён н ых в окн о ввод а Edit. В ывест и сод ерж им ое созд а н н ого ф а йла
в поле м ет ки Label.




    Созд а н ие т ипизирова н н ого ф а йла сим волов:
    procedure TForm1.Button1Click(Sender: TObject);
    var f : file of char; i : integer;
    begin
    if not savedialog1.execute then exit;
    label1.Caption:=savedialog1.FileName;
    assignfile(f, savedialog1.FileName);
    rewrite(f);
    for i:=1 to length(edit1.Text) do write(f, edit1.text[i]);
    closefile(f);
    end;
    В ывод сод ерж им ого типизирова н н ого ф а йла в поле м ет ки Label2:
    procedure TForm1.Button2Click(Sender: TObject);
    var f : file of char; d : char;
    begin
    if not opendialog1.execute then exit;
    assignfile(f, opendialog1.FileName);
    reset(f); label2.Caption:='';
    while not eof(f) do