The library is a folder usually containing two files, dadedah.cpp and dadedah.h, along with a folder full of examples. It lives in the \libraries folder which, in my case, is under \arduino-1.0.1.
You can use these examples but, when you modify or save under another name, they don't go where they came from but are stored under \arduino\My Sketches. I don't think this folder exists until you take some action. It is then created automatically.
When I installed the latest Arduino IDE on a laptop, the directory structure was a little different but operates the same way.
The standard examples are included in the file menu, you shouldn't have to download anything and I'm sure hello world and autoscroll are amongst them.
The display problem may just be the pin configuration. If your shield lights up, it is probably OK. You should be able to twiddle the potentiometer at the top left and see at least one row of black boxes. I don't think you need any code for this. I had two or three attempts before I got the code right. I eventually used the Mellis & Igoe code included in the IDE but changed the initialisation line to
LiquidCrystal lcd(8,9,4,5,6,7);
This was the only change made to the standard code in the IDE. This different pin setup is simply due to changes in the design of the shield, for which there are no hard and fast design rules. Your shield looks exactly the same as mine. If you change that line, it might work. If so, you can then use it for every sketch applicable to that hardware combination. If it doesn't work it doesn't necessarily mean it's a dud, it's just different from mine.
The shield consists of two parts, the LCD module and the Arduino-compatible board. If you turn it over you can probably see the tracks and identify which LCD pin is connected with which Arduino pin. If you can't get a result with the above line, the pin connections will be useful to know! The included sketch has the anticipated connections listed.
The circuit says but on my shield it is to
- LCD RS pin to digital pin 12 8
- LCD Enable pin to digital pin 11 9
- LCD D4 pin to digital pin 5 4
- LCD D5 pin to digital pin 4 5
- LCD D6 pin to digital pin 3 6
- LCD D7 pin to digital pin 2 7
Hence the line LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
now becomes LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
Note that it is looking for the pins in the list order, not numerical order. Don't change it.
FWIW I had grief with the buttons too, and initially gave up on them completely. The problem was much the same and I got a result with the line
LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7);
No extra libraries are needed for the buttons.