one arduino 2 programs

is it prossible to have 2 programs on one arduino and change between them whith a button??

No. There can only be one set of setup/loop. However, it is very easy to set things up to make it look like there are two separate programs that run depending on the state of a button.

how can i make a void that loops itself like loop does?

nonamejohn:
how can i make a void that loops itself like loop does?

By writing code that changes a value when a switch is pressed and runs differently based on that value.

Simply call it at the beginning of loop(). That way it will get called very time loop does. Or you could set up a timer to call it periodically, if it does not do very much.

how can i make a void

Start with a really big shovel...

Now, if you mean function (void is a return type), that is a different story.

that loops itself like loop does?

You probably shouldn't. You should have loop() call one or the other of the functions you write, each time it is called.

Maybe have setup() call your setup1() and setup2() routines. Then have loop() do the same by calling loop1() followed by loop2(). This has its obvious limitations, but is simple to implement. You have to be "smart" about your loopx() routines and not tie up a bunch of time doing nothing, such as calling delay() or any other delay loops for that matter.

how do i make the arduino remember the touch on a touch screen so it will rememper the touch of my touch button

how do i make the arduino remember the touch on a touch screen so it will rememper the touch of my touch button

That's what variables are for.

nonamejohn:
how do i make the arduino remember the touch on a touch screen so it will rememper the touch of my touch button

What touch screen? What touch button?

Perhaps its time to post the details of your project rather than posting vague, nearly unanswerable questions.

If the power might be cycled between touches, a flag in eeprom would be best.