Abrir Diretório - Delphi, Kylix - Fórum Script Brasil
Abrir Diretório
Asked by luizf,
Location:Itapetiniga-SP
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.
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.
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.
E se souberem de um outro forum sobre o assunto (Delphi), me passa o endereço.
Para abrir o explorer numa pasta ->
st:='Explorer "C:\arquivos de programas"';
WinExec(PAnsiChar(st),SW_ShowNormal)
Para copiar texto de uma edit para área de transferencia->
Para saber o drive que está o programa->
ExtractFileDrive(paramstr(0));
Tá me testando é?
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
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
Opa, vamos supor que seu CD tenha uma pasta chamada dados, então para abri-la ficaria assim - >
st:='Explorer "' + ExtractFileDrive(ParamStr(0)) + '\Dados"';
WinExec(PAnsiChar(st),SW_ShowNormal);
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:';
Obrigado Thales, verei se consigo colocar sua dica em pratica.
// era para copiar para a area de transferencia
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.
Para fazer o inverso, funcionou.
// copia da area de transferencia
Eu copiei um texto qualquer e colei no edit clicando no button, deu certo, mas copiar do edit, não.
É porque só copia o texto selecionado da Edit, você não acha?
Então faça assim ->
Edit1.SelStart:=0;
Edit1.SelLength:=length(edit1.text);
Iniciante, c sabe como é.
Mas agora funcionou, muito obrigado.
Fiz um teste com copiar colar e recortar.
edit2.PasteFromClipboard;
// recorta para a area de transferencia
Edit3.SelStart:=0;
Edit3.SelLength:=length(edit3.text);
Edit3.CutToClipboard;
Voce não usa o Skype e/ou MSN, me passa por PM.
Não uso Skype nem MSN. Só bato papo no GameDesire.com Pool 8 [new] primeira sala da polônia. Aparece por lá.