Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

работа с файлами

18K
20 июня 2006 года
beat
4 / / 20.06.2006
привет всем. у меня тут проблема, лектор вопрос задал., когда мы еще не создали файл а просто работаем с ним где этот файл создается или хранится. я типа сказал что в буфере ввода-вывода, потом еще где то . кароче не правильно. потом у него знакомая девчонка спросила он сказал что на файловых носителях. я подошел кароче сказал что на фаловых носителях, кароче он меня послал. терь у меня хвост если завтра не отвечу. помогите.
4
20 июня 2006 года
mike
3.7K / / 01.10.2002
Это интересно как можно работать с несозданным файлом ? Возможно имелась ввиду работа с данными в памяти до их "сброса" на диск ?
1.8K
20 июня 2006 года
LastSoul
279 / / 28.12.2005
[quote=beat]...он сказал что на файловых носителях...[/quote]
ОППА !!! вот на этих словечках-то и надобыло его ловить, разве файловые носители это не винт или флеш и т.п., раз этот файл на них храниться значит он на них уже создан
18K
20 июня 2006 года
beat
4 / / 20.06.2006
да хрен его поймет, он ваще ненормальный какой то , таких мало, и почему то он нам попался. ну че кто нить знает ответ? я ему сказал как происходит запись в файл, он этот вопрос задал, я тоже его не понял, но к нему не подкопаться, спокойный как удав, сволоч. так где там может этот гребаный файл хранится? я все перепробовал, я сказал кароче через assign его с физическим связываю, он сказал что до этого момента он где то создается, до того как процедура пошла assign. нихрена не пойму че он хочет. вообще какие мысли есть? кто как понял вопрос, может я ему завтро впихну ченить, или подряд говорить буду, может че получится, в лоб на.
18K
20 июня 2006 года
beat
4 / / 20.06.2006
блин , помогите пожалуста
1.8K
20 июня 2006 года
LastSoul
279 / / 28.12.2005
Как я понял, препод тебя хочет ЗАГЗРУИТЬ на нездачу экзамена (или зачета). Скорее всего такие последствия могут быть из-за того, что ты весь семестр балду пинал (а может я и неправ), а если я прав, то врятли ПРАВИЛЬНЫЕ ОТВЕТЫ помогут (он же всетаки препод, делает что хочет).

Давай перейдем к твоему последнему сообщению:
насчет assign, этой функцией ЗАДАЕТСЯ ПУТЬ К ФАЙЛУ, поэтому файл НИКАК не может быть создан (до assign) пока не скажешь ГДЕ его создавать (что естественное делает функция assign() ).
А теперь поговрим о том, что может быть перед assign:
приведу на примере: var f:file of integer;
я думаю ты уже понял о чем я говорю, если нет, то немного поподробнее:
assign присваевает переменной путь к файлу, путь естественно мы пишем сами, а вот переменную мы указываем в var-е... ну а тут я думаю уже стало более понятно... НО, если мы переменную уазали как файл (в var-е), то это незначит что в ней хранится какой-то файл!
1.8K
20 июня 2006 года
LastSoul
279 / / 28.12.2005
А вообще, я полностью согласен с mike, и предлагаю ответить так: "НИГДЕ" (может поможет).
1.8K
20 июня 2006 года
LastSoul
279 / / 28.12.2005
Маленький диалог:
препод: "Где хранится файл, до того как его создали??? 8-()"
ты: "НИГДЕ!"
препод: "как нигде?????"
ты: "под работой с файлом понимается чтение и запись в него, а если файл не создан как можно можно записывать в никуда и читать ниоткуда (если на считать переменные, но это уже не файл)?!?!?!"
551
20 июня 2006 года
Pavia
357 / / 22.04.2004
В файловой переменной. Она представляет из себя буфер, в который попадают данные при считывании и записи.
uses crt;
var f:Text;
begin
clrscr;
WriteLn(SizeOf(f));{размер буфера 128 + вспомагательные данные }
assign(f,'out.dat');
rewrite(f);
WriteLn(f,'To chto doctor propisal'#0); {Эта надпись пишется в файл, но перед записью попадает в буфер}
WriteLn(PChar(@(pchar(@f)[128]))); {Выводим этот буфер}
close(f); {Не записанные данные записываются в файл}
end.

flush - скинуть данные из буфера на диск, данные не сразу попадают на диск, а частями по мере заполнения буфера.

Если нужно задать свой размер буфера то
reset(f,x);
rewrite(f,x); x-размер буфера, у меня не сработало, но в хэлпе написанно.
18K
22 июня 2006 года
beat
4 / / 20.06.2006
все я сдал, он #####, даже не вспомнил этот вопрос, зато с 9 до 5 я его мучал. всем спасибо- хоть чета узнал.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог