Войти

Показать полную графическую версию : в чем причина?


bomberman
20-02-2010, 16:22
type user=record
..
end;
var people:file of user;
begin
...
assignfile(people,'bd.txt ');
append(people); {здесь ошибка, но почему }

pva
20-02-2010, 16:32
assignfile(people,'bd.txt '); »
может из-за пробела в конце названия файла?

bomberman
20-02-2010, 16:36
нет дело не в этом, можеть структура не правильно построена у меня, не знаю....

говорит что Incompatible types т.е несовместные типы, но почему?

BlackEric
21-02-2010, 02:39
1. Попробуйте описать тип как packed record
2. Если не поможет, то показываете полные сорцы

pva
21-02-2010, 11:55
http://www.codenet.ru/progr/delphi/Object-Pascal/files.php

Procedure Append(var F: Text);
Открывает существующий текстовый файл для добавления информации в конец файла (дозаписи).

Если внешнего файла с данным именем не существует, происходит ошибка времени выполнения.

Если файл F уже открыт, он закрывается и вновь открывается. Текущая позиция файла устанавливается к концу файла.

потому что file of user не является текстовым файлом
bomberman, надо сразу сообщать что ругается на этапе компиляции, и приводить текст ругательства. Попробуй сделать так:

Seek(people, FileSize(people)); // вместо Append

колдлвать с packed record не надо

Serega
21-02-2010, 20:58
{здесь ошибка, но почему } »
говорит что Incompatible types »
Так открывать нужно текстовый файл, следовательно и писать нужно, так:

procedure ReadTextFile(const FileName: string);
var
in_file: TextFile;
begin
AssignFile(in_file, FileName);
Append(in_file);
WriteLn(in_file, 'Заключительная строка.');
CloseFile(in_file);
end;

Также, почитать с примером можете здесь (http://www.delphibasics.ru/Append.php).




© OSzone.net 2001-2012