Блин, при открытии *.asc в ворде так ломаются строки.... Прямо свинство какое-то. Решено, как только подрасчищу дисковое пространство, устанавливаю на винду линуксовский офис ;D
Код
uses stringozui; var Q2,W2: LONGINT;
Q3,W3,E3: BYTE; Q8,W8,E8,R8: WORD;
Q:ARRAY[1..1000] OF BYTE; W:ARRAY[1..15000] OF BYTE; Q7,W7: FILE;
LABEL 1,2,3,100;
BEGIN
ASSIGN(Q7,'PERUM7.TXT'); ASSIGN(W7,'PERUM8.TXT'); RESET(Q7,1);
REWRITE(W7,1);
Q2:=FILESIZE(Q7);
W2:=0; {НОМЕР СТРОКИ}
1: IF Q2=0 THEN GOTO 100 ELSE BEGIN
IF Q2>=1000 THEN BEGIN Q2:=Q2-1000; Q8:=1000; END;
IF Q2<1000 THEN BEGIN
Q8:=Q2; Q2:=0;
END;
END;
BLOCKREAD(Q7,Q,Q8);
W8:=1; R8:=1;
2: INC(W2);
Q3:=TRINGOL(W2);
W3:=1;
FOR W8:=W8 TO W8+Q3 DO BEGIN {ЗАПИСЬ НОМЕРА СТРОКИ} W[W8]:=TRINGOL10[W3];
INC(W3);
END;
W[W8]:=32; INC(W8);
3:
IF Q[R8]=10 THEN INC(R8);
IF Q[R8]=13 THEN BEGIN {ЕСЛИ ДОШЛИ ДО МАРКЕРА ЕОЛ} W[W8]:=13;
INC(W8);
W[W8]:=10;
INC(W8);
INC(R8);INC(R8);
GOTO 2;
END;
W[W8]:=Q[R8]; INC(R8); INC(W8);
IF R8<Q8 THEN GOTO 3; BLOCKWRITE(W7,W,W8); GOTO 1;
100:
CLOSE(Q7);
CLOSE(W7);
END.
Непричёсано малость, но вроде работает. Модуль СТРИНГОЖУЙ можно скачать с
http://stiratel7.narod.ru/1/susnjak.zip