Процедура FillChar заполняет раздел памяти Buffer тем же самым байтом или символом FillValue FillCount раз.
Это используется, преимущественно, для инициализирования массивов чисел. Это может использоваться, чтобы инициализировать записи и строки, но нужно использовать с осторожностью, чтобы избежать записывания поверх полей длины. StringOfChar больше подходит для того, чтобы заполнить строки тем же самым символом.
StringOfChar Создает строку из одного символа, повторенного много раз
Пример кода : Заполнение массива слова
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