![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибкка при записи из одного файла в другой, используя тип. файлы
abba © (2006-11-07 13:52:00)var
f1,f2,f3:file of integer;
t1,t2,t3:integer;
i,j,x,y:integer;
begin
AssignFile(f1,'1.txt');
Reset(f1);
AssignFile(f2,'2.txt');
Rewrite(f2);
for i:=FileSize(f1)-1 downto 1 do
for j:=0 to i-1 do
begin
seek(f1,j);
read(f1,x,y);
seek(f2,j);
write(f2,x,y);
end;
CloseFile(f1);
CloseFile(f2);
end;
У меня переписывает из файла f1 в f2 не всё. Подскажите, пожалуйста, в чём ошибка?
Спасибо.
Neket (2006-11-07 14:08:00) [21]Страннный способ.
for i:=FileSize(f1)-1 downto 1 do
Самый простой и верный способ
While Eof(f1)<>true do
begin
Readln(f1,J);
WriteLN(F2,J)
end;
Если используешь Rewrite для F2 то будешь перезаписывать F2, если Append то в конец F2 будешь дописывать текст из F1.
abba (2006-11-07 14:07:00) [22]А как записывается CopyFile(Ex)?
f1:=CopyFile(f2); Но появляется ошибка?
Desdechado (2006-11-07 14:05:00) [23]> Но мне нужен типизированный.
Зачем?
Для копирования файла не важен тип.
abba (2006-11-07 14:03:00) [24]Но мне нужен типизированный.
Desdechado (2006-11-07 14:02:00) [25]1. зачем здесь цикл по i ?
2. зачем здесь seek? если текущий указатель записи и так остается в последнем месте доступа к файлу?
3. зачем здесь типизированный файл, если можно безтиповым?
4. зачем здесь вообще такой способ, если можно воспользоваться системной функцией CopyFile(Ex) ?
abba (2006-11-07 14:01:00) [26]А как? FileSize - кол-во записей в файле.
Stanislav (2006-11-07 13:56:00) [27]for i:=FileSize(f1)-1 downto 1 do
зачем -1 ?