Scrolling Dispaly

Hi

I have been following the built in projects for the LCD display and would like to go one step further. Apologies if this has been covered, but I can’t find what I’m looking for.

I can get the Arduino to output onto an LCD display the “Hello World”, and have the text scroll to the left repeating over and over - marquee style.
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
// set up the LCD’s number of columns and rows:
lcd.begin(16, 2);
}

void loop() {
//Set the cursor to column 0, line 0
lcd.setCursor(0,0);
lcd.scrollDisplayLeft();
// Print a message to the LCD.
lcd.print("********Hello, World!**********");
delay(500);

What I would like to do is input the message (any length) via the serial monitor, and have that scroll marquee style.

The code is below, but is the built in Serial Display code, with the scrollDisplayLeft function added in. When I run the code, the display remains blank.

Any help/suggestions will be gratefully received - I’m a complete beginner at this, but am learning slowly but surely!!

#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {

// set up the LCD’s number of columns and rows:
lcd.begin(16, 2);
// initialize the serial communications:
Serial.begin(9600);
}

void loop() {
// when characters arrive over the serial port…
if (Serial.available()) {
// wait a bit for the entire message to arrive
delay(100);
// clear the screen
lcd.clear();
// read all the available characters
while (Serial.available() > 0) {
// display each character to the LCD
lcd.scrollDisplayLeft();
lcd.write(Serial.read());
delay(500);
}
}