Un apunte como aporte (vaya, casi salio verso). Recordemos que agregar ceros a la izquierda solo sirve para visualización ya que el valor numérico permanece invariable. Hay quien prefiere guardar el dato con todo y los ceros como en un campo tipo varchar o char pero entonces tenemos el detalle de que para poder hacer cualquier cálculo con ese dato hay que hacer una conversión a número. Yo recomiendo guardar el valor como entero y únicamente para efectos de visualización utilizar una mascarilla ya sea con la función format o bien con alguna función propia.
Si lo haces con format puede ser así:
Código Delphi
[-]
Format('%.*d', [Longitud, valor]) ;
Format('%.*d', [5,12]) ;
Donde sustituimos Longitud por la el número de cifras que queremos tener y valor por el entero que queremos rellenar.