Процедура FillChar в Delphi заполняет раздел памяти значением байта или символа-заполнителя.
System unit
procedure FillChar (var Buffer; FillCount : Integer; FillValue : Byte);
Процедура FillChar заполняет раздел памяти Buffer тем же самым байтом или символом FillValue FillCount раз.
Это используется, преимущественно, для инициализирования массивов чисел. Это может использоваться, чтобы инициализировать записи и строки, но нужно использовать с осторожностью, чтобы избежать записывания поверх полей длины. StringOfChar больше подходит для того, чтобы заполнить строки тем же самым символом.
Процедура FillChar: Заполнение массива слова
var
data : array[0..3] of Word;
i : Integer;
begin
// Заполнение Word массива
ShowMessage('Перед FillChar :');
for i := 0 to 3 do
begin
data[i] := i*5;
ShowMessage(IntToStr(i)+' значение элемента = '+IntToStr(data[i]));
end;
// Теперь заполняем массив значением 1
// Word - 2 байта: 00000001 00000001 hex = 257 dec
FillChar(data, 4*SizeOf(Word), 1);
// И показываем массив теперь
ShowMessage('После FillChar :');
for i := 0 to 3 do
ShowMessage(IntToStr(i)+' значение элемента = '+IntToStr(data[i]));
end;
Результат
Перед FillChar :
0 значение элемента = 0
1 значение элемента = 5
2 значение элемента = 10
3 значение элемента = 15
После FillChar :
0 значение элемента = 257
1 значение элемента = 257
2 значение элемента = 257
3 значение элемента = 257
Похожие функции, процедуры и команды
GetMem — получает указанное число байтов памяти.
SetString — копирует символы из буфера в строку.
StringOfChar — создает строку из одного символа, повторенного много раз.
