Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
CopyPaste
6 / 6 / 5
Регистрация: 03.11.2012
Сообщений: 353
1

функция Writeln(f,w); не перезаписывает файл

25.02.2017, 12:39. Просмотров 1031. Ответов 4
Метки нет (Все метки)

функция Writeln(f,w); не перезаписывает файл.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
uses crt;
var
d: char;
{a,Val,a1,}s,u,w,DeleteFile_string: string;
{a3:array of string;}
f: Text;
I,ds: integer;
begin
Writeln(' нажите клавишу, сделайте свой выбор :');
Writeln(' * * * * * * * * * * * * * * * * * * *1 * * * *Insert дописать в файл: ');
Writeln(' * * * * * * * * * * * * * * * * * * *2 * * * *Delete удалить из файл: '); 
Writeln(' * * * * * * * * * * * * * * * * * * *3 Wiev показать на матрицу файл: ');
Writeln(' * * * * * * * * * * * * * * * * * * *4, Esc  * * *выйти из программы: ');
d := ReadKey;
case d of
#49:
begin
Writeln(' нажата клавиша 1 дописать на файл: ');
Write(' Напишите название файл, в который нужно дописать текст: ');
Readln(u);// Writeln(u);
Assign(f,u);
if fileexists(u) then
begin
append(f);
Readln(s);
Writeln(f,s);
{Writeln(f,'Добавлено в файл.');}
end
else
begin
rewrite(f);
Writeln(f,'Новый файл');
end;
close(f);
KeyPressed;
end;
#50: begin Writeln(' нажата клавиша 2');
Write(' Введіть назву файлу, який треба прочитать: ');
Readln(s);{s:='1.txt';}
Assign(f,s);
Reset(f);
Writeln(' file IsConsoleApplication ', s, ' Assigned, можно показать на матрицу:');
{i:=1;}
while not Eof(f) do
begin {Writeln(' файл прочитан в переменную w');}
{SetLength(a3,i);}{первый символ 1}
readln(f,w);{первая строчка масива строчек 0 } end;
Writeln(' Введите строчку которую нужно удалить : ');
readln(DeleteFile_string);
if DeleteFile_string='1 file' then
CloseFile(f);
Assign(f,s);
Rewrite(f,w);
Writeln(f,w);
{ds:=ds+1;}
{I:=I+1;}
{Writeln(' ',w,' ',i,' строчек нужно удалить ',ds);}
{CloseFile(f,s); Assign(f,s);append(f);
Rewrite(f,s);}
{Writeln(f,a3[3]);}
KeyPressed;end;{delete}
 
#51:
begin
Writeln(' нажата клавиша 3');
Write(' Введіть назву файлу, який треба прочитать: ');
Readln(s);{s:='1.txt';}
Assign(f,s);
Reset(f);
Writeln(' file IsConsoleApplication ', s, ' Assigned, можно показать на монитор:');
while not Eof(f) do
begin {Writeln(' файл прочитан в переменную a3[i]');}
i:=1;
readln(f,w);{Close(f);}
{SetLength(a3);255}
{Writeln file}
I:=I+1;
Writeln(' ',w);
end;
KeyPressed; end;
 
 
#52:
begin
Writeln(' нажата клавиша 4');exit;
KeyPressed; 
end;
#27: begin Writeln(' нажата клавиша Esc');KeyPressed; end;
end;
end.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2017, 12:39
Ответы с готовыми решениями:

Функция, которая считывает данный файл и перезаписывает его без отрицательных чисел
Задания: Есть файл, в котором записаны числа массива написать функцию, которая считывает данный...

Необходимо дозаписать файл. Программа перезаписывает файл, как переделать?
Посмотрела все темы, как бы не пробовала всё равно перезаписывает. А мне необходимо, чтобы при...

Подскажите, как правильно написать if a < b, b < c then Writeln (a*2) else Writeln (a)
Подскажите, как правильно написать if a &lt; b, b &lt; c then Writeln (a*2) else Writeln (a)

