Главная страница
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.029 c
1-1083526544
RIMMER
2004-05-02 23:35
2004.05.16
Отрисовка 32-битных иконок ценой нарушения отрисовки контрола


9-1072825408
Jenaxx
2003-12-31 02:03
2004.05.16
КТо нить может помочь переделать прогу,


1-1083497810
XSteel
2004-05-02 15:36
2004.05.16
Динамические массивы в Delphi 1 и структуры > 65кил


1-1083146791
karls
2004-04-28 14:06
2004.05.16
Каким свойствам убрать ограничение с memo?


3-1082093164
Серг
2004-04-16 09:26
2004.05.16
номер строки в Dbgride