Guinho.TI Postado Agosto 7, 2007 Denunciar Share Postado Agosto 7, 2007 (editado) 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#25Self.SiglaSist = 07e 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-POS9030temp = A#07#25#POS9030Self.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 Agosto 8, 2007 por Guinho.TI Incluída tag's CODE para melhorar a visualização. Utilize a identação também ;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Jonas -- Postado Agosto 10, 2007 Denunciar Share Postado Agosto 10, 2007 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; Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guinho.TI
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
** 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.TIIncluí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
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.