Главная страница
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.058 c
14-1082924268
Piter
2004-04-26 00:17
2004.05.16
Определение времени


1-1083153868
Term
2004-04-28 16:04
2004.05.16
Как добавить кнопку на ToolBar кнопку программно


14-1082640058
skx
2004-04-22 17:20
2004.05.16
Diamond Access Full Source 2.20


3-1082361081
Курьин Денис
2004-04-19 11:51
2004.05.16
Cristall Report и растровая графика, как динамически подгружать?


7-1080924821
Ivolg
2004-04-02 20:53
2004.05.16
Виртуал СД