Hola Iván.
Si te entendí bién, la composición de la ruta sería: Aplicación\Dicom Data\Archivos Dicom\
Fecha\
Estudio\
Serie, entonces creo que:
Código Delphi
[-]
function MakePath(Estudio: string; const Serie: string; const aDate: TDate): string;
begin
if Estudio <> '' then
Estudio := Estudio + '\';
Result := Copy(DateToStr(aDate),7,4) + '-' +
Copy(DateToStr(aDate),4,2) + '-' +
Copy(DateToStr(aDate),1,2) + '\';
Result := ExtractFilePath(Application.ExeName)+
'Dicom Data\Archivos Dicom\' + Result + Estudio + Serie;
end;
Llamada:
Código Delphi
[-]
ShowMessage(MakePath(EditEstudio.Text, EditSerie.Text, Date));
Se envían como argumentos los números de estudio, de serie y la fecha.
Si deseas imponer alguna restricción (como que algún o todos los parámetros deban tener valor), decímelo y lo implementamos. Pero creo que en esencia sería de ese modo.
Saludos.
Edito: Iván, en marzo estimo terminar los tres proyectos en que estoy involucrado. A partir de entonces me comprometo a ayudarte con el tuyo en todo lo que esté a mi alcance.