
VB-6 Open, write do txt současně
High,
otevřu texťák pomocí:
Open App.Path & "\Odposlech COM.txt" For Append As #1
Potřebuju z tohoto texťáku číst i ty prvotní zprávy současně s ukládáním. Jde to přímo?
Podle mě nejde. Soubor se reálně zapíše až když ho uzavřeš pro zápis - musel bys commitovat zápis co nejčastěji, ale to ti zase bude masakrózně zvyšovat režii.
Ale proč to děláš tak složitě? Není jednodušší si nejprve soubor načíst celý mrsknout obsah do nějakého listview (např. - pokud to chceš třeba zobrazovat) a následně k tomu dolepovat to, co paralelně zapisuješ?
Celý? Za pár dnů je to nabobtnalý na 300 MB. Když jsem nastavil paměť na jeden rok, tak to píše "Out off memory". Napadlo mě rozdělení textáků do několika s malým osahem a neotvírat celýho nafoukance z kterého budu analyzovat jen malý časový úsek.Navíc ten VB-6 pracuje s jedním jádrem CPU, takže to docela zatuhává, když to chci co nejrychleji.
Pak jedině jej otevřít pro čtení, přečíst, co potřebuješ a následně pro zápis (append) a dopsat, co potřebuješ
VB6 asi nezná TextStream, kde bys měl soubor dostupný pro čtení i zápis.
Tak "dobroch", do čtecí smyčky jsem napsal "DoEvents" a nic se zatím při zápisu neztratilo. Bez toho nevím, program zatuhne. Jak to tam ten stream práská to nevím, ale je mi to jedno když to funguje.
opravdu musíš vidět i data stará několik dní? Nestačil by buffer např. posledních 200 řádek?
edit: a ano, rotace logů např. po dnech/týdnech je taky rozumný nápad.
Po dnu, nakonec těch 365 txt není nějak pro vyhledávání zavalující. Chci hledat i roky zpět a porovnávat, až se to teda nastřádá.