![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
KRUTOY |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
:-[ :'(
ДРУЗЬЯ, помогите с файлами?? сроки жмут!! :-/ как скопировать все строки из данного файла в другой файл,начиная с заданного символа??? заранее благодарен!! -------------------- Главное - чтобы воля была, к победе...
|
oleg309 |
![]()
Сообщение
#2
|
![]() профи ![]() ![]() Группа: Пользователи Сообщений: 109 Пол: Мужской Репутация: ![]() ![]() ![]() |
Да не зачто! ;D
-------------------- Тело, находящееся в состоянии покоя, стремится смотреть телевизор.
|
Shadow |
![]()
Сообщение
#3
|
![]() Lonely_Raven ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: ![]() ![]() ![]() |
прочитать с заданного символа информацию в память , буффер, массив
а потом записать его в файл -=-=-= позиционирование в файле с помощью оператор Seek вроде если не ошиб =-=== или можно на ASM что проще -------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
trminator |
![]()
Сообщение
#4
|
Четыре квадратика ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 579 Пол: Мужской Репутация: ![]() ![]() ![]() |
А в чем, собственно, проблема? Или хочется готового решения? Программа получается строк 10, не больше. Выкладывай, что у тебя есть.
-------------------- Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала |
SKVOZNJAK |
![]()
Сообщение
#5
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 930 Пол: Мужской Репутация: ![]() ![]() ![]() |
На 38 строк тоже сделать можно :)
|
KRUTOY |
![]()
Сообщение
#6
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
Лучше бы, конечно, решение, потому как мои подборки, кажись, нерациональны, да и разобрать их трудно !!:
Код Program proga5; uses crt; var F,G:text; a,b,c:array [1..20] of string; i,j,h,k,z:integer; S:char; begin clrscr; writeln('Введите файл: '); i:=1; while not (a[i-1]='nomore') and (i<=10) do begin readln(a[i]); inc(i) end; assign(F,'F'); {$I-} rewrite(F); {$I+} if IOResult<>0 then writeln('” файл не существует: '); i:=1; while not (a[i]='nomore') and (i<=10) do begin writeln(F,a[i]); inc(i) end; close(F); writeln('введиет символ: '); readln(S); reset(F); i:=1; k:=1; while not EOF(F) and (i<=10) do for i:=1 to (h-1) do begin for j:=1 to length(c[i]) do read(F,c[i][j]); if (c[i][j]=S) then begin b[k]:=copy(c[i],j,(length(c[i])-j)); for k:=(k+1) to (h-1) do b[k]:=c[i+1]; end; end; close(F); assign(G,'G'); rewrite(G); k:=1; while (k<=10) and (k<>(h-1)) do begin writeln(G,b[k]); inc(k) end; close(G); {clrscr; reset(G); {end;} readkey end. -------------------- Главное - чтобы воля была, к победе...
|
SKVOZNJAK |
![]()
Сообщение
#7
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 930 Пол: Мужской Репутация: ![]() ![]() ![]() |
Зачем умножать сущности и приплетать к простой задаче директивы компилятора? Моя версия немного покороче. Можешь сдавать не проверяя
![]() Код 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 |
KRUTOY |
![]()
Сообщение
#8
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
SKVOZNJAK
так я тоже думал... так вот дело то в том,что файлы должны быть текстовыми?? -------------------- Главное - чтобы воля была, к победе...
|
trminator |
![]()
Сообщение
#9
|
Четыре квадратика ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 579 Пол: Мужской Репутация: ![]() ![]() ![]() |
Код var in_f, out_f : text; c, ToFind : char; begin assign(in_f, 'c:tempFile2.txt'); reset(in_f); assign(out_f,'c:tempFile2.out'); rewrite(out_f); c:=#0; write('Ведите символ > '); readLn(ToFind); while (c <> ToFind) and (not eof(in_f)) do read(in_f, c); {Пропускаю ненужные символы} while not eof(in_f) do begin read(in_f,c); write(out_f, c) end; close(in_f); close(out_f) end. Может, подойдет? Только, похоже, тебе что-то немного другое нужно. Но это - то, про что ты спрашиваешь в этой теме -------------------- Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала |
SKVOZNJAK |
![]()
Сообщение
#10
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 930 Пол: Мужской Репутация: ![]() ![]() ![]() |
Это поставлено в условие? Если да, то придётся кувыркаться, не отвертишься. Никогда не пользовался типизованными файлами - нетипизованные файлы позволяют выполнять все их функции + много других, только надо поковыряться в них ручками...
|
Nemo |
![]()
Сообщение
#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: Мог ощибиться - под рукой нет Паскаля. |
![]() ![]() |
KRUTOY |
![]()
Сообщение
#12
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
Проканало !!!!!!!!!
Спасибо вам за ответы !!! Есть еще на свете добрые люди !! Добавлено (12.12.03 21:24): Nemo Спасибо, дружище, я уже догадался !! ![]() -------------------- Главное - чтобы воля была, к победе...
|
![]() ![]() |
![]() |
Текстовая версия | 21.06.2025 7:12 |