Ver Mensaje Individual
  #2  
Antiguo 24-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Siempre puedes utilizar variables:

Código Delphi [-]
var
  rutaArchivo: string;
begin
  rutaArchivo := 'C:\unarchivo.txt';
  ShellExecute(MiForm.Handle, 'open', PChar(rutaArchivo),nil,nil,SW_SHOWNORMAL);
end;

Ahora tienes que investigar sobre el uso de un "TOpenDialog", pero, en definitiva, ya sabes que puedes guardar la elección del usuario en la variable "rutaArchivo", por ponerte un ejemplo, de modo que luego puedas usarla en la función "ShellExecute".

Una posible forma de hacerlo:

Código Delphi [-]
begin
  with TOpenDialog.Create(Self) do
  begin
    if Execute then
    begin
      ShellExecute(Self.Handle, 'open', PChar(FileName), nil, nil, SW_SHOWNORMAL);
    end;
    Free;
  end;

Otra posible forma:

Código Delphi [-]
var
  dlg: TOpenDialog;
begin
  dlg := TOpenDialog.Create(Self);
  try
    if dlg.Execute then
      ShellExecute(Self.Handle, 'open',
       PChar(dlg.FileName), nil, nil, SW_SHOWNORMAL);
  finally
    dlg.Free;
  end;
end;

Y aún otra más:

Código Delphi [-]
begin
  if OpenDialog1.Execute then
  begin
    ShellExecute(Self.Handle, 'open',
      PChar(OpenDialog1.FileName), nil, nil, SW_SHOWNORMAL);
  end;
end;
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita