Hola
Un ejemplo muy sencillo:
Digamos que tienes un mainmenu en este tienes dos caption.
Digamos que son: uno y dos.
Pones una variable global en donde esta el tform aqui:
Código Delphi
[-]var
Form1: TForm1;
dato: String;
implementation
La variable dato tendra el dato (perdona la redundancia) de lo que necesitas, ahora ponemos en cado menu esto:
Código Delphi
[-]
procedure TForm1.unoClick(Sender: TObject);
begin
dato := 'C:/';
end;
procedure TForm1.otro1Click(Sender: TObject);
begin
dato := 'D:/';
end;
end.
Ahora presionaremos los botones con tu codigo pero con la variable:
boton 1
Código Delphi
[-]
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ShellExecute (Handle, 'open', +dato+'prueba1.txt', nil, nil, SW_SHOWNORMAL);
end;
boton 2
Código Delphi
[-]procedure TForm1.BitBtn2Click(Sender: TObject);
begin
ShellExecute (Handle, 'open', +dato+'prueba2.txt', nil, nil, SW_SHOWNORMAL);
end;
Saludos