Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: 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 вся ветка

Текущий архив: 2004.05.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
1-1082987982
Alex Bakulin
2004-04-26 17:59
2004.05.16
TXMLDocument


1-1083651183
zenaev
2004-05-04 10:13
2004.05.16
Закрытие приложения


14-1082786883
uny
2004-04-24 10:08
2004.05.16
Про другую сторону - линуксы всякие


14-1082740430
тихий вовочка
2004-04-23 21:13
2004.05.16
Вопрос избитый: как однозначно идентифицировать компьютер?


8-1077637570
dwUser
2004-02-24 18:46
2004.05.16
Как поменять частоту вертикальной развертки для DirectDraw?