Prevelika TXT datoteka

Pomoč pri izdelavi makrov
Odgovori
eBrane
Prispevkov: 19
Pridružen: To Jun 01, 2010 12:02 am

Prevelika TXT datoteka

Odgovor Napisal/-a eBrane »

Pozdravljeni,

želim obdelati velik txt file.

Pri tem tem pa imam težavo, da mi program ne dela, če je ta txt datoteka prevelika. Zadevo sem poskušal rešiti tako, da sem najprej obdelal prvih 10.000 znakov (dolžina stringa), nato drugih 10.000, itd. Vednar je postopek počasen (ker sem vsakič spremenil kodo).

Zanima me torej, kako naj deklariram variablo text, da bo mi makro iskal določene znake v njej tudi, če bo le-ta dolga tudi preko npr. 500.000 znakov...

Vnaprej hvala in lep pozdrav,

eBrane
eBrane
Prispevkov: 19
Pridružen: To Jun 01, 2010 12:02 am

Re: Prevelika TXT datoteka

Odgovor Napisal/-a eBrane »

Sem našel vzrok "težave". Besedilo v textovni datoteki sem iskal s pomočjo funkcije find, pa ni in ni šlo.

Sedaj sem uporabil instr in zadeva deluje!

LP,

eBrane.
eBrane
Prispevkov: 19
Pridružen: To Jun 01, 2010 12:02 am

Re: Prevelika TXT datoteka

Odgovor Napisal/-a eBrane »

.. zadevo sem s funkcijo instr pomalnik naprej, vendar je ostal temeljni problem. Težava je pri tekstovni datoteki, ki ima preko 5 mio znakov...

Ali ima kdo kakšen namig, kako naj zadevo rešim?

Hvala, eB.
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Prevelika TXT datoteka

Odgovor Napisal/-a admin »

Pozdravljeni,

Še vedno niste nikje natančno napisali, kaj sploh želite doseči. OK; v datoteki iščete nek niz znakov, a to ni dovolj za kakšen pameten nasvet. Povejte vsaj:
  1. Ali želite samo ugotoviti ali se niz v datoteki nahaja ali ne?
  2. Če to ni dovolj, zakaj to potrebujete; kaj želite potem početi naprej
  3. Ali ima datoteka vrstice in če da ali se celoten niz nahaja v eni vrstici ali pa se lahko nahaja preko več vrstic...
V kolikor želite smiselen odgovor povejte natančneje kaj želite. Vsekakor pa iskanje po tekstovnih datotekah v principu sledi preprostemu algoritmu:

Koda: Izberi vse

Odpri datoteko
Preberi vrstico
Dokler nisi na koncu datoteke 
  Preveri ali se iskan niz nahaja v trenutni vrstici
    Če se nahaja, potem pač nekaj naredi s trenutno vrstico
  Preberi naslednjo vrstico
Ponavljaj
lp,
Matjaž Prtenjak
Administrator
Odgovori