Copy e Pos Delphi
Olá, estou precisando de uma ajuda.
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!
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
Curtidas 0
Respostas
Raimundo Pereira
20/12/2016
Porque não pega apenas o nome do exe?
GOSTEI 0
Raimundo Pereira
20/12/2016
uses
Clipbrd,
begin
Clipboard.AsText:=(ExtractFileName(Application.ExeName));
ShowMessage(Clipboard.AsText);
Clipbrd,
begin
Clipboard.AsText:=(ExtractFileName(Application.ExeName));
ShowMessage(Clipboard.AsText);
GOSTEI 0
Vinicius
20/12/2016
É que nesse mesmo caminho, eu tenho vários arquivos, e eu preciso pegar o nome de cada um, vou colocar dentro de uma laço.
GOSTEI 0
Roberto Wutke
20/12/2016
Mas a ideia do amigo acima te ajuda... você tem que ir selecionando os arquivos que você quer, aí pra cada um que vc escolher vc faz os extract file name e salva nesse laço seu
GOSTEI 0
Alberto
20/12/2016
Var Dir, Arquivo, Meu_Caminho:String;
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'
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
Vinicius
20/12/2016
Obrigado pela ajuda pessoal!
Consegui, colocando o caminho revertido e copiei até o primeiro '\\', depois reverti novamente para retornar o nome correto.
Consegui, colocando o caminho revertido e copiei até o primeiro '\\', depois reverti novamente para retornar o nome correto.
GOSTEI 0
Marco Antônio
20/12/2016
Kra, a solução do Beto não resolveu?
Vc fez tudo isso ao invés de usar ''ExtractFilePath''?
Estranho.
Vc fez tudo isso ao invés de usar ''ExtractFilePath''?
Estranho.
GOSTEI 0
Vinicius
20/12/2016
ExtractFilePath não dá certo, pois, são vários arquivos e os caminhos mudam tbm...
GOSTEI 0
Gutierry Pereira
20/12/2016
Qual o problema do caminho mudar?
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
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
Jonatas Alves
20/12/2016
Olá,
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
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
Jonatas Alves
20/12/2016
Olá,
Ficou bugada a outra resposta, mals aeee...
Para resolver este problema....é necessário fazer o seguinte:
// Início do Exemplo
na variável ''fileName'' você vai obter "Teste.exe" ;
// fim do exemplo
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