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

(Resolvido) Função substring


Luckxander

Pergunta

Estou com o seguinte problema:

Tenho uma leitura no banco que gera um arquivo txt.

Num determinado campo, vem um texto grande, contendo inclusive espaços e mais de uma linha.

Eu estou tentando limitar esse campo a 50 caracteres.

Acontece que no momento do loop, o visual studio trava e dá mensagens do tipo index, collection, etc.

Se alguém puder me dar uma ajuda, o bloco é o seguinte:

for (int i = 0; i < odbcDR1.FieldCount; i++)
    {
        //se é o campo que quero, executo substring
                restoDivisao = i % 5;
                if (i == 5 || restoDivisao == 0)
                {
                                vals1[i] = vals1[i].ToString().Substring(1,50); //aqui é a linha do erro
                }

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

No caso do Loop, resolveu o problema, mas quando tem mais de uma linha, o erro continua.

Veja um exemplo de 2 linhas do txt que foi gerado.

1) linha - tudo ok

00000000380;'2009-10-13';Investigação;3;Incidente;USU INF QUE AO TENTAR INSTALAR BONUS DE LIGACOES ;Designado;MTR_MPN_SISRAF;Null;

2) linha - apareceu com quebra

00000000691;'2009-10-13';Investigação;4;Serviço;RETRANSMITIR O ARQUIVO COM O MESMO NOME

DEVE-SE ;Designado;HDK_COBI;Null;

>>> à partir da palavra DEVE-SE, apareceu na linha de baixo, porque existiam várias linhas.

Sabe como faço para corrigir isso ?

Preciso colocar os 50 caracteres na mesma linha ***

o código está assim:

for (int i = 0; i < odbcDR1.FieldCount; i++)
   {
                            restoDivisao = i % 5;
                            if (i == 5 || restoDivisao == 0)
                            {
                                if (vals1[i].ToString().Length > 50)
                                {
                                    vals1[i] = vals1[i].ToString().Substring(0, 49);
                                }
                            }

  etc...

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...