IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

 
 Ответить  Открыть новую тему 
> Нетипизированый файл, BlockRed & Block Write
сообщение
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 234
Пол: Мужской
Реальное имя: AHTOH

Репутация: -  1  +


Код
uses crt;
var
f:file;
s:string;
i:integer;
begin
clrscr;
assign(f,'c:\log.txt');
reset(f);
blockread(f,s,sizeof(s),i);
write(s);
readln;
end.


В файле c:\log.txt написано Hello World


Кокда компилю выдаёт вот что:
Цитата
ello world ♀♀♀♀♀♀♀♀♀♀♀♀♀ и т.д

Во первых куда делась первая буква ? sad.gif
Во вторых из за чего появились эти ♀♀ blink.gif


Эскизы прикрепленных изображений
Прикрепленное изображение

--------------------
Хочу в репу !

Cмотри,а то ведь получишь!
Админ.

Не получит - его фиг догонишь!
Админ №2.

P.S Вы еще третьего админа притащите сюда :D
ваш аффтар :D
Звали? :D (админ № не помню какой)

ха больше нифига не напишете
афтар

Уверен? (Moderator)
А еще можно ? (супмодер)
Хватит его мучать ! Избили уж... (админ)
Не хватит. я тоже напишу (тоже Админ)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






suriv
Опять за свое, великий экспериментатор. Я же тебе говорил, чтобы работать со строками - используй текстовый файл...

Что здесь происходит? Все очень просто: ты читаешь данные в строку, но как устроена строка? Нулевой символ строки содержит ее длину, а при чтении с помощью BlockRead ты в нулевой символ читаешь значение равное Ord('H'), т.е. 104, вот и получается, что строка у тебя - длиной 104 символа, причем первый - потерян. Чтобы получить "нормальную" строку, попробуй:
Код

uses crt;
var
f:file;
s:string;
i:integer;
begin
clrscr;
assign(f,'log.txt');
reset(f);
blockread(f,s[1],sizeof(s),i);
s[0] := chr(11); { 11  - длина "Hello World" }
write(s);
readln;
end.

Ну что, будешь продолжать пользоваться бестиповыми файлами для чтения строк? :D

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Бывалый
***

Группа: Пользователи
Сообщений: 234
Пол: Мужской
Реальное имя: AHTOH

Репутация: -  1  +


Цитата
Ну что, будешь продолжать пользоваться бестиповыми файлами для чтения строк?

Нет я просто решил проэкспереминтировать.

Цитата
Опять за свое, великий экспериментатор

:p1: :p1: :p2:


Я для чего нужны нетипизированые файлы ??? :o


--------------------
Хочу в репу !

Cмотри,а то ведь получишь!
Админ.

Не получит - его фиг догонишь!
Админ №2.

P.S Вы еще третьего админа притащите сюда :D
ваш аффтар :D
Звали? :D (админ № не помню какой)

ха больше нифига не напишете
афтар

Уверен? (Moderator)
А еще можно ? (супмодер)
Хватит его мучать ! Избили уж... (админ)
Не хватит. я тоже напишу (тоже Админ)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Цитата
для чего нужны нетипизированые файлы

Допустим, ты пишешь программу для работы с файлами PCX... Перед началом работы с самим изображением надо прочитать заголовок (фиксированной длины), а затем читать сами данные. Как будешь описывать этот файл? Text? (но в нем не содержатся ASCII символы) File Of Byte? (тогда за одно чтение из файла ты сможешь прочитать только 1 байт, а если тебе надо 1Кбайт - 1024 прохода...)

Делаем так: описываем как File (нетипизированный) и читаем за один раз столько информации, сколько нужно...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Бывалый
***

Группа: Пользователи
Сообщений: 234
Пол: Мужской
Реальное имя: AHTOH

Репутация: -  1  +


Понятно


--------------------
Хочу в репу !

Cмотри,а то ведь получишь!
Админ.

Не получит - его фиг догонишь!
Админ №2.

P.S Вы еще третьего админа притащите сюда :D
ваш аффтар :D
Звали? :D (админ № не помню какой)

ха больше нифига не напишете
афтар

Уверен? (Moderator)
А еще можно ? (супмодер)
Хватит его мучать ! Избили уж... (админ)
Не хватит. я тоже напишу (тоже Админ)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Мда Наверно перейду на дельфи. :yes:
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Бывалый
***

Группа: Пользователи
Сообщений: 234
Пол: Мужской
Реальное имя: AHTOH

Репутация: -  1  +


Цитата
Мда Наверно перейду на дельфи.

Блин зайти забыл(я написал)


--------------------
Хочу в репу !

Cмотри,а то ведь получишь!
Админ.

Не получит - его фиг догонишь!
Админ №2.

P.S Вы еще третьего админа притащите сюда :D
ваш аффтар :D
Звали? :D (админ № не помню какой)

ха больше нифига не напишете
афтар

Уверен? (Moderator)
А еще можно ? (супмодер)
Хватит его мучать ! Избили уж... (админ)
Не хватит. я тоже напишу (тоже Админ)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Guest
А что, в Дельфи уже без программиста программы пишутся? Думать в Дельфи не нужно? Файлов совсем нет? Панацея, однако!!!
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Бывалый
***

Группа: Пользователи
Сообщений: 234
Пол: Мужской
Реальное имя: AHTOH

Репутация: -  1  +


Я не в этом смысле хотел сказать.

Когда я хотел начать на дельфи я узнал что для этого понадобятся хоть какие знания паскаля.

Ну я так привык на пасе писать что на дельфи как-то непрывычно и неудобно. хотя я и дальше стану изучать паскаль но на дельфи намного проще сделать например меню а на паскале надо.......

Так что я собираюсь знать паскаль полностью(наверно)

Цитата
Мда Наверно перейду на дельфи

Беру свои слова назад

Хотя в некоторых случаях не помешает



ЗЫ: Мдаа что я тут нагородил :p2:

Сообщение отредактировано: suriv -


--------------------
Хочу в репу !

Cмотри,а то ведь получишь!
Админ.

Не получит - его фиг догонишь!
Админ №2.

P.S Вы еще третьего админа притащите сюда :D
ваш аффтар :D
Звали? :D (админ № не помню какой)

ха больше нифига не напишете
афтар

Уверен? (Moderator)
А еще можно ? (супмодер)
Хватит его мучать ! Избили уж... (админ)
Не хватит. я тоже напишу (тоже Админ)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Бывалый
***

Группа: Пользователи
Сообщений: 234
Пол: Мужской
Реальное имя: AHTOH

Репутация: -  1  +


Хотя у дельфи тоже лолжны быть и свои минусы


--------------------
Хочу в репу !

Cмотри,а то ведь получишь!
Админ.

Не получит - его фиг догонишь!
Админ №2.

P.S Вы еще третьего админа притащите сюда :D
ваш аффтар :D
Звали? :D (админ № не помню какой)

ха больше нифига не напишете
афтар

Уверен? (Moderator)
А еще можно ? (супмодер)
Хватит его мучать ! Избили уж... (админ)
Не хватит. я тоже напишу (тоже Админ)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Бывалый
***

Группа: Пользователи
Сообщений: 253
Пол: Мужской

Репутация: -  4  +


ну а я Паскаль не брошу, потому что он хороший ;)


--------------------
Я не буду жить с этой злобой внутри / Я не буду частью смертельной цепи / Я не буду потребителем твоих идей / Я не буду никогда убивать зверей (Unconform)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 15.05.2024 15:01
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name