Ir para conteúdo
Fórum Script Brasil
  • 0

Abrir Diretório


luizf

Pergunta

Ola pessoal, sou novo no site.

É meu primeiro tópico e tambem sou novo em delphi e autodidata.

Preciso da ajuda dos senhores e senhoras.

Estou fazendo um programinha para rodar direto do cd, e preciso colocar no form 2 botões um para abrir um diretorio ao ser clicado, ou seja, abrir o windows explorer no diretorio especifico, mas esse diretorio pode ser do hd e/ou do cd, OK, outro botão para copiar para a area de transferencia do windows o que estiver escreto em um Edit .

Por favor me ajundem me dando essas dicas.

Muito Obrigado

Olha pessoal, se não puderem me dar esta dica, então me dê a seguinte:

Como esse programinha vai rodar direto do cd, gostaria que ele reconhecesse o drive em que ele esta sendo rodado.

Por exemplo:

Aqui em casa tenho o drive de CD = F:\ e o DVD = G:\.

Então, só como exemplo, se eu rodasse ele, aqui em casa no drive de CD. Eu clicaria num button e teria a resposta em edit = F, mas se fosse rodado na casa de outra pessoa poderia ser D:\ ou E:\ (é os dois que a maioria usa).

Entenderam, então o que preciso, é que o programa reconheça o drive em que ele esta sendo rodado.

Muito Obrigado.

E se souberem de um outro forum sobre o assunto (Delphi), me passa o endereço.

T+ :)

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Opa

Para abrir o explorer numa pasta ->

procedure TForm1.Button1Click(Sender: TObject);
var
  st : string;
begin
  st:='Explorer "C:\arquivos de programas"';
  WinExec(PAnsiChar(st),SW_ShowNormal)
end;
Para copiar texto de uma edit para área de transferencia->
Edit1.CopyToClipBoard;
Para saber o drive que está o programa->
ExtractFileDrive(paramstr(0));

Tá me testando é?

Abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado pela dica Thales.

Não estou te testando não, é que sou novato mesmo.

Vou ver o que consigo fazer com a tua dica.

Agora, quanto a abrir o explorer numa pasta especifica, não posso usar

st:='Explorer "C:\arquivos de programas"';

Pois, a pasta que desejo abrir não esta no disco rigido, e sim no cd que esta rodando o programa, entaum, não sei o drive, por isso quis saber como descobrir o drive em que esta sendo rodado o programa, para primeiro descobrir o drive, e juntar o drive com o caminha da pasta, por exemplo:

Drive = F:\

Pasta = "\Programas\Teste"

Entaum ficaria st:='Explorer "F:\Programas\Teste"';

Não entendi, muito bem como usar o ExtractFileDrive(paramstr(0));, onde eu coloco este codigo para descobrir o drive que esta sendo rodado o programa.

Ok, vou ver se consigo fazer isso usando a tua dica, mas se puder me dar mais dicas disso, fico grato.

Muito Obrigado e T+ :D

Link para o comentário
Compartilhar em outros sites

  • 0

Opa, vamos supor que seu CD tenha uma pasta chamada dados, então para abri-la ficaria assim - >

procedure TForm1.Button1Click(Sender: TObject);
var
  st : string;
begin
  st:='Explorer "' + ExtractFileDrive(ParamStr(0)) + '\Dados"';
  WinExec(PAnsiChar(st),SW_ShowNormal);
end;

O ExtractFileDrive apenas pega uma string que representa o caminho de um arquivo ou pasta e copia dela apenas a porção que identifica o drive ->

ExtractFileDrive('C:\Dados\Mulheres\Ellen Rocche\Ellen.jpg') = 'C:';

Ok?

Link para o comentário
Compartilhar em outros sites

  • 0

Ola Thales.

Fiz assim:

procedure TForm1.Button2Click(Sender: TObject);

begin

// era para copiar para a area de transferencia

Edit1.CopyToClipBoard;

end;

Mas, não copiou.

Criei um txt para colar e fazer o texte, mas colou no txt o que eu tinha copiado antes de clicar no button.

O que aconteceu?

Para fazer o inverso, funcionou.

procedure TForm1.Button3Click(Sender: TObject);

begin

// copia da area de transferencia

edit1.PasteFromClipboard;

end;

Eu copiei um texto qualquer e colei no edit clicando no button, deu certo, mas copiar do edit, não.

Não entendi.

T+ .

Link para o comentário
Compartilhar em outros sites

  • 0

Iniciante, c sabe como é.

Mas agora funcionou, muito obrigado.

Fiz um teste com copiar colar e recortar.

procedure TForm1.Button2Click(Sender: TObject);

begin

// era para copiar para a area de transferencia

Edit1.SelStart:=0;

Edit1.SelLength:=length(edit1.text);

Edit1.CopyToClipBoard;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

// copia da area de transferencia

edit2.PasteFromClipboard;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

// recorta para a area de transferencia

Edit3.SelStart:=0;

Edit3.SelLength:=length(edit3.text);

Edit3.CutToClipboard;

end;

Belezinha.

Voce não usa o Skype e/ou MSN, me passa por PM.

T+

.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...