Обработка файлов в Pascal
Смог сделать удаление повторяющихся слов. Как осуществить вывод сообщения в конец файла- не знаю. Пожалуйста, помогите.
Код:
Const m=[' ','.','!','?'];
Var s,s1,s2:string;
A:array[1..50] of string;
f,g:text;
i,k:byte;
Function Proverka(s:string;k:byte):boolean;
Var i:byte;
b:boolean;
Begin
b:=true;
For i:=1 to k do
if A[i]=s then b:=false;
Proverka:=b;
End;
Begin
Assign(f,'in.txt');Reset(f);
Assign(g,'out.txt');Rewrite(g);
k:=0;
While not Eof(f) do
Begin
readln(f,s);
s:=s+' ';s1:='';s2:='';
For i:=1 to Length(s) do
if not(s[i] in m) then s1:=s1+s[i]
else
Begin
if Proverka(s1,k) then
Begin
s2:=s2+s1+s[i];
inc(k);
A[k]:=s1;
End;
s1:='';
End;
if s2<>'' then writeln(g,s2);
End;
writeln('Преобразование окончено!');
Close(f);Close(g);
readln;
End.
Var s,s1,s2:string;
A:array[1..50] of string;
f,g:text;
i,k:byte;
Function Proverka(s:string;k:byte):boolean;
Var i:byte;
b:boolean;
Begin
b:=true;
For i:=1 to k do
if A[i]=s then b:=false;
Proverka:=b;
End;
Begin
Assign(f,'in.txt');Reset(f);
Assign(g,'out.txt');Rewrite(g);
k:=0;
While not Eof(f) do
Begin
readln(f,s);
s:=s+' ';s1:='';s2:='';
For i:=1 to Length(s) do
if not(s[i] in m) then s1:=s1+s[i]
else
Begin
if Proverka(s1,k) then
Begin
s2:=s2+s1+s[i];
inc(k);
A[k]:=s1;
End;
s1:='';
End;
if s2<>'' then writeln(g,s2);
End;
writeln('Преобразование окончено!');
Close(f);Close(g);
readln;
End.
Код:
program Project1;
{$APPTYPE CONSOLE}
//uses
// SysUtils;
var
MyFile: TextFile;
begin
try
{ TODO -oUser -cConsole Main : Insert code here }
AssignFile(MyFile, 'ваш фаил');
Append(MyFile);
WriteLn(MyFile, 'Ваша супер важная инфа');
CloseFile(MyFile);
readln;
except
// on E: Exception do
// Writeln(E.ClassName, ': ', E.Message);
end;
end.
{$APPTYPE CONSOLE}
//uses
// SysUtils;
var
MyFile: TextFile;
begin
try
{ TODO -oUser -cConsole Main : Insert code here }
AssignFile(MyFile, 'ваш фаил');
Append(MyFile);
WriteLn(MyFile, 'Ваша супер важная инфа');
CloseFile(MyFile);
readln;
except
// on E: Exception do
// Writeln(E.ClassName, ': ', E.Message);
end;
end.
Этот код добавляет текст к уже имеющемуся в файле, в самый конец.
Я правильно понял, вам так нужно?
Pascal ABC.NET
Все, спасибо, все работает