He pensado en una posible solución, calcular las permutaciones de cada fila de la lista3
Código Delphi
[-]Combinatoria2([(Items.Item[i].SubItems[0]), Items.Item[i].SubItems[1], Items.Item[i].SubItems[2],
Items.Item[i].SubItems[3], Items.Item[i].SubItems[4], listBox2);
El problema es que no acepta enteros y cadenas y cuando pongo IntToStr da error.