Pergunta : Precisar de aperfeiçoar a rotina da limpeza dos dados em VB

A boa manhã,

I tem uma lima 20MB limitada tubulação que seja exportada do progresso 9.1e.  Contem “como qualificadores do texto.  Meu problema é que alguns campos do texto contêm a linha rupturas (CRLF), que é igualmente a extremidade de registro marker.

I escreveu o código unido para descascar para fora as citações dobro e para remover então o CRLFs que são encaixadas nos campos do texto.  Eu estou contente de dizer o código works.

HOWEVER, parece que tomará aproximadamente 10 horas para ler dentro a lima, algum tempo do unkown para processar para fora e outras 10 horas para escrever então provavelmente a parte traseira atualizado da lima.  o

So que eu estou olhando para aperfeiçoar o processo por oh diz um dia ou dois.  Eu tenho procurado melhores métodos para que como leia e escreva mas não poderia figurar lima de out.

The segundo é um segmento 20KB dos dados que mostram que a ajuda especulativo de CRLFs.

Any estaria apreciada extremamente.  Eu não sou orgulhoso sobre o que a solução é, mim posso jogar o código para fora.  Se há uma maneira de exportar do progresso sem o CRLFs adicional ou uma língua melhor (embora VB é a única coisa que nós instalamos) ou um algoritmo melhor um pouco do que using uma disposição, eu sou open.

Thank você adiantado para seu auxílio. class= " lineNumbers " >
1 do >


Sub codeBody ReadChars do " prettyprint " " do class= do id= " codeSnippet766107 do >
 então Skip1 empreendedores strPattern dos strCharacters (i + 3)
      strCharacters (i + 1) = Chr$ (0)
      strCharacters (i + 2) = Chr$ (0)

      i = i + 2
Skip1:
    i = i + 1

Laço



'Remover CR/LF entre citações
i = 0
j = 0


Fazem até i = o intCharcount - 1

   Se strCharacters (i) = Chr$ (34) então
    booIsQuote = não booIsQuote
    Faixa clara empreendedores
    Terminar se
   Se (strCharacters (i) = Chr$ (10) ou strCharacters (i) = Chr$ (13)) E booIsQuote então
    strCharacters (i) = ““
    Terminar se
    
faixa clara:
   i = i + 1
   
Laço


'Escrever a disposição à lima

Ajustar o outfso = o CreateObject (“Scripting.FileSystemObject”)
Ajustar outfile = outfso.createtextfile (“x:\TCB\Purchasing\08 - 09 \ ERP \ conversão de dados \ o_bp-inspect1.txt”, verdadeira)

i = 0
Fazem até i = o intCharcount - 1

	outfile.write (strCharacters (i))
	i = i + 1

Laço


outfile. Fim

Submarino da extremidade
class= > " desobstruído " de 
class= > " desobstruído " do
> do " codeSnippet " do class= do
class= " lineNumbers " do
class= do
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
class= >0 " notpretty " do id= " codeSnippet766113 " do
class= do

Resposta : Precisar de aperfeiçoar a rotina da limpeza dos dados em VB

Eu não me tentei mas o google veio acima com abundância das opções.

Parte superior da lista: http://www.soft32.com/download_194850.html

O freeware olha simples e eficaz.

L
Outras soluções  
 
programming4us programming4us