Вниз
Скачать: CL | DM;

Работа с текстовыми файлами   Найти похожие ветки 

 
KillOfCats   (2004-04-28 16:15) [0]

при выполнении:
var F: TextFile;
begin
AssignFile(F,"FileName.txt");
Reset(F);
Write (F, S);
CloseFile(F);
end;

выдает ощибку "I/O error 105"

Как правильно?
`:[]  ...изиняюсь за тупые вопрсы


 
WebErr ©   (2004-04-28 16:19) [1]


> Reset(F);

Reset - для чтения, Rewrite - для перезаписи, Assign - для добавления.


 
Андрей Сенченко ©   (2004-04-28 16:19) [2]

В том же учебнике, из которого это взято написано :

{$I-}
AssignFile(F,"FileName.txt");
Reset(F);
{$I+}
If IORESULT ...

А вообще-то следует проверять файл на существование прежде чем открывать его Reset-ом


 
KillOfCats   (2004-04-28 16:21) [3]

Файл существует и процесс чтения происходит нормально:

var F: TextFile;
   s:string;
begin
AssignFile(F,"FileName.txt");
Reset(F);
Read(F, S);
CloseFile(F);
end;


 
WebErr ©   (2004-04-28 16:21) [4]

Ой, то есть Append - для добавления - остальное правильно.
Так что для Write/Writeln(F,...) нужен либо Rewrite, либо Append.


 
uny   (2004-04-28 16:25) [5]

s в первом случае в var записана?


 
KillOfCats   (2004-04-28 16:26) [6]

Спасибо WebErr!!!


 
KillOfCats   (2004-04-28 16:27) [7]

Удалено модератором


 
WebErr ©   (2004-04-28 16:44) [8]


> KillOfCats   (28.04.04 16:26) [6]

Не за что, это даже не Делфи - это отголосок Turbo Pascal переделанный с учётом новых имён. Теперь Text - это TextFile, Assign - это AssignFile, а Close - это CloseFile, зачем столько гемора? Никакого уважения к предкам!


 
Anatoly Podgoretsky ©   (2004-04-28 16:56) [9]

Предки были неправы


 
WebErr ©   (2004-04-28 17:08) [10]

Не нам судить предков.
Тогда они были более чем правы.
Благодаря Им Turbo Pascal обскакал по популярности Quick Basic.
Тогда было важно, чтобы все имена были предельно короткие.
(Если посмотрите стандарт языка С Керригана и Ричи - увидите, насколько короткими могут быть операторы!)
8)


 
Anatoly Podgoretsky ©   (2004-04-28 17:12) [11]

Мне твоя забота о длине идентификаторов совсем не понятна, ни тогда ни сейчас. А вот за последствия такой борьбы страшно.


 
Андрей Сенченко ©   (2004-04-28 17:15) [12]

Anatoly Podgoretsky ©   (28.04.04 17:12) [11]

Тогда - понятна. Моей первой машиной был Нейрон И9К66 ( по-моему так ) без винта с двумя дисководами 5.25, понимавшимитолько диски по 360К


 
WebErr ©   (2004-04-28 17:26) [13]


> Anatoly Podgoretsky ©   (28.04.04 17:12) [11]

Don"t worry - я не буду бороться с Delphi по поводу идентификаторов - мне моего шефа вполне хватает!
И уж тем более не будет сабжа на тему long names vs short names. А ля private vs protected.

> Андрей Сенченко ©   (28.04.04 17:15) [12]

И какого было печатать длинное имя переменной, используя "глупые" мониторы (ещё до VGA!!!).



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.033 c
14-1082743049
Ske4er
2004-04-23 21:57
2004.05.16
О Законах РФ


14-1083085514
MDT
2004-04-27 21:05
2004.05.16
Форум для специалистов по математической статистике


1-1083298835
DataTime
2004-04-30 08:20
2004.05.16
Как отнять от ДатыВремя допустим несколько часов


3-1082616204
Infom
2004-04-22 10:43
2004.05.16
Сохранение


14-1083075270
fool
2004-04-27 18:14
2004.05.16
Ограничение ОС на количество одновременно открытых файлов?




   Наверх