![]() |
|
|
|
|
#1
|
|||
|
|||
|
Здравствуйте, у меня возникла огромная проблема....помогите пожалуйста!!!!!!!!!!! . У меня есть около 700 текстов.Все эти тексты вставлены в один файл(тексты между собой разделены строкой пробелов и каждый текст начинается со слово abstract).Как можно разделить все эти тексты по одному и занести каждый текст в новый отдельный файл.
|
|
#2
|
||||
|
||||
|
Примерно так
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
fin, fout: TextFile;
s: string;
flag: boolean;
begin
i := 1;
flag := false;
AssignFile( fin, 'c:\1.txt' ); // Тут укажи путь к реальному файлу
Reset( fin );
while not Eof( fin ) do
begin
Readln( fin, s );
if Pos( 'abstract', AnsiLowerCase( s ) ) > 0 then
begin
AssignFile( fout, Format( 'c:\%.3d.txt', [i] ) );
Rewrite( fout );
flag := true;
end;
if ( Length( Trim( s ) ) = 0 ) and flag then
begin
CloseFile( fout );
flag := false;
Inc( i );
end;
if flag then
Writeln( fout, s );
end;
if flag then
CloseFile( fout );
CloseFile( fin );
end; |
|
#3
|
|||
|
|||
|
Спасибо большое, вы меня в который раз выручаете!
|
|
#4
|
|||
|
|||
|
Я пыталась запустить вашу программу, но она срабатывает неверно и выдает ошибку(I/0 error 103).хотя и создает 1 файл, но с неверно вырезанным фрагментом( захватывает и следующий abstact). Как это можно исправить??
|
|
#5
|
||||
|
||||
|
Вышли файл с текстами на decoding@narod.ru, посмотрю в чем дело...
|