Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибкка при записи из одного файла в другой, используя тип. файлы


Страницы:   1 2

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 ?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо