Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

запись в файл, ошибка [D6, WinXP]


chuk ©   (2004-11-10 14:24:00) 

var
 out_s : string ;
 f : textfile ;
begin
 out_s := '1|2|3' ;  
 AssignFile (f, 'simple.dat') ;
 Reset(f) ;
 WriteLn(f, out_s) ;
 CloseFile(f) ;
end;

при попытке записи в файл ругаетсяя на WriteLn и говорит: 'I/O Error 105'. Всё вроде делаю по правильно (по книге), а не получается!!!! файл simple.dat существует.


kirov_igor   (2004-11-12 14:53:00) [1]

AssignFile (f, 'C:\simple.dat') - в общем укажи полный путь до файла твоего


Anatoly Podgoretsky   (2004-11-12 14:18:00) [2]

1. это метод, а процедура
2. Write(f, s);
3. WriteLn(f, s);


Zandrey   (2004-11-12 14:15:00) [3]


>
> MBo ©  


> Amoeba ©   (12.11.04 11:21) [15]

Тогда почему не получается записать string,а string[2<Length<255]
- все нормальна?
Напишите фрагмент при помоши медота write().


kirov_igor   (2004-11-12 12:17:00) [4]

а где файл то  лежит ?


Vlchel   (2004-11-12 12:06:00) [5]

Господа природу не обманеш. Если файл отркыт с помощью Reset то из него можно только читать информацию.

p.s. Учтите в книгах тоже могут быть ошибки и опечатки. Часть вносится при редактировании. Но и авторы "умных" книг не всегда блещут интелектом и знаниями.


Amoeba   (2004-11-12 11:21:00) [6]


> Zandrey ©   (11.11.04 17:50) [12]
>
> > Amoeba ©   (10.11.04 15:54) [7]
>
>
> > И с чего ты это взял?
>
> Поскольку я зная в файл методом Write() строчку с терминальным
> нулём нельзя записать (а тип string с терминальным нулём
> в конце)

Это называется "Слышал звон ..."


MBo   (2004-11-11 18:24:00) [7]

>Zandrey ©   (11.11.04 17:50) [12]
>Поскольку я зная в файл методом Write() строчку с терминальным нулём нельзя записать

Не все с этим согласятся ;)


Плохиш   (2004-11-11 18:16:00) [8]


> Anatoly Podgoretsky ©   (10.11.04 20:10) [10]
> Открываем справку по I/O errors и тогда точно наступит тебе
> просветление.

Да, там находим текст ошибки 105 и понимаем, что об этом-то и написано в справке по reset ;-)


Zandrey   (2004-11-11 17:50:00) [9]


> Amoeba ©   (10.11.04 15:54) [7]


> И с чего ты это взял?

Поскольку я зная в файл методом Write() строчку с терминальным нулём нельзя записать (а тип string с терминальным нулём в конце)


Zandrey   (2004-11-11 17:48:00) [10]


> Amoeba ©   (10.11.04 15:54) [7]


Anatoly Podgoretsky   (2004-11-10 20:10:00) [11]

Открываем справку по I/O errors и тогда точно наступит тебе просветление.


Плохиш   (2004-11-10 16:59:00) [12]


> chuk   (10.11.04 14:42) [4]
> FileMode стоит 2 по умолчанию, должно и с Reset писать в
> файл

Открываем справку по reset и читаем всё подробно и до последней строчки и наступит тебе просветление.


Symb   (2004-11-10 16:42:00) [13]

А файл simple.dat случайно не read-only?


Amoeba   (2004-11-10 15:54:00) [14]


> Zandrey ©   (10.11.04 14:47) [6]
> Попробуй out_s:String определить как out_s:string[255],
> так как файл,кажись, не поддержует type string.

И с чего ты это взял? Если кажется, перекреститься надо.


Zandrey   (2004-11-10 14:47:00) [15]

Попробуй out_s:String определить как out_s:string[255], так как файл,кажись, не поддержует type string.


Digitman   (2004-11-10 14:42:00) [16]


> chuk   (10.11.04 14:41) [3]



> поменяны имена переменных (их значение) и файла


ой не ври.


chuk   (2004-11-10 14:42:00) [17]

FileMode стоит 2 по умолчанию, должно и с Reset писать в файл


chuk   (2004-11-10 14:41:00) [18]

да это и есть пример, только поменяны имена переменных (их значение) и файла


Igorok   (2004-11-10 14:40:00) [19]

вместо Reset(f) используй Append(f) или Rewrite(f), т.к. Reset(f) открывает файл только для чтения


Digitman   (2004-11-10 14:36:00) [20]


> Всё вроде делаю по правильно (по книге)


вот именно - "вроде"

или книгу - "фтопку"

приведи соотв.фрагмент "книги".


Наверх

Титульная страница Поиск, карта сайта Написать письмо