Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Nadgledanje i obrada txt fajla cija se duzina stalno povecava

[es] :: Visual Basic 6 :: Nadgledanje i obrada txt fajla cija se duzina stalno povecava

[ Pregleda: 3929 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

cikiste

Član broj: 19599
Poruke: 62
216.236.216.*



Profil

icon Nadgledanje i obrada txt fajla cija se duzina stalno povecava24.01.2004. u 11:21 - pre 246 meseci
Pozdrav ljudi!

Interesuje me da li ste se sretali (i kako resavali) problem sledece vrste.
Na hardu se nalazi fajl koji sluzi kao svojevrstan log file. U njega se neprestano dodaju redovi podataka odredjene strukture. Zadatak je da se napravi program koji "nadgleda" taj log fajl, iscitava novoupisane redove i to kasnije prosledjuje negde (recimo u excell tabelicu ili negde slicno).
Moja razmisljanja: posto log fajl moze da raste meni nepoznato koliko, iscitavanje broja linija, pa poredjenje sa prethodno obradjenim brojem pa kasnije obrada svega toga je pretpostavljam neupotrebljiva (ili nije).
Stoga, ima li neko neku ideju?

S postovanjem,
Ivan.
 
Odgovor na temu

mladenovicz
Zeljko Mladenovic
Xoran Technologies, Inc., Ann Arbor, MI,
USA / Software Engineer
Ann Arbor, MI, USA

Član broj: 6598
Poruke: 2065
*.yubc.net

Jabber: mladenovicz@elitesecurity.org
ICQ: 95144142
Sajt: yubc.net/~mz


Profil

icon Re: Nadgledanje i obrada txt fajla cija se duzina stalno povecava25.01.2004. u 15:11 - pre 246 meseci
Za taj log fajl bi mozda zgodnije bilo koristiti XML umesto .txt fajla, jer je sa XMLom (bar po meni) lagodnije raditi. Taj XML bi mogao da izgleda ovako nekako:

Code:

<LogData>
    <LogItem ..... />
    <LogItem ..... />
    <LogItem ..... />
    <LogItem ..... />
</LogData>


E sad svaki LogItem cvor moze da ima atribut Processed="True/False", koji kaze da li je obradjen ili ne. Ili jos bolje, da root node ima atribut koji predstavlja informaciju o poslednjem obradjenom cvoru, posto sa ovakvom strukturom mozes pristupiti cvoru na osnovu rednog broja.

Code:

<LogData LastProcessed ="12">
    <LogItem ..... />
    <LogItem ..... />
    <LogItem ..... />
    <LogItem ..... />
</LogData>


Kad pocnes obradu log fajla, ucitas XML u DOMDocument, i pristupis LastProcessed+1 cvoru i od njega radis obradu. Ne moras da vodis racuna o broju linija i sl.

Ako ne mozes da koristis xml umesto txt, onda probaj da negde u fajlu (na pocetku?) cuvas informaciju o poslednjem obradjenom zapisu, ili da svaki zapis ima informaciju o tome da li je obradjen ili ne.
 
Odgovor na temu

cikiste

Član broj: 19599
Poruke: 62
*.ptt.yu.



Profil

icon Re: Nadgledanje i obrada txt fajla cija se duzina stalno povecava25.01.2004. u 17:49 - pre 246 meseci
Za taj log fajl bi mozda zgodnije bilo koristiti XML umesto .txt fajla, jer je sa XMLom (bar po meni) lagodnije raditi. Taj XML bi mogao da izgleda ovako nekako:

Nazalost ne moze. Taj tzv. Log file generise PLC u toku procese proizvodnje te i sama mogucnost uticaja na format toga "cuda" nije realna. Znaci rade se o txt (ni sam ne znam da li je svaki red formatizovan ili je nesto zbudzeno)
 
Odgovor na temu

markotasic
BALKAN

Član broj: 8815
Poruke: 93
*.yubc.net.

Sajt: sartarata.port5.com


Profil

icon Re: Nadgledanje i obrada txt fajla cija se duzina stalno povecava26.01.2004. u 16:00 - pre 246 meseci
Code:

Open sfile For Input As #1
Do
  Input #1, ListText1
  List1.AddItem ListText1

step1:

If EOF(1) then 
 Goto step1:
End If
  
DoEvents
Loop
Close #1


//edit (mladenovicz): dodat code tag

[Ovu poruku je menjao mladenovicz dana 26.01.2004. u 18:57 GMT]
 
Odgovor na temu

mladenovicz
Zeljko Mladenovic
Xoran Technologies, Inc., Ann Arbor, MI,
USA / Software Engineer
Ann Arbor, MI, USA

Član broj: 6598
Poruke: 2065
*.yubc.net

Jabber: mladenovicz@elitesecurity.org
ICQ: 95144142
Sajt: yubc.net/~mz


Profil

icon Re: Nadgledanje i obrada txt fajla cija se duzina stalno povecava26.01.2004. u 16:27 - pre 246 meseci
Koriscenje GoTo statementa bez potrebe je jako losa praksa.

Citat:
MSDN:
Too many GoTo statements can make code difficult to read and debug. Use structured control statements (Do...Loop, For...Next, If...Then...Else, Select Case) whenever possible.


Code:

    FNum = FreeFile
    
    Open FileName For Input As FNum

    While Not EOF(FNum)
        Line Input #FNum, Lin
        
        ' radi nesto
    Wend

    Close FNum

 
Odgovor na temu

markotasic
BALKAN

Član broj: 8815
Poruke: 93
*.yubc.net.

Sajt: sartarata.port5.com


Profil

icon Re: Nadgledanje i obrada txt fajla cija se duzina stalno povecava26.01.2004. u 16:44 - pre 246 meseci
Svidja mi se tvoje resenje.
 
Odgovor na temu

cikiste

Član broj: 19599
Poruke: 62
*.beg.sezampro.yu



Profil

icon Re: Nadgledanje i obrada txt fajla cija se duzina stalno povecava26.01.2004. u 21:27 - pre 246 meseci
Citat:
mladenovicz:
Koriscenje GoTo statementa bez potrebe je jako losa praksa.

Citat:
MSDN:
Too many GoTo statements can make code difficult to read and debug. Use structured control statements (Do...Loop, For...Next, If...Then...Else, Select Case) whenever possible.


Code:

    FNum = FreeFile
    
    Open FileName For Input As FNum

    While Not EOF(FNum)
        Line Input #FNum, Lin
        
        ' radi nesto
    Wend

    Close FNum


Koliko razumem: Fajl se otvara periodicno i sekvencijalno iscitava od pocetka, liniju po liniju. Ok, neki brojac toliko si linija iscitao u prethodnoj iteraciji. Ali, ovo bi valjalo da se preskoci, tj. to sto sam iscitao u prethodnoj iteraciji i da se nastavi od mesta gde je nekada bio EOF bez nekih line input - wend "praznih" petlji.

Ivan.
 
Odgovor na temu

mladenovicz
Zeljko Mladenovic
Xoran Technologies, Inc., Ann Arbor, MI,
USA / Software Engineer
Ann Arbor, MI, USA

Član broj: 6598
Poruke: 2065
*.yubc.net

Jabber: mladenovicz@elitesecurity.org
ICQ: 95144142
Sajt: yubc.net/~mz


Profil

icon Re: Nadgledanje i obrada txt fajla cija se duzina stalno povecava27.01.2004. u 10:00 - pre 246 meseci
Pogledaj Text Stream objekat
i metode ReadLine i SkipLine, kao i property Line. Ili pogledaj Seek statement u MSDNu (za pozicioniranje na odredjeno mesto u fajlu).

 
Odgovor na temu

[es] :: Visual Basic 6 :: Nadgledanje i obrada txt fajla cija se duzina stalno povecava

[ Pregleda: 3929 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.