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

Como Pegar Caracteres Para Criar Um Novo Nome


Guinho.TI

Pergunta

Amigos,

Sou novo na área e possuo uma rotina (criada por outra pessoa) que cria nomes a partir de outros.

Ex:

**Arquivo: OPCMASTER#C01DAAE98661D0C0.J_002_A-07-025

{LENDO DADOS DO ARQUIVO DE LOG - CABEÇALHO}
while (indice <= arquivo.Count - 1) do
begin
  cont := cont + 1;
  linha := arquivo[indice];

  if (cont = 2) then
  begin
    temp := AnsiRightStr(linha, length(linha) - LastDelimiter('_', linha));
    temp := AnsiReplaceStr(temp, '-', '#');
    temp := Trim(temp);     
    self.SiglaSist := AnsiMidStr(temp, Pos('#', temp) + 1, LastDelimiter('#', temp) - Pos('#', temp)-1);
    modConn.querySelectIdAplic.Parameters.ParamByName('NomeAplic').value := temp;
  end

** Ao final deste trecho ele retorna dois valores:

temp = A#07#25

Self.SiglaSist = 07

e grava no Banco.

Ocorre que, surgiu um nome de arquivo maior que os comuns e por algum motivo o trecho está retornando um novo valor:

OPCMASTER#C01D119C207A1280.J_002_A-07-025-POS9030

temp = A#07#25#POS9030

Self.SiglaSist = 07#025 (quando deveria ser somente 07).

Gostaria de obter ajuda para fazer com que a rotina retorne o valor correto.

Desde já agradecido.

Editado por Guinho.TI
Incluída tag's CODE para melhorar a visualização. Utilize a identação também ;)
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Guest --Jonas --

Tenta esta modificação:

{LENDO DADOS DO ARQUIVO DE LOG - CABEÇALHO}
while (indice <= arquivo.Count - 1) do
begin
  cont := cont + 1;
  linha := trim(arquivo[indice]);

  if (cont = 2) then
  begin
    temp := trim(AnsiRightStr(linha, length(linha) - LastDelimiter('_', linha)));
    temp := trim(AnsiReplaceStr(temp, '-', '#'));

    self.SiglaSist := AnsiMidStr(temp, Pos('#', temp) + 1, LastDelimiter('#', temp) - Pos('#', temp)-1);
    modConn.querySelectIdAplic.Parameters.ParamByName('NomeAplic').value := temp;
  end;

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,8k
×
×
  • Criar Novo...