Código Delphi
[-]
fecha := FiletimeTodatetime(x.FindData.ftCreationTime);
Para el tema del tamaño, creo que no tienes más remedio que hacer una búsqueda de todos los archivos e ir sumando.
Para el tamaño de un archivo, puedes usar x.Size.
Para ir sumando, debes tener cuidado, ya que x.Size es un Cardinal y solo llegará a 2 GB y pico, en caso de que ocupe más, tendrás que partir el tamaño en 2 variables de tipo Cardinal, tal y como hace el propio FindFirst.
Si miras en: s.FindData.nFileSizeLow verás que se corresponde con x.Size y s.FindData.nFileSizeHigh será 0. Esto será así cuando el archivo ocupe menos de los 2 GB ya comentado.
Tengo que investigar más para ver como va eso de las 2 variables, mientras tanto, si alguien tiene la respuesta, será bienvenida.
Nota: Cardinal = LongWord = DWORD;
Un saludo