Ожидалась функция, встречена процедура Writeln
Program Вычисление; var a,b,c,d,e,f,g,x: integer; a1,b1,c1,d1,e1,f1,g1,s1,h1: real; begin ...

4
ZX Spectrum-128
Модератор
Эксперт Pascal/Delphi
5710 / 3888 / 4350
Регистрация: 05.06.2014
Сообщений: 19,373
25.02.2017, 14:54 2
Лучший ответ Сообщение было отмечено CopyPaste как решение

Решение

CopyPaste, вы эту программу уже в 3-й раз вытаскиваете на свет божий. Причем, во 2-й раз отметили, что всё сделано.
Что в этот раз не так?
Укажите полное и внятное задание.
1
CopyPaste
6 / 6 / 5
Регистрация: 03.11.2012
Сообщений: 353
25.02.2017, 16:56  [ТС] 3
второй пункт программы не работает правильно, нужно удалять из файла искомую строчку, вот написал алгоритм работает только до 1 встречи поискового выражения :
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#50: begin Writeln(' нажата клавиша 2');
Write(' Введіть назву файлу, який треба прочитать: ');
Readln(s);{s:='1.txt';}
Assign(f,s);
Reset(f);
Writeln(' file IsConsoleApplication ', s, ' Assigned, можно показать на матрицу:');
{i:=1;}
while not Eof(f) do
begin {Writeln(' файл прочитан в переменную w');}
{SetLength(a3,i);}{первый символ 1}
readln(f,w);{первая строчка масива строчек 0 } end;
Writeln(' Введите строчку которую нужно удалить : ');
readln(DeleteFile_string);
if DeleteFile_string='1 file' then
ds:=ds+1;
{CloseFile(f);}
{Assign(f,s);
Rewrite(f,w);}
{Writeln(f,w);}Writeln(ds);
{I:=I+1;}
{Writeln(' ',w,' ',i,' строчек нужно удалить ',ds);}
{CloseFile(f,s); Assign(f,s);append(f);
Rewrite(f,s);}
{Writeln(f,a3[3]);}
KeyPressed;end;{delete}
0
Миниатюры
функция Writeln(f,w); не перезаписывает файл  
ZX Spectrum-128
Модератор
Эксперт Pascal/Delphi
5710 / 3888 / 4350
Регистрация: 05.06.2014
Сообщений: 19,373
25.02.2017, 17:43 4
Лучший ответ Сообщение было отмечено CopyPaste как решение

Решение

CopyPaste, я же вам еще в первой теме указал, что из текстового файла строку (строки) удалить нельзя.
Можно:
1. переписать содержимое файла в массив строк, удалить строку из массива, перезаписать массив обратно в файл.
2. читать построчно файл, индексируя строки, записывать во временный файл. "Удаляемые" строки в него не записывать.
1
CopyPaste
6 / 6 / 5
Регистрация: 03.11.2012
Сообщений: 353
25.02.2017, 20:15  [ТС] 5
Обнаружил вирус. :-) сейчас напишу в раздел форума лечение вирусов.
0
Миниатюры
функция Writeln(f,w); не перезаписывает файл  
25.02.2017, 20:15
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2017, 20:15

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

File.AppendAllText перезаписывает файл. Почему?
На просторах интернета нашел метод AppendAllText , который дописывает текст в конец файла, но по...

File.AppendAllText() перезаписывает файл. Почему?
На просторах интернета нашел метод AppendAllText, которых должен открыть файл, дописать строку в...

Процедура, которая перезаписывает из файла f1 положительные числа в файл f2
В текстовом файлe f1 записана последовательность целых чисел, которые разделены пропусками. Описать...

Написать функцию, которая считывает данный файл и перезаписывает данный файл
Задания: Есть файл, в котором записаны числа массива написать функцию, которая считывает данный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.