Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Топ:
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Интересное:
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Дисциплины:
2021-04-18 | 43 |
5.00
из
|
Заказать работу |
|
|
procedure TForm1.Button1Click(Sender: TObject);
begin
with OpenDialog1 do
begin
if not Execute then Exit; //размещение диалогового окна
//если окно открылось можно использовать переменную FileName
//в которую система поместила имя выбранного файла
Edit1.text:=FileName;
end
end;
При выполнении операции Открыть файл откроется диалоговое окно, вид которого представлен на рис.13, выбора файла.После выбора файла и щелчка по кнопке Open, окна выбора файла, имя файла запишется в переменную OpenDialog 1. filename и согласно алгоритма обработчика кнопки Открыть файл оно отобразится в элементе формы Edit 1.
Рис.13. Окно выбора файла
На рис.14. отображена форма после выполнения операции.
Рис.14. Отображение в форме имени открытого файла
Примеры подпрограмм по обработке файлов
Unit Unit1;
interface
const
line='-----------------------------------------------------------------------';
type
//струтура записи типизированного файла
tkassa=record
nomer:word;
FIO:string[20];
num:word;
sum:real;
data:string[10];
end;
ttxt=textfile; //тип для текстового файла
ttype=file of tkassa; //тип для типизированного файла из записей
tf=file of integer; //типизированный файл из целых значений
//создание типизированного из текстового
procedure create_tf(var f1:ttxt; var f2:ttype);
//поиск в типизированном файле
procedure search(var f2:ttype;fam:string);
//вставка записи в середину тип. ф.
procedure insert_mid(var f2:ttype; x:tkassa; s1:string);
//вставка перед первой записью procedure insert_first(var f2:ttype; x:tkassa; s1:string);
//вставка в конец файла
procedure insert_end(var f2:ttype; x:tkassa);
//вывод файла
procedure out(var f2:ttype);
//удаление из записи по указанной позиции
procedure delete_pos (var f2:ttype; pos:integer);
implementation
procedure create_tf(var f1:ttxt; var f2:ttype);
var
w: tkassa;
begin
reset(f1);
rewrite(f2);
while not eof(f1) do
begin
readln(f1,w.nomer);
readln(f1,w.FIO);
|
readln(f1,w.num);
readln(f1,w.sum);
readln(f1,w.data);
write(f2,w);
end;
closefile(f1);
closefile(f2);
end;
procedure insert_first(var f2:ttype; x:tkassa; s1:string);
var
f3:ttype;
i:integer;
begin
assignfile(f3,'tmp.doc');
rewrite(f3);
write(f3,x);
reset(f2);
for i:=1 to filesize(f2) do
begin
read(f2,x);
write(f3,x);
end;
closefile(f2);
closefile(f3);
erase(f2);
rename(f3, s1);
end;
procedure insert_mid(var f2:ttype; x:tkassa; s1:string);
var
f3:ttype;
i:integer;
x1:tkassa;
begin
assignfile(f3,'tmp.doc');
rewrite(f3);
reset(f2);
for i:=1 to filesize(f2)div 2 do
begin
read(f2,x1);
write(f3,x1);
end;
write(f3,x);
for i:=filesize(f2)div 2+1 to filesize(f2) do
begin
read(f2,x);
write(f3,x);
end;
closefile(f2);
closefile(f3);
erase(f2);
rename(f3, s1);
end;
procedure insert_end(var f2:ttype; x:tkassa);
var
f3:ttype;
i:integer;
x1:tkassa;
begin
reset (f2);
seek(f2, filesize(f2));
write(f2, x);
closefile(f2);
end;
procedure out(var f2:ttype);
var
x:tkassa;
i:integer;
begin
reset(f2);
writeln;
shapka;
for i:=1 to filesize(f2) do
begin
read(f2,x);
writeln ('| ', x.nomer:6,' | ',x.FIO:7,' | ',x.num:16,' | ',x.sum:9,' |
',x.data:6,' |');
end;
closefile(f2);
end;
procedure delete_pos (var f2:ttype; pos:integer);
var
i:integer;
x:tkassa;
begin
reset(f2);
if pos<=filesize(f2) then
begin
for i:=pos to filesize (f2)-1 do
begin
seek (f2, i);
read(f2,x);
seek(f2, filepos (f2)-2);
write(f2,x);
end;
seek(f2, filesize(f2)-1);
truncate(f2);
closefile(f2);
end;
end;
procedure writey(var x:tkassa);
var
y:real;
begin
writeln('Vvedite nomer kassi');
readln (x.nomer);
writeln('Vvedite FIO');
readln (x.FIO);
writeln('Vvedite kol-vo');
readln (x.num);
writeln('Vvedite stoimost bileta');
readln (y);
x.sum:=y*x.num;
writeln('Vvedite daty');
readln (x.data);
end;
procedure search(var f2:ttype;fam:string);
var
x:tkassa;
k,i:integer;
begin
reset(f2);
k:=0;
for i:=1 to filesize (f2) do
begin
read(f2, x);
if x.FIO=fam then
begin
if k=0 then
shapka;
k:=k+1;
writeln ('| ', x.nomer:6,' | ',x.FIO:7,' | ',x.num:16,' | ',x.sum:9,' |
',x.data:6,' |');
end;
end;
if k=0 then
writeln ('Takix kassirov net');
end;
procedure vivf(var f:tf);
var i,x:integer;
begin
writeln;
reset(f);
for i:=1 to filesize (f) do
begin
read(f,x);
write(x,' ');
end;
closefile(f);
Reset(f);
end;
end.
Контрольные вопросы
1. Что такое файл? (определение файла на логическом и физическом уровнях)
2. Как устанавливается связь логического и физического файлов?
3. Какие вы знаете способы ввода в программу имени физического файла?
4. Что значит:– открыть файл: - закрыть файл?
5. Для чего используется директива {$I+/-}?
|
6. Что понимается под текстовым файлом на логическом уровне?
7. Как можно создать текстовый файл?
8. Что является компонентой текстового файла? Чем отделяется одна компонента от другой? Что можно сказать о длине компонент?
9. Какие процедуры осуществляют запись данных в текстовый файл и их особенности?
10. Какие процедуры читают данные из текстового файла и их особенности?
11. Как переопределить буфер обмена для текстового файла? На что влияет размер буфера?
12. Какие операции следует включить в программу для создания текстового файла А.txt на диске D:, в который записываются четыре значения: число, число, символ, строка (причем, три первых на одной строке файла, а третье на другой), предусмотрев все для последующего считывания этих значений. (разработайте программу и отладьте ее)
13. Каково назначение функций EOF, EOLN, SEEKEOF,SEEKEOLN? Процедуры FLUSH?
14. Как организовать добавление новых данных в уже существующий текстовый файл? (Приведите фрагмент программы)
15. Что объясняет эта программа?
Текстовый файл F.txt построчно содержит информацию:
Этот файл содержит 3 строки.
С этой строки вы считали 22 символа. А что стало с остальными?
А это уже третья строка.
{ Это текст программы }
Var f:Filetext;
A:string[22];
name_file: string;
Begin
Repeat
Writeln(‘ВВЕДИТЕ ИМЯ ФАЙЛА’); readln(name_file);
AssignFile(f, name_file);
{$I-}
Reset(f);
{$I+}
if Ioresult<>0 then
begin
writeln(‘Ошибка открытия файла с именем ’, name_file);
writeln(‘Введете заново имя файла? Y/N’);
readln(OK);
if (OK=’N’) or (OK=’n’) then Halt(1);
end;
until Ioresult=0;
Readln(f);
readln(f,a);
writeln(a);
readln(f,a);
write(a);
close(f);
End.
16. Пусть существует файл c.txt, из М (1<=M<=10) строк. Каждая строка содержит данные: год рождения и Фамилию И.О.. Разработайте программу заполнения массива A, определенного следующим образом:
type rec=record уеаr:1800..5000; fio:string[40] end;
var A: array[1..N] of rec;
17. Как описать типизированный файл в программе?
18. Как можно создать типизированный файл? Что является значением компоненты типизированного файла? Что можно сказать о длине всех компонент типизированного файла? Имеются ли в типизированном файле символы разделители компонент?
19. Приведите описания типизированных файлов
· Из компонентов вещественные числа
· Из компонентов символьного типа
· Из записей со структурой rec из вопроса 15.
20. Как определить длину компоненты типизированного файла?
|
21. Что определяет указатель типизированного файла?
22. Если указатель равен 3, то над какой (по номеру) записью будет выполняться операция ввода – вывода? (при ответе на вопрос изобразите схемой файл из 7 компонент, длина компонента 2 байта)
23. Какие операции можно выполнять над компонентами типизированного файла, если он открыт
· процедурой Reset
· процедурой Rewrite?
24. Какие операции выполняют процедуры SEEK, TRUNCATE? Что является значениями функций FILESIZE, FILEPOS? Что будет результатом выполнения процедур:
Seek(f,0); seek(f,filesize(f)); seek(f,filepos(f)-1); {считать, что filepos(f)>0)
25. Как вводиться в программу файл без типа? Что считается компонентой такого файла? Когда устанавливается размер компоненты для файла без типа?
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Рапаков Г. Г., Ржеуцкая С. Ю "Turbo Pascal для студентов и школьников.". БХВ-Петербург, 2007. – 300 с.
2. Кандзюба С.П. Delphi 7. Базы данных и приложения. Лекции и упражнения / С.П.Кандзюба, В.Н.Громов. – СПб.: ООО «ДиаСофтЮП», 2005. – 570 с.
3. Бобровский С. И."Delphi 7. Учебный курс". - Питер, 2007. – 735 с.
4. Фаронов В. В."Delphi: программирование на языке высокого уровня." - Питер, 2005. – 639 с.
5. Фаронов В.В. Система программирования DELPHI. - Санкт-Петербург: БХВ, 2003. – 640 с
6. Альфред В.Ахо и др. Структуры данных и алгоритмы: Пер.с англ.: “Издательский дом “Вильямс, 2001. – 384 с.: ил.--Парал. Тит. Англ.
7. Кнут Д. Искусство программирования для ЭВМ т.1 – 3, М.: Мир, 1976. – 384 с.
8. Криницкий А.Н. Алгоритмы вокруг нас.М.: Наука, 1977 г.
9. Вирт Алгритмы+структуры данных = программы, Пер. с английского - М.: Мир, 1985. – 300 с.
10. Климова Л.М. PASCAL 7.0, Практическое программирование. Решение задач, Учебно методическое издание, М.: Кудиц-Образ, 2000 г.
11. В.Н.Пильщиков. Сборник упражнений по языку Паскаль.Учебное пособие для вузов, - М.: Наука, 1989. – 160 с.
[1] При вводе данных в строковые поля предусмотреть преобразование их к формату: первая буква большая, остальные маленькие)
|
|
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!