IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Как переписать все строки, начиная, с определенного символа в другой файл ?
Nemo
сообщение 12.12.2003 21:56
Сообщение #1


Гость






Код
Uses
      CRT, Dos;
const
      FName1 = 'OutPut.txt';
      FName2 = 'Input.txt';
var
       F1, F2  : file;
       buf      : pointer;
       count  : longint;
       num    : longint;
begin
       WriteLn('Введите номер символа:');
       ReadLn(num);
       Assign(F1, FName);
       Assign(F2, FName);
       Reset(F1, 1);
       Reset(F2, 1);
       Seek(F1, num-1);
       count:=FileSize(F1)-Num+1;
       GetMem(buf, count);
       BlockRead(F1, buf^, count);
       BlockWrite(F2, buf^, count);
       FreeMem(buf, count);  
       Close(F1);
       Close(F2);
end.


PS:
Мог ощибиться - под рукой нет Паскаля.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
SKVOZNJAK
сообщение 12.12.2003 19:35
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 930
Пол: Мужской

Репутация: -  11  +


Зачем умножать сущности и приплетать к простой задаче директивы компилятора? Моя версия немного покороче. Можешь сдавать не проверяя smile.gif

Код
var Q2,W2: LONGINT;
     Q7,W7: FILE;
     QSTR:STRING[12];
     QQ3: ARRAY[1..10000] OF BYTE;
     Q8: WORD;
     LABEL 1,100;
BEGIN
WRITELN('ВВЕДИТЕ ИМЯ ФАЙЛА-ИСХОДНИКА');
READ(QSTR);
WRITELN('ВВЕДИТЕ НОМЕР СИМВОЛА, НАЧИНАЯ С КОТОРОГО БУДЕТ КОПИРОВАТЬСЯ ФАЙЛ'); READ(Q2);
ASSIGN(Q7,QSTR);
ASSIGN(W7,'!!!_!');
RESET(Q7,1);
REWRITE(W7,1);
writeln('ДЛИНА ЧИТАЕМОГО ФАЙЛА ',filesize(q7));

W2:=FILESIZE(Q7)-Q2+1; {КОЛИЧЕСТВО КОПИРУЕМЫХ БАЙТ}
IF W2<0 THEN WRITELN('ХРЕНОВЫЙ ПАРАМЕТР !!!!');
DEC(Q2);
SEEK(Q7,Q2);
1: Q8:=10000;
IF W2<1 THEN GOTO 100;

IF W2<10000 THEN BEGIN
                               Q8:=W2;
                               W2:=0;
           END;
IF W2>=Q8 THEN W2:=W2-10000;
{WRITE('  AA'); }
BLOCKREAD (Q7,QQ3,Q8);
BLOCKWRITE(W7,QQ3,Q8);
GOTO 1;

100: {ВЫХОД}
WRITELN('');
WRITELN('ДЛИНА СОЗДАННОГО ФАЙЛА ',filesize(W7)); CLOSE(Q7);
CLOSE(W7);
WRITELN(' ГОТОВО');
END.


Сообщение отредактировано: volvo - 17.12.2004 18:19
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.06.2025 16:14
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"