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 не всё. Подскажите, пожалуйста, в чём ошибка?
Спасибо.


Anatoly Podgoretsky   (2006-11-07 14:51:00) [1]

> Neket  (07.11.2006 14:48:26)  [26]

> Да но в данном случае налицо обычный текстовый файл...

Объявлен как типизированый.


Neket   (2006-11-07 14:48:00) [2]


> Еще более странный способ, для двоичных файлов

Да но в данном случае налицо обычный текстовый файл...


Anatoly Podgoretsky   (2006-11-07 14:46:00) [3]

> abba  (07.11.2006 14:15:13)  [13]

> У меня в справке нет CopyFile(Ex).

Переинсталируй Дельфи и больше не отказывайся от генофонда.


Anatoly Podgoretsky   (2006-11-07 14:45:00) [4]

> abba  (07.11.2006 14:09:08)  [8]

Это не file of Integer


Anatoly Podgoretsky   (2006-11-07 14:45:00) [5]

> Neket  (07.11.2006 14:08:07)  [7]

> Самый простой и верный способ

Еще более странный способ, для двоичных файлов.


Anatoly Podgoretsky   (2006-11-07 14:44:00) [6]

> abba  (07.11.2006 14:07:06)  [6]

> Но появляется ошибка?

Партизан?


Anatoly Podgoretsky   (2006-11-07 14:43:00) [7]

> abba  (07.11.2006 14:03:04)  [4]

> Но мне нужен типизированный.
5. Зачем?


Anatoly Podgoretsky   (2006-11-07 14:43:00) [8]

> Desdechado  (07.11.2006 14:02:03)  [3]

> 1. зачем
> ...
> 4. зачем

Тут много зачем, тут правильный диагноз, переписать все нафиг, лучше заменить одной командой CopyFile


Anatoly Podgoretsky   (2006-11-07 14:41:00) [9]

> abba  (07.11.2006 13:52:00)  [0]

Типа Файлы не видать, зато есть типизированые файлы.
FileSize(f1)-1
Конечно не все, минус одна запись


Neket   (2006-11-07 14:21:00) [10]

Но при этом он у вас *.txt
Объявите файл как file of text, и все.


abba   (2006-11-07 14:20:00) [11]

А всё понял-понял-понял. Всё получилось. Спасибо за помощь и извините за мою глупость.


Neket   (2006-11-07 14:19:00) [12]

Да. Да. Да. Согласен с Рамилем. Какой тип файла? И что в нем содержится?
И вообще какие цели вы желаете достич?


abba   (2006-11-07 14:18:00) [13]

У меня в файле целые числа.


Рамиль   (2006-11-07 14:17:00) [14]


> abba   (07.11.06 14:15) [13]

Ответь на

Рамиль ©   (07.11.06 14:15) [12]

> abba   (07.11.06 14:09) [8]

Таки я тебя не понял. У тебя в файле строки что ли? Тогда зачем integer читаешь?


abba   (2006-11-07 14:15:00) [15]

У меня в справке нет CopyFile(Ex).
var
 f1,f2:file of integer;
 t1
begin
 AssignFile(f1,'1.txt');
 Reset(f1);
 AssignFile(f2,'2.txt');
 Rewrite(f2);
 while not eof(f1) do
 begin
   readln(f1,t1);
   writeln(f2,t1);
 end;
 CloseFile(f1);
 CloseFile(f2);
end;
Всё равно ошибка?


Рамиль   (2006-11-07 14:15:00) [16]


> abba   (07.11.06 14:09) [8]

Таки я тебя не понял. У тебя в файле строки что ли? Тогда зачем integer читаешь?

> Neket   (07.11.06 14:08) [7]

> While Eof(f1)<>true do

While not Eof(f1) do


Desdechado   (2006-11-07 14:11:00) [17]

> А как записывается CopyFile(Ex)?
F1 нажать религия не позволяет?

> А почему из файла с данными
А потому, что там тип файла другой.


Neket   (2006-11-07 14:11:00) [18]

Ты точно указал WriteLN и ReadLN


Рамиль   (2006-11-07 14:10:00) [19]

The CopyFile function copies an existing file to a new file.

BOOL CopyFile(

   LPCTSTR lpExistingFileName, // pointer to name of an existing file
   LPCTSTR lpNewFileName, // pointer to filename to copy to
   BOOL bFailIfExists  // flag for operation if file exists
  );


Parameters

lpExistingFileName

Points to a null-terminated string that specifies the name of an existing file.

lpNewFileName

Points to a null-terminated string that specifies the name of the new file.

bFailIfExists

Specifies how this operation is to proceed if a file of the same name as that specified by lpNewFileName already exists. If this parameter is TRUE and the new file already exists, the function fails. If this parameter is FALSE and the new file already exists, the function overwrites the existing file and succeeds.


abba   (2006-11-07 14:09:00) [20]

А почему из файла с данными:
1
2
3
4
5
6
7
8
9
10
Он переписывает способом Neket
1
2
3
4
5
6
7
8
9
1


Страницы:   1 2

Наверх

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