Prueba
Código Delphi
[-]
for i := pred(c) to chr(ord(b) + ord(c)) do
Eso suponiendo que ord(b) + ord(c) < 256.
El problema es que cuando sumas dos o más
char lo que haces realmente es concatenarlos, obteniendo una cadena. Por eso hay que hacer las dos conversiones, primero pasándolos a entero (con ord) y luego pasar la suma de nuevo a char.