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

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

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

 
 Ответить  Открыть новую тему 
> Fillchar, Fillchar
сообщение
Сообщение #1


Новичок
*

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

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



Привет!
Кто знает, что такое fillchar? unsure.gif

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


--------------------
Смейся и весь мир будет смеяться вместе с тобой, плачь и ты будешь плакать в одиночестве (Old Boy)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

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

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


Привет!
Я знаю!

Жду осмысленного вопроса.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


Я хотел бы знать как она используется? что это за функция? для чего она? заранее спс


--------------------
Смейся и весь мир будет смеяться вместе с тобой, плачь и ты будешь плакать в одиночестве (Old Boy)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Профи
****

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

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


Цитата(2ral @ 30.10.2007 22:18) *

Я хотел бы знать как она используется? что это за функция? для чего она? заранее спс


procedure FillChar(var X; Count: Word; value);
Заполняет область памяти начиная с адреса переменой Х, значением value (байт), длиной - Count. Удобно использовать для обнуления массива или заполнения еще чего либо одним значением. Единственная тонкость - процедура не проверяет что конкретно заполняется, ее интересует только адрес откуда начать, чем и сколько заполнять. Поэтому такой вариант:
1.Var x: array [1..10] of real; или
2.Var x: array [1..10] of integer;
и
FillChar(X, SizeOf(x), 1);
не заполнит массивы единицами. В первом случае в связи с особенностями представления вещественных чисел в памяти будет хз что, во втором - числами 257 (старшее слово и младшее = 1).

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

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

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


А что если массив состаит из рекордов?

типо вот так:

type
point=record
i:integer;
b:boolean;
end;

var
ar:array [1..100] of point;



то тогда для заполнения интеджера нужно fillchar(ar.i,n,0), для буулена fillchar(ar.b,n,false) (возможно ли вообще заполнять буулеан? если нет то ответьте только как писать с интеджером) или как?



--------------------
Смейся и весь мир будет смеяться вместе с тобой, плачь и ты будешь плакать в одиночестве (Old Boy)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






FillChar вообще заполняет Count последовательных байт памяти. Ты не можешь выборочно заполнять байты с помощью этой процедуры, только подряд. Можешь заполнить, например, так:

FillChar(ar, sizeof(ar), 0);


Поскольку Boolean(0) = False, то все поля i заполнятся нулями, а все поля b - значением False...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

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

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


Значит весь массив можно заполнять только полностью и только одним значением? ясно. Всем спасибо!


--------------------
Смейся и весь мир будет смеяться вместе с тобой, плачь и ты будешь плакать в одиночестве (Old Boy)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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