Is button pressed? If yes how long? Won´t work

It looks like your buttons are wired between the Arduino pin and the + rail (that is digitalRead returns HIGH when pressed). Have you got pull-down resistors on the buttons ? If not, that could explain the erratic behaviour you have described.

Incidentally, it more usual to wire buttons on the low side, so you can use the built in pull-up resistors.