Supongo que primero deberías ver las funciones FindFirst y FindNext de Delphi para poder obtener información de archivos y directorios.
Luego de posicionarte en el directorio raiz (/BACKUP/) lees todos los directorios.
A cada uno lo agregas a tu registro indicándole directorio_padre=0
Para cada registro que has agregado, haces lo mismo que antes, para los directorios que tiene dentro.
Otra forma es utilizando recursividad:
Me posiciono en el directorio raiz.
Leo el primer directorio
Agrego este directorio a la estructura
Vuelvo a hacer esto pero teniendo en cuenta que el directorio raiz es raiz+directorio
Leo el siguiente directorio
|