Fórum Copy e Pos Delphi #572984
20/12/2016
0
Tenho esse caminho 'C:\\Users\\vinic\\Desktop\\Atoa\\Win32\\Debug\\Teste.exe' em uma variável string, queria saber como faço para copiar depois da ultima '\\' no caso, somente o nome do arquivo.
Obrigado!
Vinicius
Curtir tópico
+ 0Posts
20/12/2016
Raimundo Pereira
Gostei + 0
20/12/2016
Raimundo Pereira
Clipbrd,
begin
Clipboard.AsText:=(ExtractFileName(Application.ExeName));
ShowMessage(Clipboard.AsText);
Gostei + 0
20/12/2016
Vinicius
Gostei + 0
20/12/2016
Roberto Wutke
Gostei + 0
20/12/2016
Alberto
Meu_Caminho := 'C:\\\\Users\\\\vinic\\\\Desktop\\\\Atoa\\\\Win32\\\\Debug\\\\Teste.exe';
Dir := ExtractFilePath( Meu_Caminho );
Arquivo := ExtractFileName( Meu_Caminho );
Resultado:
Dir = 'C:\\\\Users\\\\vinic\\\\Desktop\\\\Atoa\\\\Win32\\\\Debug\\\\'
Arquivo = 'Teste.exe'
Gostei + 0
20/12/2016
Vinicius
Consegui, colocando o caminho revertido e copiei até o primeiro '\\', depois reverti novamente para retornar o nome correto.
Gostei + 0
23/12/2016
Marco Antônio
Vc fez tudo isso ao invés de usar ''ExtractFilePath''?
Estranho.
Gostei + 0
28/12/2016
Vinicius
Gostei + 0
28/12/2016
Gutierry Pereira
para cada caminho utilize o ExtractFilePath e ele ira retornar o nome do arquivo pra ti.
Não entendi o problema com a função.
Bom caso não queira utilizar ele um método mais elegante seria jogar seu caminho em uma array, quebrando pela '/' , dessa forma basta capturar a ultima posição no array, ela sempre corresponderá ao nome do arquivo, e caso deseje pegar alguma outra prte do caminho basta percorrer o array.
Utilizar um stringList tambem funciona
var meuStringList : TStringList: begin meuStringList := TStringList.Create(); try meuStringList .Text := StringReplace(caminho,'/',#13#10); result := meuStringList [length(meuStringList)-1]; finally freeandNil(meuStringList); end;
Gostei + 0
09/01/2017
Jonatas Alves
Desculpe o atraso para responder.
Para resolver este problema....é necessário fazer o seguinte:
// Início do Exemplo
var
pathFile, fileName: string ;
begin
pathFile := ''C:\\\\\\\\Users\\\\\\\\vinic\\\\\\\\Desktop\\\\\\\\Atoa\\\\\\\\Win32\\\\\\\\Debug\\\\\\\\Teste.exe''
pathFile := StringReplace( pathFile, ''\\\\\\\\'', ''\\\\'', [rfReplaceAll, rfIgnoreCase]) ;
fileName := ExtractFileName( pathFile ) ;
end ;
na variável ''fileName'' você vai obter "Teste.exe" ;
// fim do exemplo
Gostei + 0
09/01/2017
Jonatas Alves
Ficou bugada a outra resposta, mals aeee...
Para resolver este problema....é necessário fazer o seguinte:
// Início do Exemplo
var pathFile, fileName: string ; begin pathFile := ''C:\\\\Users\\\\vinic\\\\Desktop\\\\Atoa\\\\Win32\\\\Debug\\\\Teste.exe'' pathFile := StringReplace( pathFile, ''\\\\'', ''\\'', [rfReplaceAll, rfIgnoreCase]) ; fileName := ExtractFileName( pathFile ) ; end ;
na variável ''fileName'' você vai obter "Teste.exe" ;
// fim do exemplo
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)