simple button reading concepts

Sorry for the simple question - I'd like to make sure I've got my head around these concepts before I start this project.

I'm attempting to make a physical interface controller for a video switcher. This will involve an LCD, a keypad, and an RS232 output. I'd like to have a simple menu system, whereby the user can enter source and destination numbers into a keypad, then a properly formatted RS232 message will be sent only after the user has pushed "Enter" to confirm. Several "screens" will be displayed (status, Enter Source, Enter Destination, Confirm) and I would like to impliment an Escape key that will return the user to the status screen at anytime, aborting the operation.

So, what's the easiest way to do this? I'm gussing IF statements with boolean state variables (button status sets the state, when state = 1, do this, etc.). Does that sound about right?

How does the Arduino work with the WHILE statement? Does it loop or does it continue on under certain citcumstances?

What is the easiest way to debounce? The debounce example in the playground?

What is the easiest way to impliment Escape? Do I have to write it into each IF statement, or cause I use an interrupt?

I'd test this all myself first, but my Arduino gave me the blinky LED of death, so I thought I'd get the concepts out of the way while I'm waiting for a replacement ;D

I would have thought your biggest problem is going to be the LCD. Is this graphics or character . You start eating up a lot of memory once you start using this. Sort out the hardware first before you worry about the software. However your escape key could be done with an interrupt to save you the trouble o putting something into every loop.

The LCD is a 4x20 character with a serial backpack, so it only eats up 1 pin and takes a few serial.print() commands to run. It's great!

OK that sounds fine. As to the other stuff:-

How does the Arduino work with the WHILE statement? Does it loop or does it continue on under certain circumstances?

It loops while the expression is true as in:-

while(expression){ // statement(s) }

What is the easiest way to debounce?

Well I would use a capacitor across the switch but others prefer a software delay after detection of the change.

What is the easiest way to implement Escape? An interrupt will only allow you to read in a value (or do some action) it won't by itself change the program flow of the main code without nasty hacking at machine level. So you need to check for the escape condition in places where the program loops not the in the if statements.

Hope it helps, but do study the examples to make sure you understand the language.