1 Востаннє редагувалося Torbins (24.03.2015 11:43:05)

Тема: Додавання символів до рядка

Розробити програму, яка: 
а)Читає вміст файлу 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.

2

Re: Додавання символів до рядка

І? Що далі?
Ви часом не одногрупник ex.jedii? Підозріло задачі схожі.

3

Re: Додавання символів до рядка

Як завдання "а" зробити ?

4

Re: Додавання символів до рядка

budda
В оголошенні змінних s і s1 приберіть довжину. Після цього дізнатися реальну довжину тексту у змінній можна буде так: n := Length(s1);

5

Re: Додавання символів до рядка

Дякую, я вже сам зробив.