Тема: Додавання символів до рядка
Розробити програму, яка:
а)Читає вміст файлу TF9_1, формує рядки за правилом: якщо рядок файлу TF1 коротший ніж 20 символів, то він доповнюється знаками ‘&’, б) А якщо довший, то лишні символи ігнорується, і записує їх у файл TF9_2
завдання б я зробив ніби, а завдання "а" не знаю як.
Ось код:
procedure TForm1.Button1Click(Sender: TObject);
Const
c=['a'..'z','0'..'9'];
Var
f1,f2:TextFile;
s,s1:string[20];
k,p,n,i:integer;
t:boolean;
begin
{Зв’язування файлових змінних з файлами на диску}
AssignFile (f1, 'TF_1');
AssignFile (f2, 'TF_2');
{Відкриття файлу TF_1 для запису}
Rewrite(f1);
{Створення файлу TF_1 }
n:=Memo1.Lines.Count;
for i:=0 to n-1 do
begin
s:=Memo1.Lines[i];
writeln(f1, s);
end;
{Закриття файлу TF_1 }
CloseFile (f1);
{Відкриття файлу TF_1 для читання}
Reset (f1);
{Відкриття файлу TF_2 для запису}
Rewrite (f2);
{Створення файлу TF_2 }
t:=true;
while not eof(f1) do
begin
readln(f1,s);
i:=1;
Repeat
if (s[i] in c) or (s[i] in c) then
begin
p:=i;
i:=i+1;
while (s[i] in c) and (i<=Length(s)) do
i:=i+1;
s1:=copy(s,p,i-p);
writeln(f2,s1);
t:=false;
end
else i:=i+1;
until (i>Length(s));
end;
CloseFile(f1);
CloseFile(f2);
{Виведення вмісту файлу TF_2 }
reset(f2);
k:=0;
Edit1.Text:='';
while not eof(f2) do
begin
readln(f2,s);
Memo2.Lines.Add(s);
end;
CloseFile(f2);
end;
end.