Как исправить эту программу "Бегущая строка" под общий случай. Чтобы можно было ввести любую бегущую строку. Помогите пожалуйста!
Программа «Бегущая строка»
Uses Crt;
Procedure Beg(x,y,Len : Byte; S : String);
Var i : Byte;
Begin
For i:=1 to Len do S:=' '+S+' ';
Repeat
GoToXY(x,y);
Writeln(Copy(S,1,Len));
Delete(S,1,1);
Delay(100);
Until Length(S) end;

Begin
Beg(10,10,20,'Бегущая строка');
end.

Ответы

Ответ дал: srzontmp
0
Устал я реанимировать вашу программу, проще снова написать. Текст во вложении.

Приложения:
Ответ дал: Уренга
0
Спасибо большое. Но что-то не то опять. Строка не идёт.
Ответ дал: Уренга
0
Введите строку выводит команда, но бегущей строки не получается(((((
Ответ дал: srzontmp
0
Это был вариант "слева - направо" (для арабов) а вот вариант "справа - налево"Uses Crt;
var st: string;
Procedure Beg(x,y : Byte; S : String);
Var i,n: Byte;
ss: string;
Begin
n:=80-2*x;
ss:='';
for i:=1 to n do ss:=ss+' ';
Repeat
For i:=1 to n+Length(S) do
begin
Delete(ss,1,1);
if i<= Length(S) then ss:=ss+S[i]
else ss:=ss+' ';
GoToXY(x,y);
Write(ss);
Delay(20000);
end;
Until KeyPressed;
end;

Begin
write('задайте строку: ');
readln(st);
Beg (10,10,st);
end.
Ответ дал: Уренга
0
А как сделать чтоб строка быстрее шла?
Ответ дал: srzontmp
0
Чтобы строка быстрее шла уменьшите задержку по времени Delay(20000) , поставьте Delay(10000) - будет в два раза быстрее
Вас заинтересует