help

OK, the code was in a mess, you had defined the function delayHold() and used the function holdDelay(), that was why you were getting the error message. You had also not taken out all the rubbish you added so the braces were all over the place.

Try the following code, at least it compiles, have you got the push button wired up correctly?

int ledPin1 = 2;                  
int ledPin2 = 3;                
int ledPin3 = 4;
int ledPin4 = 5;
int ledPin5 = 6;
int ledPin6 = 7;
int ledPin7 = 8;
int inputPin = 10; // switch wired between input and ground
int val = 0;
long endTime;
void setup()  {                  

  pinMode(ledPin1, OUTPUT);        
  pinMode(ledPin2, OUTPUT);      
  pinMode(ledPin3, OUTPUT);
  pinMode(ledPin4, OUTPUT);
  pinMode(ledPin5, OUTPUT);
  pinMode(ledPin7, OUTPUT);
  pinMode(ledPin6, OUTPUT);
  pinMode(inputPin, INPUT);
  digitalWrite(inputPin,HIGH);  // enable internal pull up resistor

  }

 void loop  () {
  digitalWrite(ledPin1, HIGH);    // number 1
  digitalWrite(ledPin2, HIGH);
  digitalWrite(ledPin3, HIGH);
  digitalWrite(ledPin4, HIGH);
  digitalWrite(ledPin5, LOW);
  digitalWrite(ledPin6, LOW);
  digitalWrite(ledPin7, HIGH);
  
  holdDelay(500);

  digitalWrite(ledPin1, LOW);    // number 2
  digitalWrite(ledPin2, HIGH);
  digitalWrite(ledPin3, LOW);
  digitalWrite(ledPin4, LOW);
  digitalWrite(ledPin5, LOW);
  digitalWrite(ledPin6, HIGH);
  digitalWrite(ledPin7, LOW);

    holdDelay(500);
   
  digitalWrite(ledPin1, LOW);    // number 3
  digitalWrite(ledPin2, HIGH);
  digitalWrite(ledPin3, LOW);
  digitalWrite(ledPin4, HIGH);
  digitalWrite(ledPin5, LOW);
  digitalWrite(ledPin6, LOW);
  digitalWrite(ledPin7, LOW);


    holdDelay(500);

  digitalWrite(ledPin1, HIGH);    // number 4
  digitalWrite(ledPin2, LOW);
  digitalWrite(ledPin3, LOW);
  digitalWrite(ledPin4, HIGH);
  digitalWrite(ledPin5, LOW);
  digitalWrite(ledPin6, LOW);
  digitalWrite(ledPin7, HIGH);
  
    holdDelay(500);

  digitalWrite(ledPin1, LOW);    // number 5
  digitalWrite(ledPin2, LOW);
  digitalWrite(ledPin3, LOW);
  digitalWrite(ledPin4, HIGH);
  digitalWrite(ledPin5, HIGH);
  digitalWrite(ledPin6, LOW);
  digitalWrite(ledPin7, LOW);

    holdDelay(500);

  digitalWrite(ledPin1, HIGH);    // number  6
  digitalWrite(ledPin2, LOW);
  digitalWrite(ledPin3, LOW);
  digitalWrite(ledPin4, LOW);
  digitalWrite(ledPin5, HIGH);
  digitalWrite(ledPin6, LOW);
  digitalWrite(ledPin7, LOW);

    holdDelay(500);

  digitalWrite(ledPin1, LOW);    // number 7
  digitalWrite(ledPin2, HIGH);
  digitalWrite(ledPin3, HIGH);
  digitalWrite(ledPin4, HIGH);
  digitalWrite(ledPin5, LOW);
  digitalWrite(ledPin6, LOW);
  digitalWrite(ledPin7, HIGH);

   holdDelay(500);

  digitalWrite(ledPin1, LOW);    // number 8
  digitalWrite(ledPin2, LOW);
  digitalWrite(ledPin3, LOW);
  digitalWrite(ledPin4, LOW);
  digitalWrite(ledPin5, LOW);
  digitalWrite(ledPin6, LOW);
  digitalWrite(ledPin7, LOW);


  
  holdDelay(500);  
  
  digitalWrite(ledPin1, LOW);    // number 9
  digitalWrite(ledPin2, LOW);
  digitalWrite(ledPin3, LOW);
  digitalWrite(ledPin4, HIGH);
  digitalWrite(ledPin5, LOW);
  digitalWrite(ledPin6, LOW);
  digitalWrite(ledPin7, HIGH);
 
  
    holdDelay(500);  
   
  digitalWrite(ledPin1, LOW);    // number 0
  digitalWrite(ledPin2, LOW);
  digitalWrite(ledPin3, HIGH);
  digitalWrite(ledPin4, LOW);
  digitalWrite(ledPin5, LOW);
  digitalWrite(ledPin6, LOW);
  digitalWrite(ledPin7, LOW);

   }

// Delay for the number of milli seconds passed to it or hold while the push button is held
void holdDelay(int del){
  int button;
  endTime = millis() + del;        // time for the loop to end in absance of a button press
 while(endTime>millis()) {              // do this until the delay has finished
        button = digitalRead(inputPin); // what is the state of the button
        if (button == LOW) {            // if it is low we should hold until it is high again
        // hold until button == HIGH
         while(button == LOW){
        button = digitalRead(inputPin);
                       }
            }
      }
}

And just for a laf - thought I would code it the way I would have done it.

int ledPin[] = {2, 3, 4, 5, 6,7, 8}; // The pin numbers used to drive the segments                 
int inputPin = 10;  // switch wired between input and ground
int num=0;
// set up an array to contain digits to light for each number 0=lit - 1=not lit
int segments[] = {0x04, 0x30, 0x22, 0x0A, 0x48, 0x18, 0x10, 0x4e, 0x00, 0x48};

void setup()  {                  
for(int i=0; i<7; i++){
   pinMode(ledPin[i], OUTPUT);  // define segment drivers      
   }
   pinMode(inputPin, INPUT);
   digitalWrite(inputPin,HIGH);  // enable internal pull up resistor
  }

 void loop  () {
  setSegments(segments[num]); // display number
  holdDelay(500);             // hold if button pressed otherwise a half second delay
  num++;                      // increment number for next time through the loop
 if(num > 9) num=0;  // wrap round 9 to 0  
 }

// Turns on and off the segments passed in val bit 0 = segment a, bit 1 = segment b .......   
void setSegments(int val){
  int tval;                // tempory variable to hold just one segment
  for(int i =0; i<7; i++){
    tval = val & 0x01;     // extract the lease significant segment value
    val = val >>1;         // shift the segments down so the next segment to display becomes the lease significant one
    digitalWrite(ledPin[i], tval);
  }
}

// Delay for the number of milli seconds passed to it or hold while the push button is held
void holdDelay(int del){
  int button;
  long endTime = millis() + del;        // time for the loop to end in absance of a button press
 while(endTime>millis()) {              // do this until the delay has finished
        button = digitalRead(inputPin); // what is the state of the button
        // hold until button if LOW
         while(button == LOW){
        button = digitalRead(inputPin);
                       }
      }
}

Again I haven't tried it but it shouldn't be too far off.