Vale. Entonces, suponiendo que esa última línea :00000001FF no afecta (¿siempre es :00....?) entonces creo que este código te sirve:
Código Delphi
[-]
Function IntelHexFinalFileSize(const FileName: String): Integer;
var
S: TStrings;
n, FinalSize: Integer;
begin
FinalSize:=0;
S:=TStringList.Create;
S.LoadFromFile(FileName);
For n:=0 to S.Count-1 do Inc(FinalSize, HexToInt(Copy(S[n],2,2)));
S.Free;
Result:=FinalSize;
end;
Lo único que hace es recorrer todas las líneas del fichero, sumando los valores iniciales de cada línea.
¿Fácil, no? ¿Qué es lo que no sabías hacer? ¿Leer el archivo de texto? ¿Obtener los valores de cada línea? ¿Sumar valores hexadecimales?...
Salu2