What exactly do you have problems with? Nested looping over all 3 arrays should be sufficient.
Delphi-Quellcode:
for I := Low(Array1) to High(Array1) do
for J := Low(Array2) to High(Array2) do
for K := Low(Array3) to High(Array3) do
WriteLn(Format('%s-%s-%s', [Array1[I], Array2[J], Array3[K]]));