Цитата
Для начала, почему не пользуемся поиском... По-моему, вот эта задача довольно похожая... Разбить текст на строки
Похожая но не та...
Мне нужно желательно читть из текстового файла по 80 символов скажем в массив.
А текстовый файл естественно более 255 смиволов чтобы загнать его в 1 строку и покрамсать по 80 символов в строку... как предложено в примере
Открываем Фаронова:
"Procedure Read([var F:text] v1 [,v2,...,vn]) считывает одно или более значений из текстового файла в одну или болеее переменых."
Значит можно читать с помощбю read и более 1 переменной, но как? или что-то я не так понял.
В общем я здесь мучался пока интернета не было накидал что не так? (пока разбиваю по 50 символов в строку)
Код
program name;
const n= 100;
var t:text;s:string[50];c:char;
m : array[1..n] of string; i:integer; min:string;z:integer;f:integer; mi:string;
begin
i:=1;
writeln('Enter filename');
readln(s);
assign(t,s);
{$I-}
reset(t);
{$I+}
if ioresult<>0 then
begin writeln('ERROR!!!! File not found!');readln;
end
else
while(not eof(t))and (i<=n) do
begin
readln(t,m[i]);
inc(i);inc(z);
end;
rewrite(t);
for i:=1 to z do begin
if length(m[i]) < 50 then begin if length (m[i+1]) >50 then begin
m[i]:=m[i] + copy( m[i+1], 0, 50-length(m[i]));delete( m[i+1], 0 ,50-length(m[i])); end
else m[i]:=m[i]+m[i+1];m[i+1]:=''; end;
if length( m[i]) > 50 then begin m[i+1]:= copy(m[i],50,length(m[i])-50);delete(m[i],50,length(m[i])-50);end;
end;
writeln(t,'----------------------------------------------------');
for i:=1 to z do begin
writeln(t,'|',m[i],'|');
if( i mod 25) = 0 then begin
writeln(t,'----------------------------------------------------');
writeln(t,z);
writeln(t,'----------------------------------------------------');
writeln;
writeln;writeln;
writeln(t,'----------------------------------------------------');
close(t);
end;
end;
end.