Vraag : Behoefte om de routine van de gegevensschoonmaakbeurt in VB te optimaliseren

De goedemorgen,

I heeft een 20MB pijp afgebakend dossier dat van Vooruitgang 9.1e werd uitgevoerd.  Het bevat „als tekstbepalende woorden.  Mijn probleem is dat sommige tekstgebieden lijnonderbrekingen bevatten (CRLF), wat ook is schreef het eind van verslag marker.

I de code in bijlage aan strook uit dubbele citaten en verwijdert dan CRLFs die op de tekstgebieden worden ingebed.  Ik ben blij om de code works.

HOWEVER te zeggen, blijkt het dat het ongeveer 10 uren zal vergen om het dossier te lezen binnen, wat unkowntijd om dan nog eens 10 uren de bijgewerkte dossierrug te verwerken en waarschijnlijk uit te schrijven.  

So ik kijk om het proces door oh te optimaliseren zeg een dag of twee.  Ik heb betere methodes voor te lezen en gezocht te schrijven maar niet kunnen voorkomen het dossier out.

The tweede een 20KB segment gegevens die is de onechte hulp CRLFs.

Any zeer zou gewaardeerd worden tonen.  Ik ben niet trots over wat de oplossing is, kan ik de code uit werpen.  Als er manier om van Vooruitgang zonder extra CRLFs of een betere taal (hoewel VB het enige ding is dat wij) hebben geïnstalleerd of een beter algoritme is uit te voeren eerder dan het gebruiken van een serie, ben ik open.

Thank u vooraf voor uw hulp.


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:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
Sub ReadChars ()

Schemerige strCharacters (20000000) als Koord * 1
Schemerige intCharcount, intMaxChars zoals lang

Schemerige booIsQuote zoals Van Boole
Schemerige I, j zoals lang

Reeks objFSO = CreateObject („Scripting.FileSystemObject“)
Vastgestelde objfile = objFSO.opentextfile („x:\TCB\Purchasing\08 de Omzetting \ o_bp-inspect.txt“, 1 - van 09 \- ERP \- Gegevens)


Het 'dossier van de input
intCharcount = 0
strSentence = ""
Doe tot objfile.AtEndOfStream
    strCharacters (intCharcount) = objfile.read (1)

    intCharcount = intCharcount + 1

Lijn

objfile. Sluit



'Verwijder Dubbele Citaten op de gebieden van de Tekst, zijn er een paar onechte instanties
i = 0
strPattern = „|“ & Chr$ (34) & Chr$ (34) & „|“
Doe tot I = intCharcount - 1

    
    Als strCharacters (I) & strCharacters (I + 1) & strCharacters (I + 2) & strCharacters (I + 3) <> strPattern toen GoTo Skip1
      strCharacters (I + 1) = Chr$ (0)
      strCharacters (I + 2) = Chr$ (0)

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

Lijn



'Verwijder CR/LF tussen citaten
i = 0
j = 0


Doe tot I = intCharcount - 1

   Als strCharacters (I) = Chr$ (34) Dan
    booIsQuote = niet booIsQuote
    Skip van GoTo
    Eind als
   Als (strCharacters (I) = Chr$ (10) of strCharacters (I) = Chr$ (13)) En booIsQuote toen
    strCharacters (I) = „„
    Eind als
    
skip:
   i = I + 1
   
Lijn


'Schrijf Serie aan dossier

Plaats outfso = CreateObject („Scripting.FileSystemObject“)
Plaats outfile = outfso.createtextfile („x:\TCB\Purchasing\08 - de Omzetting \ o_bp-inspect1.txt van 09 \- ERP \- Gegevens“, Waar)

i = 0
Doe tot I = intCharcount - 1

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

Lijn


outfile. Sluit

