ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Como usar um delimiter específico, importação de nomes?

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
juniorpinheiro
Novato
Novato


Registrado: Segunda-Feira, 11 de Novembro de 2019
Mensagens: 1

MensagemEnviada: Seg Nov 11, 2019 8:48 am    Assunto: Como usar um delimiter específico, importação de nomes? Responder com Citação

Olá amigos bom dia, estou com uma dúvida, e preciso de uma ajuda a quem poder fazer esse grande favor.
Estou importante para uma listview os nomes de músicas, para cadastro em um sistema, e o que preciso? Separar nome do artísta com o nome da música.
Então preciso usar o delimitador ' - '
Como podem ver, é um traço com espaço antes e depois, o porque deste motivo?
As vezes vem músicas com nomes que tem traço mas sem espaço, então ele irá separar só quando tiver o traço com espaço antes e depois:
Exemplo

José Souza - Deixe-me em paz

Como podem ver tem dois traços nesta música, mas quero que ele separe onde tem o traço com espaço:

artista música
José Souza Deixe-me em paz

Então como eu faria isso no código em delphi? como usar um delimiter pra isso?

Obrigado a todos.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Seg Nov 11, 2019 9:15 am    Assunto: Responder com Citação

Bom dia,

Segue uma alternativa de código para testes utilizando a função Pos para procurar o delimitador e as funções LeftStr e RightStr (será necessário adicionar a unit StrUtils na uses) para obter os trechos a esquerda e a direita da string:

Código:
procedure TForm1.Button1Click(Sender: TObject);
var
  s: string;
  p: integer;
begin
  s := 'José Souza - Deixe-me em paz';
  p := Pos(' - ', s);
  if p > 0 then
      ShowMessage(LeftStr(s, p - 1) +
                  sLineBreak +
                  RightStr(s, Length(s) - p - 2));
end;


Espero que ajude
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB