GARANTIR DESCONTO

Fórum Dialog p/ capturar diretorio #167825

04/07/2003

0

Dialog p/ capturar diretorio

Alguem sabe :

1) Como fazer o OpenDialog p/ capturar um diretorio , nao arquivo ?

2) Algum Dialog pronto que faça isto ?


Motta

Motta

Responder

Post mais votado

04/07/2003

Pode usar a função SelectDirectory (uses FileCtrl).

procedure TForm1.Button1Click(Sender: TObject);
var
Dir: string;
begin
Dir := ´C:\TESTE´;
if SelectDirectory(Dir, [sdAllowCreate, sdPerformCreate, sdPrompt],SELDIRHELP) then
Label1.Caption := Dir;
end;


Thaisandrade

Thaisandrade
Responder

Gostei + 2

Mais Posts

04/07/2003

Alexandremarcondes

Os componentes do delphi-jedi (JCL / JVCL) têm dois diálogos que podem ser úteis para você, prontos, se você não precisar de CLX.

[url]http://www.delphi-jedi.org[/url]

Espero que te ajude ...


Responder

Gostei + 1

04/07/2003

Motta

Baixei a Jedi, mas não instalei, o meu download já deve até estar caduco !!

Grato !!


Responder

Gostei + 1

20/07/2005

Weber

Ressuscitando este tópico venho aqui com a mesma dúvida, como fazer um OpenDialog selecionar apenas um diretório quando se clicar em abrir em sua janela.

A rotina indicada por Motta até funciona, mas a janela que se abre é muito “feia”.
Não estou querendo usar componentes de terceiros (Jed, Rx, etc).

Alguém tem alguma idéia de como posso fazer para que seja possível um OpenDialog comum selecionar diretórios?


Responder

Gostei + 1

20/07/2005

Motta

Eu fiz uma , mas a tela é realmente mais feia que capotagem de caminhão de lixo, mas como era um troço muito isolado me serviu na época (depois nunca mais usei).

A pouca vantagem e que usa TDriveComboBox e TDirectoryListBox 2 comp. padrões (Win 3.1 !!)

{Dialog para capturar diretório
 Chame DialogDir}
unit objDialogDir;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, FileCtrl, Buttons;

type
  TfrmDialogDir = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    btnOK: TBitBtn;
    btnCancela: TBitBtn;
    DriveComboBox: TDriveComboBox;
    DirectoryListBox: TDirectoryListBox;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

function DialogDir(Title : string = ´Escolha o diretório´;InitialDir : string = ´c:´):string;

var
  frmDialogDir: TfrmDialogDir;

implementation

{$R *.DFM}

function DialogDir(Title : string = ´Escolha o diretório´;InitialDir : string = ´c:´):string;
begin
  Result := ´´;
  with TfrmDialogDir.Create(nil) do
  try
    DirectoryListBox.Directory := InitialDir;
    Caption := Title;
    ShowModal;
    if ModalResult = mrOk then
      Result := DirectoryListBox.Directory;
  finally
    Free;
  end;
end;

end.



Responder

Gostei + 1

21/07/2005

Weber

Valeu Motta.
Acho que a saida vai ser criar a minha própria tela OpenDialog


Responder

Gostei + 1

21/07/2005

Marcio.theis

Eu utilizo um componente chamado OpenDirectory, que pode ser baixado através deste [url=http://www.datastead.net/opendir/index.htm]Site[/url].


Responder

Gostei + 1

21/07/2005

Weber

Valeu /]/]@t, mas não posso utilizar componentes de terceiros somente posso utilizar componentes nativos do delphi.


Responder

Gostei + 1

21/07/2005

Massuda

Não sei se vai agradar esteticamente, mas experimente dar uma olhada na função [url=http://www.delphibasics.co.uk/RTL.asp?Name=SelectDirectory]SelectDirectory[/url] da unit FileCtrl.


Responder

Gostei + 1

21/07/2005

Weber

Resolvi (pelo menos temporariamente) meu problema. Fiz meu proprio OpenDialog.

Eu estava precisando de um OpenDialog que fosse possivel selecionar tanto pastas quanto arquivos e até mesmo multselect de pastas e arquivos.
O que eu fiz foi somente um form com ShellList e ShellCombo mas ja resolveu meu problema.


Responder

Gostei + 1

21/07/2005

Motta

Não sei se vai agradar esteticamente, mas experimente dar uma olhada na função [url=http://www.delphibasics.co.uk/RTL.asp?Name=SelectDirectory]SelectDirectory[/url] da unit FileCtrl.


Putz , quem não sabe pesquisar help se lasca, por não saber achar a function SelectDirectory, fiz um form à tóa...


Responder

Gostei + 1

26/06/2014

Andrew Vargas

Declare uses FileCtrl.
Implemente isso no Clicar do botão:

var
selDir : string;
begin
SelectDirectory('Selecione uma pasta', 'C:\', selDir);
end;

Para colocar o diretório em um Edit, basta criá-lo e implementar também no botão a seguinte linha:
Edit1.Text:= selDir

Eu também demorei um monte pra achar uma função como esse que não tivesse um visual feio
Responder

Gostei + 2

14/08/2014

Alex

Funciona!!!
Responder

Gostei + 1

15/02/2016

Bernelio

pessoal, utilizem este comando abaixo, funciona e fica bem melhor na apresentação!

shellexecute(0, nil, pchar( 'c:\sistema\boleto\' ), nil, nil, SW_SHOWNORMAL);

abs
Bernélio
Responder

Gostei + 0

15/06/2016

Romeu Sebastiao

ExtractFilePath(OpenDlg1.FileName);
Simples assim.
Responder

Gostei + 1

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar