Array
(
)

Pegar diretorio sem o nome do arquivo

Pjava
   - 15 ago 2012

Se uso isso, eu preciso de um arquivo pelo menos para trazer apenas o diretorio
string diretorio = System.IO.Path.GetDirectoryName(@C:\Diretorio\meu_arquivo.extensão);
O que eu quero é apenas o diretorio, onde não existe nenhum arquivo, uma pasta nova. Como eu faço?

Joel Rodrigues
   - 15 ago 2012

Certo, como você quer identificar essa pasta? Onde ela está? É necessária alguma referência para localizá-la.

0
|
0

Marcio
   - 15 ago 2012

blz?

tente com isso..

DirectoryInfo dirUsuario = new DirectoryInfo(diretorio);

falow

0
|
0

Pjava
   - 15 ago 2012

Com diretório vazio eu não consigo então. Tenho sempre que dar um nome ou pegar um arquivo, mas e se for um Dir novo, como eu pego ele. Não tem como?

0
|
0

Marcio
   - 15 ago 2012

não precisa informar o arquivo, somente o diretorio mesmo
não sei se é o que estou entendendo...

0
|
0

Joel Rodrigues
   - 15 ago 2012

Rapaz, alguma referência ao diretório tem que haver. Como você quer pegar o nome do diretório ´´do nada´´?

0
|
0

Pjava
   - 15 ago 2012

Isso, tipo:

O meu cliente criou essas pastas, por exemplo:

C:\Cls\Documento\Itau

Essas pastas passaram a existir, mas sem nada lá. Agora, tenho um aplicativo que roda e gera uma planilha Excel e no final salva dentros da pasta Itau, por exemplo. Só que antes de salvar, eu tenho que passar essa pasta para uma variável, chamada caminho que ela guarda esse caminho + nome_planilha.xls e exporta. Então, eu preciso somente carregar o caminho. Hoje ele está fixo no código, mas isso é Go Horse e quero mudar isso, "parametrizar" esse caminho à escolha do Cliente. Aí ele salva onde quiser.

0
|
0

Joel Rodrigues
   - 15 ago 2012

Essa pasta pode ser qualquer uma? Em qualquer lugar? Não seria mais fácil pedir para o cliente informar o diretório?

Por que você está praticamente querendo que o framework lhe informe onde o cliente criou uma pasta qualquer(que pasta?), aí é complicado, não acha?

Não sei se lhe interessa, mas existem classes para gerenciar diretórios, as quais permitem você saber se foram criados arquivos, alterados, excluídos, etc. Procure por FileSystemWatcher.

0
|
0

Pjava
   - 16 ago 2012

Quando eu trabalhava com Delphi, eu não tinha esse problema. Abria um OpenDialog e o usuário aí buscaria a pasta de trabalho, bem simples. O C# tem o OpenFileDialog, que eu uso, mas depende de uma arquivo na pasta, pois ele busca é o arquivo e não somente a pasta. Poderia colocar um lixo na pasta, pegar a pasta por esse lixo e depois renomear o nome do lixo, para um de preferência do usuário. Mas se o usuário quiser trabalhar em outra pasta, ele teria que criar uma outrop lixo lá e trabalhar. Não é o que eu gostaria. É algo bem simples, em java também é possível, só não estou sabendo fazer em C#. Não creio que o C# não tenha esse recurso de eu escolher uma pasta para poder trabalhar, somente a pasta, sem o nome do arquivo. É somente um Dialog, que eu não sei qual.

0
|
0

Pjava
   - 16 ago 2012

Só para exemplificar melhor. Quando estamos instalando um programa, ele sugere uma pasta default ou então, aquele famoso botão Browser, onde você escolhe a pasta. É exatamente isso que eu quero. Só que com OpenFileDialog eu abro o arquivo e não pasta, tanto que se não houver arquivo nele, a opção de escolha fica desabilitada.

0
|
0

Marcio
   - 16 ago 2012

ah já sei o que está precisando...
é tipo o SelectDirectory do delphi..
você informa apenas o diretório na caixa de diálogo ao invés de precisar informar um arquivo
na caixa de diálogo...captei.. rss

como nunca precisei fazer isso em .net achei o link abaixo na net... pode ser o que você está precisando..

http://msdn.microsoft.com/pt-br/library/system.windows.forms.folderbrowserdialog.aspx

falow

0
|
0

Pjava
   - 16 ago 2012

Vi que esse componente faz exatamente o que eu quero. Mas está dando erro no if

FolderBrowserDialog

0
|
0

Joel Rodrigues
   - 16 ago 2012

Que erro, PJava?
Por favor, nunca diga apenas ´´está dando erro´´, especifique logo qual erro está ocorrendo.

0
|
0

Pjava
   - 16 ago 2012

Consegui o que eu queria.

using (FolderBrowserDialog fbd = new FolderBrowserDialog())
if (fbd.ShowDialog() == DialogResult.OK)
{
edtDestino.Text = fbd.SelectedPath;
}

0
|
0

Pjava
   - 16 ago 2012

Consegui o que eu queria.

using (FolderBrowserDialog fbd = new FolderBrowserDialog())
if (fbd.ShowDialog() == DialogResult.OK)
{
edtDestino.Text = fbd.SelectedPath;
}

0
|
0

Joel Rodrigues
   - 16 ago 2012

Show de bola.
Eu não tinha entendido que você queria usar uma caixa de diálogo, só depois que você explicou melhor foi que ficou claro.
Estou encerrando o tópico.

0
|
0

Joel Rodrigues
   - 16 ago 2012

PJava, deixo como sugestão a leitura deste artigo: http://www.devmedia.com.br/conhecendo-as-caixas-de-dialogo-padrao-do-net-framework/25074

0
|
0