
Полная версия
Программирование на Delphi 7
Windows.Beep(10000,500);
Windows.Beep(10000,500);
end;
ЛЕКЦИЯ № 9
1. РАБОТА С ФАЙЛАМИ И ТИПИЗИРОВАННЫМИ ДАННЫМИ
Описание файловой переменнойvar f: textfile;Переменная для работы с текстовым файломvar f: file of tPers;Переменная для работы с типизированным файломvar f: file of integer;Переменная для работы с типизированным файломОткрытие и закрытие файлаAssignFile(f,'d:\1.txt');Связь файловой переменной с файлом на дискеappend(f);Открываем файл на добавление в конецreset(f);Открываем существующий файл на чтение (для типизированных файлов – и на запись)rewrite(f);Создаем файл на записьCloseFile(f);Закрытие файлаЗапись и чтение в файлwrite(f,t);Вывод типизированных данных в файлwriteln(f,'Привет!');Вывод текстовых данных в файлread(f,t);Читаем типизированное данное из файлаreadln(f,s);Читаем текстовую строку из файлаПеремещение на нужную запись в файлеseek(f,2);Переход на нужную запись (с нуля)while not eof(f) doПока не конец файла – циклk:=FilePos(f);Чтение текущей позиции в файлеk:=FileSize(f);Чтение размера файла в байтах
1. Запись текстовых данных в файл
procedure TForm6.Button1Click(Sender: TObject);
// Запись текстовых данных в файл
var f: textfile; // Переменная для работы с текстовым файлом
begin
AssignFile(f,'d:\1.txt'); // Связь файловой переменной с файлом на диске
rewrite(f); // Открываем файл на запись с очисткой
// append(f); // Открываем файл на добавление в конец
writeln(f,'Привет!'); // Вывод данных в файл
writeln(f,'Создаем новый файл на диске.');
CloseFile(f); // Закрываем файл
end;
2. Чтение текстовых данных из файла
procedure TForm6.Button2Click(Sender: TObject);
// Чтение данных из файла
var f: textfile; // Переменная для работы с текстовым файлом
s: string;
begin
memo1.Clear; // Очистка мемо-поля
AssignFile(f,'d:\1.txt'); // Связь файловой переменной с файлом на диске
reset(f); // Открываем файл на чтение
while not eof(f) do begin // Пока не конец файла – цикл
readln(f,s); // Читаем текстовую строку из файла
memo1.Lines.add(s); // Заносим считанную строку в мемо-поле
end;
CloseFile(f); // Закрываем файл
end;
3. Запись типизированных данных в файл
type // Описание типа-записи
tPers = record
fam: string[50];
name: string [50];
year: integer;
height: real;
end;
var f: file of tPers; // Переменная для работы с типизированным файлом
t: tpers; s: string;
. . .
procedure TForm6.Button3Click(Sender: TObject);
// Запись типизированных данных в файл
begin
// Задаем переменную-запись
t.fam:='Петров'; t.name:='Василий'; t.year:=18; t.height:=58.2;
AssignFile(f,'d:\1.dat'); // Связь файловой переменной с файлом на диске
// можно так:
rewrite(f); // Создаем файл заново
// или так:
// reset(f); // Открываем существ. типизированный файл на чтение и запись
// seek(f,strtoint(edit1.Text)); // Перемещаемся на любую нужную запись
write(f,t); // Сохраняем запись в текущей позиции в файле
CloseFile(f); // Закрываем файл
end;
4. Чтение типизированных данных из файла
procedure TForm6.Button4Click(Sender: TObject);
// Чтение типизированных данных из файла
begin
// Задаем переменную-запись
memo1.Clear; // Очистка мемо-поля
AssignFile(f,'d:\1.dat'); // Связь файловой переменной с файлом на диске
reset(f); // Открываем файл на чтение
while not eof(f) do begin // Пока не конец файла – цикл
read(f,t); // Читаем запись из файла
// Заносим считанные данные в мемо-поле
memo1.Lines.add(t.fam);
memo1.Lines.add(t.name);
memo1.Lines.add(inttostr(t.year));
memo1.Lines.add(floattostr(t.height));
end;
CloseFile(f); // Закрываем файл
end;
5. Чтение записи из типизированного файла
procedure TForm6.Button5Click(Sender: TObject);
// Чтение записи из типизированного файла с данными
begin
// Задаем переменную-запись
memo1.Clear; // Очистка мемо-поля
try
AssignFile(f,'d:\1.dat'); // Связь файловой переменной с файлом на диске
reset(f); // Открываем файл на чтение
try
// Пример с чтением конкретной записи
seek(f,strtoint(edit1.text)); // Переход на нужную запись (с нуля)
read(f,t); // Читаем запись из файла
memo1.Lines.add(t.fam); // Заносим считанную строку записи в мемо-поле
except
showmessage('Нет такой записи!');
end;
CloseFile(f); // Закрываем файл
except
showmessage('Нет доступа к файлу!');
end;
end;