|
#1
|
||||
|
||||
Помогите с While
Задача наверняка не сложная, просто у меня опыта не хватает (пишу всего пару недель) .
Необходимо к каждой строке текстового файла f1 добавить строки файла f2. Код:
begin AssignFile(f1,PChar(Memo1.Text)); Reset(f1); While not EOF(f1) do begin ReadLn(f1,st1); AssignFile(f2,PChar(Memo2.Text)); Reset(f2); While not EOF(f2) do ReadLn(f2,st2); stM:= st1+' '+ st2; WriteLn(fMain, stM); end; CloseFile(f2); end; begin CloseFile(f1); CloseFile(fMain); end; Не работает. Почему-то из второго файла берет только последнюю строку |
#2
|
||||
|
||||
Цикл явно неправильно организован.
|
#3
|
||||
|
||||
Это еще слабо сказано - неправильно.
1. Вы неоговирили ситуацию, когда файлы неравны. 2. Вы действительно хотите к каждой строке первого файла прилепить ВСЕ строки второго. 3. Откуда взялся fMain помимо f1 и f2 оговореных в начале задачи? ПС: Общее ощущение, выдрали кусок кода и пытаететсь неразобравшись для своих целей использовать. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#4
|
||||
|
||||
Кусок код выдрала из своей прожки. fMain - это файл в который сохраняется результат. Не стала открытие этого файла описывать в посте. Свою ошибку уже нашла. Всего лишь пропустила один begin. Теперь все работает, так что с циклами в коде все норм.
Код:
begin AssignFile(f1,PChar(Memo1.Text)); Reset(f1); While not EOF(f1) do begin ReadLn(f1,st1); AssignFile(f2,PChar(Memo2.Text)); Reset(f2); While not EOF(f2) do BEGIN ReadLn(f2,st2); stM:= st1+' '+ st2; WriteLn(fMain, stM); end; CloseFile(f2); end; begin CloseFile(f1); CloseFile(fMain); end; |
#5
|
||||
|
||||
Цитата:
зы: у мужиков мозг на несколько граммов тяжелее женщин ну это я так... TAleD = class(TUser) public function HelpMe(ASubject, ARequest: String): String; function GiveMeExample(ASubject: String): TStringList; procedure WriteReview(APost: Integer; ADescription: TStringList); end; |
#6
|
||||
|
||||
Цитата:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#7
|
||||
|
||||
Цитата:
TAleD = class(TUser) public function HelpMe(ASubject, ARequest: String): String; function GiveMeExample(ASubject: String): TStringList; procedure WriteReview(APost: Integer; ADescription: TStringList); end; |