Morse Code to more than 1 digital write

Yes, I’m new at this. I’ve been searching, but quite honestly I’m not sure where to start for this.
I wish to make a text sequence to morse code on a digital out., then pause, then send a second string to a different digital out, pause again, and then send an additional string to a third digital out. then pause and start over. I can NOT see what actually is controlling the digital output here. I have the text strings but can’t find what to do with them.

// From http://arduino.cc/forum/index.php/topic,43903.0.html#10

byte text[] = "N3UE";         // Transmittet text
// byte text2[] = "PITTSBURG";
// byte text3[] = PA";

// Morse code generator for the Arduino
// Transmitted text is placed in the first line
// Tempo sets the speed of a dot etc.
// Morde code was tanken from http://en.wikipedia.org/wiki/Morse_code
// Text is looping and prior to transmitting the active pin blinks rapidly
// Version 1.0, made by Fletcher Chr
int ledPin1 = 12;                     
int ledPin2 = 11;                      
int ledPin3 = 10;
int tempo = 150;                       // timing of one dot



void setup () {
 pinMode(ledPin1, OUTPUT);
 pinMode(ledPin2, OUTPUT);
 pinMode(ledPin3, OUTPUT);
}
void start()

{                         // rapid blink at startup

for(int i = 0; i < 25; i++){
   digitalWrite(ledPin1, HIGH);   
   delay(25);
   digitalWrite(ledPin1, LOW);  
   delay(25);
 }
 delay(7 * tempo);

                         // rapid blink at startup

for(int i = 0; i < 25; i++){
   digitalWrite(ledPin2, HIGH); 
   delay(25);
   digitalWrite(ledPin2, LOW); 
   delay(25);
 }
 delay(7 * tempo);

                         // rapid blink at startup

for(int i = 0; i < 25; i++){
   digitalWrite(ledPin3, HIGH);  
   delay(25);
   digitalWrite(ledPin3, LOW);  
   delay(25);
 }
 delay(7 * tempo);
}

void dot() {                          
 digitalWrite(ledPin3, HIGH);
 
 delay(1 * tempo);
 digitalWrite(ledPin3, LOW);
 
 delay(1 * tempo);
}

void dash() {                        
 digitalWrite(ledPin3, HIGH);
 
 delay(3 * tempo);
 digitalWrite(ledPin3, LOW);
 
 delay(1 * tempo);

}

void morse(byte letter) {           // time to transmit
//  Serial.println(letter, DEC);
 if (letter == 'a' or letter == 'A') {dot(); dash();}
 if (letter == 'b' or letter == 'B') {dash(); dot(); dot(); dot();}
 if (letter == 'c' or letter == 'C') {dash(); dot(); dash(); dot();}
 if (letter == 'd' or letter == 'D') {dash(); dot(); dot();}
 if (letter == 'e' or letter == 'E') {dot();}
 if (letter == 'f' or letter == 'F') {dot(); dot(); dash(); dot();}
 if (letter == 'g' or letter == 'G') {dash(); dash(); dot();}
 if (letter == 'h' or letter == 'H') {dot(); dot(); dot(); dot();}
 if (letter == 'i' or letter == 'I') {dot(); dot();}
 if (letter == 'j' or letter == 'J') {dot(); dash(); dash(); dash();}
 if (letter == 'k' or letter == 'K') {dash(); dot(); dash();}
 if (letter == 'l' or letter == 'L') {dot(); dash(); dot(); dot();}
 if (letter == 'm' or letter == 'M') {dash(); dash();}
 if (letter == 'n' or letter == 'N') {dash(); dot();}
 if (letter == 'o' or letter == 'O') {dash(); dash(); dash();}
 if (letter == 'p' or letter == 'P') {dot(); dash(); dash(); dot();}
 if (letter == 'q' or letter == 'Q') {dash(); dash(); dot(); dash();}
 if (letter == 'r' or letter == 'R') {dot(); dash(); dot();}
 if (letter == 's' or letter == 'S') {dot(); dot(); dot();}
 if (letter == 't' or letter == 'T') {dash();}
 if (letter == 'u' or letter == 'U') {dot(); dot(); dash();}
 if (letter == 'v' or letter == 'V') {dot(); dot(); dot(); dash();}
 if (letter == 'w' or letter == 'W') {dot(); dash(); dash();}
 if (letter == 'x' or letter == 'X') {dash(); dot(); dot(); dash();}
 if (letter == 'y' or letter == 'Y') {dash(); dot(); dash(); dash();}
 if (letter == 'z' or letter == 'Z') {dash(); dash(); dot(); dot();}
 if (letter == '1') {dot(); dash(); dash(); dash(); dash();}
 if (letter == '2') {dot(); dot(); dash(); dash(); dash();}
 if (letter == '3') {dot(); dot(); dot(); dash(); dash();}
 if (letter == '4') {dot(); dot(); dot(); dot(); dash();}
 if (letter == '5') {dot(); dot(); dot(); dot(); dot();}
 if (letter == '6') {dash(); dot(); dot(); dot(); dot();}
 if (letter == '7') {dash(); dash(); dot(); dot(); dot();}
 if (letter == '8') {dash(); dash(); dash(); dot(); dot();}
 if (letter == '9') {dash(); dash(); dash(); dash(); dot();}
 if (letter == '0') {dash(); dash(); dash(); dash(); dash();}
 if (letter == ' ') {delay(5 * tempo);}                        // This makes 7 * tempo for space

 // and now for some national/special letters
 // values were foundt with Serial.print(letter, DEC)

 if (letter == 166 or letter == 134) {dot(); dash(); dot(); dash();}     // æ/Æ is recognized as 166/134
 if (letter == 184 or letter == 152) {dash(); dash();dash();dot();}      // ø/Ø is recognized as 184/152
 if (letter == 165 or letter == 133) {dot();dash();dash();dot();dash();} // å/Å is recognized as 165/133

 delay(2 * tempo);      // this makes 3 * tempo for letter end, and 7 * tempo for space
}


void loop ()
{
 start();

 for (int i = 0; i < sizeof(text); i++) {
   morse(text[i]);
 }
//{
//         delay(1500);
//}
// for (int i = 0; i < sizeof(text); i++) {
//   morse(text2[i]);
// }

}

Each individual letter is triggering one of those if statements which are calling for and dash functions. Those dot and dash functions are controlling the output. Look at those functions and you'll see the digitalWrite calls. Maybe you could rewrite those to take a PIN number as an argument of to use a PIN number from a global variable that you could change when you want.

This is really easy. Create a global variable, "sendPin", and change dot() and dash() to write to it, instead of hard coding pin3. If you wanted to send to pin3, you just assign it:

sendPin = pin3;

aarg, could you please expand on that? Although it may very well be easy, I just don't follow it yet, I'm trying...

sendPin = ledPin3;

//... later the same day ... :)

void dash() {                       
 digitalWrite(sendPin, HIGH);
 delay(3 * tempo);
 digitalWrite(sendPin, LOW);
 delay(1 * tempo);
}