Hola KroSaver,
Con todo respeto y también al igual que
casimiro (Que en otras, tiene mas paciencia que muchos... por lo menos que yo) opino que debido a tu inexperiencia y desconocimiento. Estás intentando cosas que si escucharas a quienes te están prestando la ayuda, solventarías de una manera mas sencilla.
Y pues, como te dijeron ya. Delphi, te ofrece no solo un buen IDE, sino un framework (
VCL) catalogado como uno de los mejores

Que si quieres puedes obviarlo y volver a pascal puro (puedes usar
free pascal), pero si instalas Delphi es porque quieres usar las bondades del mismo, como son acceso rápido a datos, el diseño rápido de aplicaciones y la cantidad de funciones que vas a encontrar.
Mira, en
DelphiBasics, puedes encontrar referencias y ejemplos de como usar muchísimas funciones de Delphi que te ayudarán a no reinventar la rueda.
Con respecto a tu duda, puedes declarar un arreglo dinámico como parámetro de una función
Código Delphi
[-]
function EncontrarCadena(Cadena : array of char) : boolean
begin
end;
if EncontrarCadena(['H','a','s','t','a',' ','l','a',' ','v','i','s','t','a',' ','b','a','b','y']) then
ShowMessage('Terminator');