|  | 		    
					
        
         
          
         
	
          | |  | Tæl hvor mange poster med samme IP i ListV~ Fra : Morten Trab
 | 
 Dato :  08-02-03 16:30
 | 
 |  | Jeg har et listview i mit projekt, hvortil jeg tilføjer log-data fra min
 router...
 
 Jeg har nu brug for at få talt sammen hvor mange gange hver IP går igen...
 
 Hvordan kan jeg klare dette??
 
 Jeg har ladet mig fortælle at jeg nok skal bruge arrays og et par løkker,
 men kan simpelthen ikke gennemskue hvordan jeg kan klare det...Nogen der kan
 hjælpe??
 
 Mvh. Morten
 
 
 
 
 |  |  | 
  Tomas Christiansen (08-02-2003) 
 
	
          | |  | Kommentar Fra : Tomas Christiansen
 | 
 Dato :  08-02-03 23:05
 | 
 |  | Morten Trab skrev:
 > Jeg har et listview i mit projekt, hvortil jeg tilføjer log-data fra
 min
 > router...
 > Jeg har nu brug for at få talt sammen hvor mange gange hver IP går
 igen...
 
 I pseudokode kunne det se således ud:
 ---  ---  ---  ---  ---  ---  ---  ---  ---
 Opret tom samling af IP-adresser/TÆLLER.
 Åbn LOGFIL.
 Sålænge der er mere at læse i LOGFIL.
 Læs en linie fra LOGFIL.
 Find IP i den læste linie.
 Hvis en IP blev fundet i linien:
 Led efter IP i samlingen af IP-adresser.
 Findes IP i samlingen: Førøg dens TÆLLER med 1
 Ellers: Opret IP i samlingen og sæt TÆLLER lig 1.
 Hop tilbage til "sålænge".
 Luk LOGFIL.
 ---  ---  ---  ---  ---  ---  ---  ---  ---
 
 En "samling" af IP-adresser og tællere kan implementeres på flere
 forskellige måder.
 
 Èn måde er at bruge to tabeller. Den ene husker IP-adresserne og den
 anden tællerne.
 Eksempel:
 
 Dim tblIP(1 To 999) As String
 Dim tblTæller(1 To 999) As Long
 Dim lngAntalIP As Long
 
 Du skal bruge lngAntalIP til at huske det højeste indeks i tabellen
 som er i brug.
 
 Bemærk at tabellerne også kan oprettes som dynamiske tabeller, hvor
 der ikke fra starten afsættes en fast størrelse. Derved kan man udvide
 dem undervejs efter behov.
 
 Det aller-smarteste vil dog nok være at bruge en 'Collection' (evt. to
 styk af dem) til at indeholde IP-adresser og tællere. Med
 Collection-objekter behøver du ikke at løbe det hele igennem for at
 lede efter om IP-adressen ligger der i forvejen, men kan slå direkte
 op på den!
 
 -------
 Tomas
 
 
 
 
 
 
 
 |  |  | 
  PowerPoster (08-02-2003) 
 
	
          | |  | Kommentar Fra : PowerPoster
 | 
 Dato :  08-02-03 23:45
 | 
 |  | "Tomas Christiansen" <toc-nospam-01@blikroer.dk> skrev i en meddelelse
 news:b23usa$or8$1@news.cybercity.dk...
 
 [SNIP en hel masse underligt]
 
 Og til det kan jeg kun sige...Sikkert... :)
 
 Lige nu ligner jeg et totalt ?
 
 Mvh. Morten
 
 
 
 
 |  |  | 
   Morten Trab (08-02-2003) 
 
	
          | |  | Kommentar Fra : Morten Trab
 | 
 Dato :  08-02-03 23:53
 | 
 |  | Hvad skete der lige der??
 
 "PowerPoster" <powerpost@powerpost.org> skrev i en meddelelse
 news:3e458841$0$209$edfadb0f@dread14.news.tele.dk...
 > "Tomas Christiansen" <toc-nospam-01@blikroer.dk> skrev i en meddelelse
 > news:b23usa$or8$1@news.cybercity.dk...
 >
 > [SNIP en hel masse underligt]
 >
 > Og til det kan jeg kun sige...Sikkert... :)
 >
 > Lige nu ligner jeg et totalt ?
 >
 > Mvh. Morten
 >
 >
 
 
 
 
 |  |  | 
    Tomas Christiansen (09-02-2003) 
 
	
          | |  | Kommentar Fra : Tomas Christiansen
 | 
 Dato :  09-02-03 12:46
 | 
 |  | Morten Trab skrev:
 > Hvad skete der lige der??
 
 Det er vel én som ikke kan forstå pseudokode... ?
 
 Men hvad siger du til det - kan du bruge det til at komme videre?
 
 -------
 Tomas
 
 
 
 |  |  | 
     Morten Trab (09-02-2003) 
 
	
          | |  | Kommentar Fra : Morten Trab
 | 
 Dato :  09-02-03 13:56
 | 
 |  | "Tomas Christiansen" <toc-nospam-01@blikroer.dk> skrev i en meddelelse
 news:b25eva$226q$1@news.cybercity.dk...
 
 > Men hvad siger du til det - kan du bruge det til at komme videre?
 
 Slet ikke...Fatter keine af det...
 
 /Morten
 
 
 
 
 |  |  | 
  Jacob Laue Petersen (09-02-2003) 
 
	
          | |  | Kommentar Fra : Jacob Laue Petersen
 | 
 Dato :  09-02-03 15:29
 | 
 |  | > I pseudokode kunne det se således ud:
 
 Flot!
 
 God ide at beskrive det med pseudokode, giver en god logisk gennem gang.
 Noget man nok burde overveje at gøre mere ud af, istedet for bare at kaste
 sig ned i koden.
 
 Jacob Laue Petersen
 
 
 
 
 |  |  | 
   Morten Trab (09-02-2003) 
 
	
          | |  | Kommentar Fra : Morten Trab
 | 
 Dato :  09-02-03 16:25
 | 
 |  | "Jacob Laue Petersen" <j@a.p> skrev i en meddelelse
 news:3e4664d7$0$71664$edfadb0f@dread11.news.tele.dk...
 
 > God ide at beskrive det med pseudokode, giver en god logisk gennem gang.
 
 Og en masse der ikke fatter noget, og derved dumper denne gruppe da man ikke
 kan få noget hjælp som man kan brúge til noget
 
 /Morten
 
 
 
 
 |  |  | 
    Tomas Christiansen (09-02-2003) 
 
	
          | |  | Kommentar Fra : Tomas Christiansen
 | 
 Dato :  09-02-03 17:42
 | 
 |  | Morten Trab skrev:
 > Og en masse der ikke fatter noget, og derved dumper denne gruppe da
 man ikke
 > kan få noget hjælp som man kan brúge til noget
 
 Helt ærligt mand!
 Du skriver som om du forventer at du bare kan skrive: "Jeg har brug
 for dét og dét. Giv mig det!"
 Du bliver nødt til selv at arbejde lidt for sagen, vise at du selv
 yder en indsats, og så er vi mange, som gerne vil hjælpe dig.
 
 I dit indlæg skriver du "kan simpelthen ikke gennemskue hvordan jeg
 kan klare det". Jeg har fortalt dig i menneskeord hvordan problemet
 KAN løses.
 Glem ordet pseudokode, og læs hvad jeg har skrevet. Omsæt hver enkelt
 sætning til VB-kode, og voila!
 
 Det er jo (forhåbentlig) det samme som sker, når du foretager en
 analyse inde i dit hovede, og til sidst får det omsat til noget kode.
 Jeg har blot nedfældet det i et nyhedsgruppeindlæg.
 
 -------
 Tomas
 
 
 
 |  |  | 
     Morten Trab (09-02-2003) 
 
	
          | |  | Kommentar Fra : Morten Trab
 | 
 Dato :  09-02-03 17:56
 | 
 |  | "Tomas Christiansen" <toc-nospam-01@blikroer.dk> skrev i en meddelelse
 news:b260b0$2nm3$1@news.cybercity.dk...
 
 [En hel masse igen]
 
 Det var dog utroligt...Hvor er folks hjælpesomhed henne nu til dags...
 
 Selv eksperten er blevet til sådan et sted hvor man bare får en roman smidt
 i hovedet om hvordan man kan gøre...
 
 Det kan jeg desværre bare ikke bruge til noget...Jeg har heller aldrig
 KRÆVET eller SAGT at jeg ville have koden smidt i hovedet...
 
 Jeg er kold overfor om det er noget der er kodet til mig, eller noget som er
 en del af et andet program...Alt jeg behøver er et eksempel på hvordan man
 ville lave det, da jeg ikke kan se for mig hvordan den skal kunne tjekke om
 den IP den har lige nu allerede er fundet...
 
 Jeg kan se hvordan man kan med 2 forskellige IP'ere, men da der er flere
 1000 der besøger min server dagligt, kan jeg ikke længere se hvordan det
 skulle kunne lade sig gøre...
 
 Mvh. Morten
 
 
 
 
 |  |  | 
      Tomas Christiansen (09-02-2003) 
 
	
          | |  | Kommentar Fra : Tomas Christiansen
 | 
 Dato :  09-02-03 20:35
 | 
 |  | Morten Trab skrev:
 > Jeg kan se hvordan man kan med 2 forskellige IP'ere, men da der er
 flere
 > 1000 der besøger min server dagligt, kan jeg ikke længere se hvordan
 det
 > skulle kunne lade sig gøre...
 
 Du har vist ikke helt forstået mit budskab, så jeg vil præcisere hvad
 jeg mener:
 Vis et eksempel. Vis hvad du har fundet ud af indtil nu.
 
 Jeg vil umiddelbart mene, at hvis du har løst problemet for 2
 IP-adresser, har du også løst det for 1000, men det skyldes måske at
 jeg altid forsøger at tænke generelt, når jeg programmerer.
 
 > Og desuden er det ikke en logfil det ligger i...Der ligger i et
 listview...
 
 Nå, ja, da sørme også. Jeg har det med kun at læse indholdet af et
 indlæg, og der skrev du noget med en logfil.
 Lad os da prøve igen:
 ---  ---  ---  ---  ---  ---  ---  ---  ---  ---  ---
 Opret tabel, tblIP, til IP-adresser.
 Opret tabel, tblTÆL, til tællere.
 Sæt AI til 0.
 Sæt LI lig første indeks i LISTVIEW...
 Sæt IP til IP-adressen i LISTVIEW indeks LI.
 Sæt FUNDET til falsk.
 Sæt SI lig første indeks i tblIP...
 Hvis IP er lig tblIP indeks SI, så:
 sæt FUNDET lig sand.
 ...indtil SI > AI eller FUNDET er sand.
 Hvis FUNDET er sand, så:
 forøg tblTÆL indeks SI med 1
 ellers:
 Forøg AI med 1.
 Sæt tblIP indeks AI til IP.
 Sæt tblTÆL indeks AI til 1.
 Forøg LI med 1.
 ....indtil LI > sidste index i LISTVIEW.
 ---  ---  ---  ---  ---  ---  ---  ---  ---  ---  ---
 
 Hvis du overvinder din modstand og kigger lidt på hvad jeg har
 skrevet, vil det gå op for dig, at du kan omsætte det næsten 1:1,
 linie for linie, til ægte VB6 kode (med forbehold for fejl,
 naturligvis).
 
 Metoden beskrevet ovenfor er dog, hvis den uden omtanke omsættes 1:1
 til VB-kode, ikke særlig effektiv hvad angår køretid (CPU-tid), men
 kan derefter forholdsvis let modificeres til at være særdeles
 køretidseffektiv.
 
 -------
 Tomas
 
 
 
 |  |  | 
       Morten Trab (09-02-2003) 
 
	
          | |  | Kommentar Fra : Morten Trab
 | 
 Dato :  09-02-03 22:57
 | 
 |  | "Tomas Christiansen" <toc-nospam-01@blikroer.dk> skrev i en meddelelse
 news:b26aeq$21r$1@news.cybercity.dk...
 
 > Lad os da prøve igen:
 > ---  ---  ---  ---  ---  ---  ---  ---  ---  ---  ---
 > Opret tabel, tblIP, til IP-adresser.
 > Opret tabel, tblTÆL, til tællere.
 > Sæt AI til 0.
 > Sæt LI lig første indeks i LISTVIEW...
 >     Sæt IP til IP-adressen i LISTVIEW indeks LI.
 >     Sæt FUNDET til falsk.
 >     Sæt SI lig første indeks i tblIP...
 >         Hvis IP er lig tblIP indeks SI, så:
 >             sæt FUNDET lig sand.
 >     ...indtil SI > AI eller FUNDET er sand.
 >     Hvis FUNDET er sand, så:
 >         forøg tblTÆL indeks SI med 1
 >     ellers:
 >         Forøg AI med 1.
 >         Sæt tblIP indeks AI til IP.
 >         Sæt tblTÆL indeks AI til 1.
 >     Forøg LI med 1.
 > ...indtil LI > sidste index i LISTVIEW.
 > ---  ---  ---  ---  ---  ---  ---  ---  ---  ---  ---
 
 Og det fatter jeg STADIG zip og keine af...Hvis du ikke VIL hjælpe med noget
 brugbart så lad helt være med at forsøge!
 
 Folks lyst til at hjælpe er åbenbart på et nulpunkt for tiden...Synes at
 uanset hvad/hvor man søger hjælp får man udelukkende bras smidt tilbage i
 hovedet...
 
 /Morten
 
 
 
 
 |  |  | 
        Tomas Christiansen (09-02-2003) 
 
	
          | |  | Kommentar Fra : Tomas Christiansen
 | 
 Dato :  09-02-03 23:21
 | 
 |  | Morten Trab skrev:
 
 > Og det fatter jeg STADIG zip og keine af...Hvis du ikke VIL hjælpe
 med noget
 > brugbart så lad helt være med at forsøge!
 >
 > Folks lyst til at hjælpe er åbenbart på et nulpunkt for
 tiden...Synes at
 > uanset hvad/hvor man søger hjælp får man udelukkende bras smidt
 tilbage i
 > hovedet...
 
 Tro mig, jeg hjælper dig ikke længere.
 At du opfater min hjælp som bras, er din sag, men du skal ikke klandre
 mig for det.
 Du _kunne_ (måske) have lært noget her...
 
 -------
 Tomas
 
 
 
 |  |  | 
         Morten Trab (09-02-2003) 
 
	
          | |  | Kommentar Fra : Morten Trab
 | 
 Dato :  09-02-03 23:31
 | 
 |  | "Tomas Christiansen" <toc-nospam-01@blikroer.dk> skrev i en meddelelse
 news:b26k5j$cs3$1@news.cybercity.dk...
 
 > Tro mig, jeg hjælper dig ikke længere.
 
 Tak, så kan det være at dem der gider hjælpe kan komme til??
 
 > At du opfater min hjælp som bras, er din sag, men du skal ikke klandre
 > mig for det.
 > Du _kunne_ (måske) have lært noget her...
 
 Det kunne jeg sikkert sagtens, men når du ikke vil komme med andet end det
 der pseudu-et-eller-andet som jeg ikke kan bruge til en disse, så har jeg
 ikke meget lyst til at få hjælp af dig...
 
 /Morten
 
 
 
 
 |  |  | 
         Jacob Laue Petersen (10-02-2003) 
 
	
          | |  | Kommentar Fra : Jacob Laue Petersen
 | 
 Dato :  10-02-03 14:29
 | 
 |  | 
 
 Glem det, det nytter ikke noget...
 
 Jacob Laue Petersen
 
 
 
 
 |  |  | 
     Morten Trab (09-02-2003) 
 
	
          | |  | Kommentar Fra : Morten Trab
 | 
 Dato :  09-02-03 18:00
 | 
 |  | Og desuden er det ikke en logfil det ligger i...Der ligger i et listview...
 
 
 
 
 |  |  | 
    preben nielsen (09-02-2003) 
 
	
          | |  | Kommentar Fra : preben nielsen
 | 
 Dato :  09-02-03 18:04
 | 
 |  | 
 "Morten Trab" <mortenREMOVE@trab.dk> skrev i en meddelelse
 news:b25rtj$eh8$1@sunsite.dk...
 > "Jacob Laue Petersen" <j@a.p> skrev i en meddelelse
 > news:3e4664d7$0$71664$edfadb0f@dread11.news.tele.dk...
 >
 > > God ide at beskrive det med pseudokode, giver en god logisk
 gennem gang.
 >
 > Og en masse der ikke fatter noget, og derved dumper denne gruppe
 da man ikke
 > kan få noget hjælp som man kan brúge til noget
 
 Hvis ikke du kan bruge Tomas' forslag, så tror jeg ikke at det er
 _dig_, som skal løse det pågældende problem.
 
 > /Morten
 
 --
 /\ preben nielsen
 \/\ prel@post.tele.dk
 
 
 
 
 |  |  | 
     Morten Trab (09-02-2003) 
 
	
          | |  | Kommentar Fra : Morten Trab
 | 
 Dato :  09-02-03 18:05
 | 
 |  | "preben nielsen" <prel@post.tele.dk> skrev i en meddelelse
 news:3e4689e0$0$162$edfadb0f@dread16.news.tele.dk...
 
 > Hvis ikke du kan bruge Tomas' forslag, så tror jeg ikke at det er
 > _dig_, som skal løse det pågældende problem.
 
 Det er heller ikke mig det skal løse det...Det er mig der har problemet og
 som ikke _kan_ løse det...
 
 Mvh. Morten
 
 
 
 
 |  |  | 
     Per Mosgaard Larsen (11-02-2003) 
 
	
          | |  | Kommentar Fra : Per Mosgaard Larsen
 | 
 Dato :  11-02-03 21:03
 | 
 |  | Hej
 
 Jeg er også lidt nybegynder med VB og har fulgt med i debatten. Det er
 utrolig meget hjælp du har fået - at du så ikke har kunne forstå koden, er
 ikke noget at gøre ved (det er ikke negativt ment).
 
 Men husk at der er nogle der i god mening har brugt tid på at hjælpe dig -
 ikke kun med noget kode, men med hjælp til selvhjælp - således at du
 forhåbentlig lettere vil kunne klare en anden opgave.
 
 OG HUSK de har gjort det i en god mening - det er fint at der er nogle der
 gider hjælpe
 
 Hilsen
 
 Per Larsen
 
 "preben nielsen" <prel@post.tele.dk> skrev i en meddelelse
 news:3e4689e0$0$162$edfadb0f@dread16.news.tele.dk...
 >
 > "Morten Trab" <mortenREMOVE@trab.dk> skrev i en meddelelse
 > news:b25rtj$eh8$1@sunsite.dk...
 > > "Jacob Laue Petersen" <j@a.p> skrev i en meddelelse
 > > news:3e4664d7$0$71664$edfadb0f@dread11.news.tele.dk...
 > >
 > > > God ide at beskrive det med pseudokode, giver en god logisk
 > gennem gang.
 > >
 > > Og en masse der ikke fatter noget, og derved dumper denne gruppe
 > da man ikke
 > > kan få noget hjælp som man kan brúge til noget
 >
 > Hvis ikke du kan bruge Tomas' forslag, så tror jeg ikke at det er
 > _dig_, som skal løse det pågældende problem.
 >
 > > /Morten
 >
 > --
 > /\ preben nielsen
 > \/\ prel@post.tele.dk
 >
 >
 
 
 
 
 |  |  | 
  Bjarne Østergård (10-02-2003) 
 
	
          | |  | Kommentar Fra : Bjarne Østergård
 | 
 Dato :  10-02-03 00:01
 | 
 |  | 
 "Morten Trab" <mortenREMOVE@trab.dk> skrev i en meddelelse
 news:b237qv$3h8$1@sunsite.dk...
 > Jeg har et listview i mit projekt, hvortil jeg tilføjer log-data fra min
 > router...
 >
 > Jeg har nu brug for at få talt sammen hvor mange gange hver IP går igen...
 >
 > Hvordan kan jeg klare dette??
 >
 > Jeg har ladet mig fortælle at jeg nok skal bruge arrays og et par løkker,
 > men kan simpelthen ikke gennemskue hvordan jeg kan klare det...Nogen der
 kan
 > hjælpe??
 >
 > Mvh. Morten
 
 Hm her er en lidt nem løsning
 
 læg dem i en sorteret liste
 
 løb nu listen igennem med en løkke.
 
 lav et 2 dim array der kan holde ip adresse og antal besøg
 
 Løb listen igennem, for ens ip tælles array der holder antal en op
 hvis ip skifter tilføjes en ny ip til array der holder ip og antal sættes
 til en
 
 eller add det hele til en ny liste, du vil nu have en liste med IP adresser
 og antal
 
 Dette skulle være rimeligt nem at gå til.
 
 MVH
 Bjarne
 
 
 
 
 
 |  |  | 
  Carsten Suurland (10-02-2003) 
 
	
          | |  | Kommentar Fra : Carsten Suurland
 | 
 Dato :  10-02-03 11:23
 | 
 |  | Værso!
 Og tag så lige takke med det folk giver dig (også Pseudokode)
 
 Option Explicit
 
 Private mvarIPs As Collection
 Private mvarUniqueIPs As Collection
 
 Private Sub Form_Load()
 Dim cnt As Long
 Dim IP As String
 
 ListView1.ListItems.Add , , "217.100.20.00"
 ListView1.ListItems.Add , , "217.100.20.10"
 ListView1.ListItems.Add , , "217.100.20.10"
 ListView1.ListItems.Add , , "217.100.20.45"
 ListView1.ListItems.Add , , "217.100.20.45"
 ListView1.ListItems.Add , , "217.100.20.45"
 ListView1.ListItems.Add , , "217.100.20.45"
 
 Dim lstItem As ListItem
 For Each lstItem In ListView1.ListItems
 IP = lstItem.Text
 AddIP IP
 Next
 End Sub
 
 Private Sub AddIP(ByVal NewIP As String)
 If mvarIPs Is Nothing Then
 Set mvarIPs = New Collection
 Set mvarUniqueIPs = New Collection
 End If
 
 On Error Resume Next
 Dim currentCount As Long
 
 currentCount = mvarIPs(NewIP)
 currentCount = currentCount + 1
 mvarIPs.Remove NewIP
 
 mvarIPs.Add currentCount, NewIP
 mvarUniqueIPs.Add NewIP, NewIP
 End Sub
 
 
 Nu indeholder mvarUniqueIPs alle de unikke IP'er der er fundet.
 mvarIPs indeholder antal gange hver IP blev fundet
 
 /Carsten Suurland
 
 
 
 
 |  |  | 
  Morten Trab (10-02-2003) 
 
	
          | |  | Kommentar Fra : Morten Trab
 | 
 Dato :  10-02-03 22:36
 | 
 |  | Jeg har fundet en løsning der virker godt nok...Med hjælp fra en af de
 personer der gider hjælpe folk med deres problemer...
 
 Skal for eftertiden huske at hvis man har et problem der ikke har den store
 betydning, og som ikke haster ret meget, er det herinde man skal stille
 det...
 
 /Morten
 
 
 
 
 |  |  | 
  Carsten Suurland (11-02-2003) 
 
	
          | |  | Kommentar Fra : Carsten Suurland
 | 
 Dato :  11-02-03 00:48
 | 
 |  | Hej Morten
 
 Jeg tror også der er mange der husker ikke at svare...
 
 "Morten Trab" <mortenREMOVE@trab.dk> wrote in message
 news:b295vt$ea2$1@sunsite.dk...
 > Jeg har fundet en løsning der virker godt nok...Med hjælp fra en af de
 > personer der gider hjælpe folk med deres problemer...
 >
 > Skal for eftertiden huske at hvis man har et problem der ikke har den
 store
 > betydning, og som ikke haster ret meget, er det herinde man skal stille
 > det...
 >
 > /Morten
 >
 >
 
 
 
 
 |  |  | 
  Claus Bernth (14-02-2003) 
 
	
          | |  | Kommentar Fra : Claus Bernth
 | 
 Dato :  14-02-03 10:26
 | 
 |  | Morten Trab wrote a lot of bull:
 > Jeg har fundet en løsning der virker godt nok...Med hjælp fra en af de
 > personer der gider hjælpe folk med deres problemer...
 
 Magen til utaknemmelighed skal man lede længe efter!!!
 
 Jeg har aldrig tidligere oplevet nogle der opfører sig så uforskammet
 overfor mennesker der over flere gange har forsøgt at hjælpe dig!
 
 Da jeg læste tråden blev jeg mere og mere overbevist om at du bare er en
 latterlig lille *TROLL* - sikkert ikke mere end 12-13 år - der forsøger
 at skabe lidt rav i den, i en ellers velfungerende gruppe.
 
 Gå i seng og skam dig - det er over din sengetid!
 
 -C
 
 
 
 |  |  | 
 |  |