An welchen Stellen hängt es denn genau? Ich denke mal, ohne diese Information kann man den Fehler nicht lösen.
In Delphi gibt es TryStrToInt. Was in Lazarus geht, weiß ich nicht.
Das mit dem StrToInt() ist ja nur dann falsch, wenn irgendjemand so schlau ist, einen Buchstaben oder irgend ein Sonderzeichen zu Raten. Da dies aber nicht der Normalfall sein wird, ist dies nicht der Ursprung des Problems. (außer es geht darum das Programm Idiotensicher zu machen)
PS: Nur eine Anmerkung, auf dem Foto, das Du eingestellt hast, sieht man so relativ gar nichts und könntest Du den Quellcode noch mal richtig formatieren, dann wird der auch übersichtlicher