Hirdetés
- Ha nem növelnéd feleslegesen a villanyszámlád, a Chieftecnek van pár új ajánlata
- ARC vs eARC — Ilyet is tud a HDMI-d? 🤨
- A következő évtizedbe repíti a NAND hatékonyságát a Samsung új kutatása
- ASUS blog: kisebb, de nem gyengébb – a mini PC-k forradalma
- 5 kilowattos GPU-k előtt nyitná meg az utat az Intel
Új hozzászólás Aktív témák
-
válasz
Parameter
#4109
üzenetére
Amúgy félrenéztem a tábládat - első pillantásra az időből azt gondoltam, hogy csökkenő sorrendben van (valójában növekvőben, csak megzavart a végén a reggel 7 óra). Ehhez nem jó a programom, hanem az a leírás használható, amit a hsz-om végén írtam (ha megfordítod a logok sorrendjét excelben, akkor mondjuk jó lesz). Amúgy elég problémás egy olyan log, amiben az idö mellett nincs dátum...
-
válasz
Parameter
#4109
üzenetére
De amit becsatoltál, az excel volt - ezért VBA-ban írtam meg... Milyen formában elérhetők a kódok?
Favágó logika: végigmegyek soronként és ha valahol OUT van, akkor (szubrutinban) a következőtől kezdve megkeresem az első IN-t és összehasonlítom a megfelelő mezőket. Ha egyeznek, akkor a végére kiírom az időt, ha nem találok egyezőt, akkor kiírom, hogy nincs egyező.
Ezzel amúgy két probléma van
1) ha valamiért nincs IN (nem került be a logba), akkor egy korábbi IN-t fog megtalálni (esetleg több out is megkapja ugyanazt az IN időpontot)
2) Ha nagyon hosszú a fájl és hosszúak a session-ök, akkor közel exponenciálisan nö a feldolgozási időEnnél jobb módszer, ha sorban dolgozod fel a logokat és egy struktúrába berakod az összes OUT-ot és menet közben szépen ellenőrzöd az IN-eket is. Ha találtál párt akkor az adott OUT sorát frissíted, majd kiveszed a struktúrából. Ami pedig a feldolgozás végén marad, ahhoz odaírod, hogy nem találtál IN-t.
Ez a módszer fájl-alapú logolásnál működhet, de azok a session-ök nem lesznek azonosíthatók, amelyek nyitása az előző fájlokban voltak.Ha pedig realtime log feldolgozás van (syslog) - vagy a log (egyébként így szokott lenni) időrendben növekvő (legkorábbi esemény van a fájl elején) rendben van, akkor érdemes az IN-eket letárolni (mivel ugye azt kapod meg először). Ha később jön egy (neki megfelelő) OUT sor, akkor az ahhoz tartozó IN dátumát beírni mellé és az IN-t kivenni az ideiglenes tárból...
-
válasz
Parameter
#4105
üzenetére
Mondjuk ennek semmi köze nincs a C#-hoz...
Public Sub TestLogout()
Dim c As Range
For Each c In Sheet1.UsedRange.Columns(2).Cells
If c.Value = "OUT" Then
Set c = c.EntireRow
Set Row = FindRelativeRow(c)
If Row Is Nothing Then
c.Columns(6).Value = "No Entries Found"
Else
c.Columns(6).Value = Row.Columns(1)
End If
End If
Next
End Sub
Private Function FindRelativeRow(currentRow As Range) As Range
For r = currentRow.Row + 1 To Sheet1.UsedRange.Rows.Count
If Sheet1.UsedRange.Cells(r, 2).Value = "IN" Then
If Sheet1.UsedRange.Cells(r, 3).Value = currentRow.Columns(3) And _
Sheet1.UsedRange.Cells(r, 4).Value = currentRow.Columns(4) And _
Sheet1.UsedRange.Cells(r, 5).Value = currentRow.Columns(5) Then
Set FindRelativeRow = Sheet1.UsedRange.Rows(r)
Exit Function
End If
End If
Next
Set FindRelativeRow = Nothing
End Function
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Lenovo ThinkPad P15 Gen 1 Tervező Vágó Laptop -50% 15,6" i7-10750H 32/512 QUADRO T1000 4GB
- Dell LAtitude 7490 FHD, TOUCH, i7-8565U CPU, 16GB DDR4, 512GB SSD, 27% ÁFÁS SZÁMLA, 1ÉV GARANCIA!
- Üzletből, Lenovo garanciával ThinkPad E14 Gen 5/ Intel Core i5-1335u/16GRAM/512SSD/FULL HD +kijelző
- HP Elitebook 840 G6 FHD, i7-8565U CPU, 16GB DDR4, 512GB SSD, 27% ÁFÁS SZÁMLA, 1ÉV GARANCIA!
- HP Elitebook 840 G5 FHD, i7-8550U CPU, 16GB DDR4, 512GB SSD, 27% ÁFÁS SZÁMLA, 1ÉV GARANCIA!
- HOWEAR HW ULTRA 3 Call okosóra
- AZONNALI SZÁLLÍTÁS Eredeti Microsoft Office 2019 Professional Plus
- HIBÁTLAN iPhone 14 Pro Max 128GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3910, 100% Akksi
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3060, 100% Akkumulátor
- PlaySation 5 Slim // Bontatlan /// 27% Áfás
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