Beëindig Sub
" codeBody "
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:
0|? |ja|0|"
„|""|? |? |0|0|""|""|0|0|0|""|""|0|0|""|0|0|0|0|""|""|""|? |""
0|? |ja|0|""|""|? |? |0|0|""|""|0|0|0|""|""|0|0|""|0|0|0|0|""|""|""|? |""
0|? |ja|0|""|""|? |? |0|0|""|""|0|0|0|""|""|0|0|""|0|0|0|0|""|""|""|? |""
0|? |ja|0|""|""|? |? |0|0|""|""|0|0|0|""|""|0|0|""|0|0|0|0|""|""|""|? |""
0|? |ja|0|""|""|? |? |0|0|""|""|0|0|0|""|""|0|0|""|0|0|0|0|""|""|""|? |""
0|? |ja|0|""|""|? |? |0|0|""|""|0|0|0|""|""|0|0|""|0|0|0|0|""|""|""|? |""
0|10/31/06|ja|57.25|" ENGEL RIVAS "|""|? |? |0|0|""|" 140 "|0|20060001|1|" N "|""|0|0|""|0|0|0|0|""|""|""|? |""
0|11/16/06|nr|57.25|" ENGEL RIVAS "|" MISSEN RISET POP AAN KANT VAN HET SPOOR VAN DE BODEM IN TERRAS 6 "" O.C "|? |? |0|0|""|" 140 "|0|20060002|1|" N "|""|0|1|""|0|0|0|0|""|""|""|? |""
0|11/20/06|ja|57.25|" AURELIO RAMOS "|""|? |? |0|0|""|" 140 "|0|20060002|2|" N "|""|0|0|""|0|0|0|0|""|""|""|? |""
0|10/26/06|ja|57.25|" ENGEL RIVAS "|""|? |? |0|0|""|" 140 "|0|20060003|1|" N "|""|0|0|""|0|0|0|0|""|""|""|? |""
0|""|0|0|0|0|""|""|""|? |""
0|12/08/06|nr|57.25|" AURELIO RAMOS "|" INSPECTIE VAN DE GROND VAN DE BEHOEFTE DE ELEKTRO
BEHOEFTE NOC "|? |? |0|0|""|" 140 "|0|20060021|1|" N "|""|0|7|""|0|0|0|0|""|""|""|? |""
0|03/07/07|nr|57.25|" FELIX POUSA "|" NIET IN OVEREENSTEMMING ZIJND MET GERENOVEERDE KUNST 680 "|? |? |0|0|""|" 601 "|0|20060021|1|" N "|""|0|4|""|0|0|0|0|""|""|""|? |""
0|03/08/07|nr|57.25|" PETER WAGONER "|" NO ONE HUIS "|? |? |0|0|""|" 140 "|0|20060021|2|" N "|""|0|5|""|0|0|0|0|""|""|""|? |""
0|03/19/07|nr|57.25|" FELIX POUSA "|" 1. NIET IN OVEREENSTEMMING ZIJND MET NEC 2005 
90.2A
110.3B
300.5

