Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Obtener el nombre del fichero elegido (https://www.clubdelphi.com/foros/showthread.php?t=43368)

AngelV 09-05-2007 18:03:22

Obtener el nombre del fichero elegido
 
Hola amigos!

Ando liado con una pequeña aplicación. Procuraré poneros en contexto. La idea es que tengo un TOpenDialog, y un TEdit. Los nombres correspondientes son OpenDialog1, y Edit3.

Pues bien, mi intención es que cuándo yo elija un fichero con OpenDialog1, se muestre la ruta completa del fichero en Edit3, tal y como, cuándo se selecciona un fichero para adjuntar un fichero a un correo electrónico.

Pues bien, mi pequeña idea ha sido:

Código Delphi [-]
procedure TForm11.OpenDialog1Close(Sender: TObject);
begin
       Edit3.Text:=OpenDialog1.FileName;
end;

Ha sido cómo creo que debo hacerlo, asigno una cosa a la otra.

Pero no me muestra el nombre correctamente. Supongo que o se eliminará el objeto OpenDialog1, o que habrá que utilizar una función de copia.

He realizado búsquedas por todo el foro, y no he encontrado nada :(.

Muchas gracias por leerme y vuestra atención.

Saludos!

PD: He buscado en La cara oculta de Delphi, La cara oculta de Delphi 4 y Delphi7. Guía Práctica para usuarios. Francisco Charte Ojeda.

ContraVeneno 09-05-2007 18:12:25

Veo que has buscado en varios lados, pero se te olvido buscar en el primer lugar que debes buscar:

1. En Delphi Presiona F1
2. Busca TOPenDialog
3. Selecciona "File Name"
4. Da click en "Example"
y esto es lo que encontrarás:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);

var
  F: Textfile;
begin
  OpenDialog1.Title := 'Delete File';
  if OpenDialog1.Execute then begin
    AssignFile(F, OpenDialog1.FileName);
    try
      Reset(F);
      if MessageDlg('Erase ' + OpenDialog1.FileName + '?',
        mtConfirmation, [mbYes, mbNo], 0) = mrYes then
      begin
        CloseFile(F);
        Erase(F);
      end;
    except
      on EInOutError do

        MessageDlg('File I/O error.', mtError, [mbOk], 0);
    end;
  end;
end;

AngelV 11-05-2007 23:14:15

gracias
 
Muchísimas gracias. Ya tengo una forma más de buscar ayuda de una forma bastante rápida ;).

Por si a alguien le sirviese de ayuda, cuelgo cómo quedaría la función:

Código Delphi [-]
procedure TForm12.Button2Click(Sender: TObject);
begin
      if OpenDialog1.Execute then begin
        Edit3.Text := OpenDialog1.FileName;
      end;
end;

Mi planteamiento estaba mal, porque yo pensaba que el click en el botón, debería encargarse de abrir el diálogo, y cuando se cerraba el diálogo debería asignarse el nombre el TEdit.

Espero que a alguién más le sirva de ayuda.

Muchísimas gracias ContraVeneno, de verdad. Sobretodo el no ponerme la solución directamente, sino por ayudarme a plantearme cómo se debe hacer, y el mostrarme la ayuda en Delphi, que desconocía.


La franja horaria es GMT +2. Ahora son las 11:46:02.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi