Fillchar, Fillchar |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
Fillchar, Fillchar |
2ral |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 22 Пол: Мужской Реальное имя: Neymanov Tural Репутация: 0 |
Привет! Кто знает, что такое fillchar? Сообщение отредактировано: 2ral - -------------------- Смейся и весь мир будет смеяться вместе с тобой, плачь и ты будешь плакать в одиночестве (Old Boy)
|
Ozzя |
Сообщение
#2
|
Гуру Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: 16 |
Привет!
Я знаю! Жду осмысленного вопроса. |
2ral |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 22 Пол: Мужской Реальное имя: Neymanov Tural Репутация: 0 |
Я хотел бы знать как она используется? что это за функция? для чего она? заранее спс
-------------------- Смейся и весь мир будет смеяться вместе с тобой, плачь и ты будешь плакать в одиночестве (Old Boy)
|
Malice |
Сообщение
#4
|
Профи Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: 20 |
Я хотел бы знать как она используется? что это за функция? для чего она? заранее спс 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). |
2ral |
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 22 Пол: Мужской Реальное имя: Neymanov Tural Репутация: 0 |
А что если массив состаит из рекордов?
типо вот так:
то тогда для заполнения интеджера нужно fillchar(ar.i,n,0), для буулена fillchar(ar.b,n,false) (возможно ли вообще заполнять буулеан? если нет то ответьте только как писать с интеджером) или как? -------------------- Смейся и весь мир будет смеяться вместе с тобой, плачь и ты будешь плакать в одиночестве (Old Boy)
|
volvo |
Сообщение
#6
|
Гость |
FillChar вообще заполняет Count последовательных байт памяти. Ты не можешь выборочно заполнять байты с помощью этой процедуры, только подряд. Можешь заполнить, например, так:
FillChar(ar, sizeof(ar), 0); Поскольку Boolean(0) = False, то все поля i заполнятся нулями, а все поля b - значением False... |
2ral |
Сообщение
#7
|
Новичок Группа: Пользователи Сообщений: 22 Пол: Мужской Реальное имя: Neymanov Tural Репутация: 0 |
Значит весь массив можно заполнять только полностью и только одним значением? ясно. Всем спасибо!
-------------------- Смейся и весь мир будет смеяться вместе с тобой, плачь и ты будешь плакать в одиночестве (Old Boy)
|
Текстовая версия | 10.06.2024 17:07 |