2. BETAAL RE-PRIJS "|? |? |0|0|""|" 601 "|0|20060021|2|" N "|""|0|2|""|0|0|0|0|""|""|""|? |""
0|02/21/08|ja|57.25|" RAUL RODRIGUEZ "|" ZIE VERGUNNING #2007-3249 VOOR DEF. " VERKIEZEN|? |? |0|0|""|" 140 "|0|20060021|3|" N "|""|0|6|""|0|0|0|0|""|""|""|? |""
0|01/05/08|ja|57.25|" CARLOS BERTOT "|""|? |? |0|0|""|" 601 "|0|20060021|3|" N "|""|0|3|""|0|0|0|0|""|""|""|? |""
0|01/11/07|ja|57.25|" HENRY WILLIS "|""|? |? |0|0|""|" 039 "|0|20060022|1|" N "|""|0|0|""|0|0|0|0|""|""|""|? |""
0|11/21/06|nr|57.25|" ENGEL RIVAS "|" GEEN GEVONDEN ADRES "|? |? |0|0|""|" 140 "|0|20060023|1|" N "|""|0|1|""|0|0|0|0|""|""|""|? |""
0|11/22/06|ja|57.25|" ENGEL RIVAS "|""|? |? |0|0|""|" 140 "|0|20060023|2|" N "|""|0|0|""|0|0|0|0|""|""|""|? |""
0|11/15/06|ja|57.25|" AURELIO RAMOS "|""|? |? |0|0|""|" 140 "|0|20060024|1|" N "|""|0|1|""|0|0|0|0|""|""|""|? |""
0|11/09/06|ja|57.25|" ENGEL RIVAS "|""|? |? |0|0|""|" 001 "|0|20060024|1|" N "|""|0|0|""|0|0|0|0|""|""|""|? |""
0|11/20/06|ja|57.25|" AURELIO RAMOS "|""|? |? |0|0|""|" 001 "|0|20060025|1|" N "|""|0|1|""|0|0|0|0|""|""|""|? |""
0|11/27/06|ja|57.25|" ENGEL RIVAS "|""|? |? |0|0|""|" 140 "|0|20060025|1|" N "|""|0|0|""|0|0|0|0|""|""|""|? |""
0|? |nr|57.5|""|""|? |? |0|0|""|" 640 "|0|20060026|1|" N "|""|0|1|""|0|0|0|0|""|""|""|? |""
0|11/15/06|nr|57.25|" AURELIO RAMOS "|" GEEN VERGUNNING "|? |? |0|0|""|" 001 "|0|20060027|1|" I "|""|0|3|""|0|0|0|0|""|""|""|? |""
0|11/16/06|ja|57.25|" AURELIO RAMOS "|""|? |? |0|0|""|" 001 "|0|20060027|2|" N "|""|0|0|""|0|0|0|0|""|""|""|? |""
0|11/22/06|nr|57.25|" AURELIO RAMOS "|" GEEN VERGUNNING "|? |? |0|0|""|" 140 "|0|20060027|1|" I "|""|0|2|""|0|0|0|0|""|""|""|? |""
0|11/28/06|ja|57.25|" ENGEL RIVAS "|""|? |? |0|0|""|" 140 "|0|20060027|2|" N "|""|0|1|""|0|0|0|0|""|""|""|? |""
0|? |nr|57.5|""|""|? |? |0|0|""|" 640 "|0|20060028|1|" N "|""|0|1|""|0|0|0|0|""|""|""|? |""
0|11/16/06|nr|57.25|" ENGEL RIVAS "|" LOSSE ANKERS
LEEFT DE HOOGSTE COMMISSIE VAN VOORDEUREN NIET MIN AFSTAND VAN DE RAND NA
DE ONTBREKENDE LADING CALC VAN DE WIND
DE ACHTER HARMONIKA KON MAXIMUM SPANWIJDTE " OVERSCHRIJDEN|? |? |0|0|""|" 140 "|0|20060029|1|" N "|""|0|1|""|0|0|0|0|""|""|""|? |""
0|01/17/07|ja|57.25|" HENRY WILLIS "|""|? |? |0|0|""|" 140 "|0|20060029|2|" N "|""|0|0|""|0|0|0|0|""|""|""|? |""
0|11/28/06|ja|57.25|" ENGEL RIVAS "|""|? |? |0|0|""|" 140 "|0|20060030|1|" N "|""|0|1|""|0|0|0|0|""|""|""|? |""
0|11/20/06|ja|57.25|" ENGEL RIVAS "|""|? |? |0|0|""|" 140 "|0|20060031|1|" N "|""|0|0|""|0|0|0|0|""|""|""|? |""
0|11/03/06|ja|57.25|" AURELIO RAMOS "|""|? |? |0|0|""|" 140 "|0|20060032|1|" N "|""|0|2|""|0|0|0|0|""|""|""|? |""
0|11/14/06|ja|57.25|" ENGEL RIVAS "|""|? |? |0|0|""|" 001 "|0|20060033|1|" N "|""|0|2|""|0|0|0|0|""|""|""|? |""
0|12/21/06|nr|57.25|" PETER WAGONER "|" INSTORTING IN GATEN, ONVOLLEDIGE HET HUIS VAN DE BEHANDELING VAN HET EIND @ „|? |? |0|0|""|" 001 "|0|20060050|1|" N "|""|0|2|""|0|0|0|0|""|""|""|? |""
0|01/09/07|ja|57.25|" PETER WAGONER "|""|? |? |0|0|""|" 140 "|0|20060050|1|" N "|""|0|3|""|0|0|0|0|""|""|""|? |""
0|11/28/06|ja|57.25|" Engel Rivas "|""|? |? |0|0|""|" 001 "|0|20060051|1|" N "|""|0|3|""|0|0|0|0|""|""|""|? |""
0|12/06/06|nr|57.25|" Aurelio Ramos "|" geen vergunning
„|? |? |0|0|""|" 140 "|0|20060051|1|" N "|""|0|2|""|0|0|0|0|""|""|""|? |""
0|12/11/06|nr|57.25|" Engel Rivas "|""|? |? |0|0|""|" 140 "|0|20060051|2|" N "|""|0|0|""|0|0|0|0|""|""|""|? |""
0|12/13/06|ja|57.25|" Aurelio Ramos "|""|? |? |0|0|""|" 140 "|0|20060051|3|" N "|""|0|1|""|0|0|0|0|""|""|""|? |""
0|11/30/06|nr|57.25|" engelenrivas "|" geen gepost adresaantal. geen doorboorde inspectiepost plaatste meer dan 4 ' 0 "" o.c. „uit elkaar|? |? |0|0|""|" 140 "|0|20060052|1|" N "|""|0|4|""|0|0|0|0|""|""|""|? |""
0|12/05/06|ja|57.25|" engelenrivas "|""|? |? |0|0|""|" 001 "|0|20060052|1|" N "|""|0|1|""|0|0|0|0|""|""|""|? |""
0|12/07/06|ja|57.25|" engelenrivas "|""|? |? |0|0|""|" 140 "|0|20060052|2|" N "|""|0|2|""|0|0|0|0|""|""|""|? |""
0|01/26/07|ja|57.25|" Peter Wagoner "|""|? |? |0|0|""|" 001 "|0|20060052|2|" N "|""|0|0|""|0|0|0|0|""|""|""|? |""

Antwoord : Behoefte om de routine van de gegevensschoonmaakbeurt in VB te optimaliseren

Ik heb me niet geprobeerd maar google kwam met overvloed van opties op de proppen.

Bovenkant van de lijst: http://www.soft32.com/download_194850.html

Freeware- kijkt eenvoudig en efficiënt.

L
Andere oplossingen  
 
programming4us programming4us