Alle Werte einer Spalte addieren?

  • VB6

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von Unknown.

    Alle Werte einer Spalte addieren?

    Hallo,
    ich habe eine Tabelle, die sieht so aus:

    Visual Basic-Quellcode

    1. Set Item = ListView1.ListItems.Add
    2. Item.SmallIcon = 1
    3. Item.Text = Format(Now, "dd.mm.yyyy")
    4. Item.SubItems(1) = Format(Now, "hh:mm")
    5. Item.SubItems(2) = WinSock1(Index).RemoteHostIP
    6. Item.SubItems(3) = Page
    7. Item.SubItems(4) = Format(FileLen(App.Path & "\" & Page), "#,##0")


    So jetzt möchte ich in einer Textbox alle Einträge aus der Spalte "Item.SubItems(4)" zusammenrechnen. Also steht in der Spalte 200 und 300. Jetzt soll unten in der Textbox 500 stehen.

    Das verändert sich während der Ausführung aber soll aber immer aktuell sein.

    Das geht doch bestimmt oder?
    ich verstehe das nicht ganz, da bei item.subitems(1) ja ein datum ist, wie sollt man das denn mit den anderen zusammenrechnen?

    man müsste das i-wie in eine zahl wandeln und dann normal zusammenrechen.

    damit das aktuell ist einen timer auf 100 ms stellen und bei timer1_tick das schreiben:

    Visual Basic-Quellcode

    1. textbox1 = item.subitems(1) + ...(2) + ...(3) + ...(4)


    (nicht getestet!!!)
    | Keine Fragen per PN oder Skype.
    Was für einen Ansichtsmodus verwendest du
    denn ? Bei lvwReport würde das so funktionieren:

    Visual Basic-Quellcode

    1. TextBox.Text = Summe
    2. Function Summe() As Long
    3. Dim i As Long
    4. For i = 1 To ListView1.ListItems.Count
    5. Summe = Summe + CLng(ListView1.ListItems(i).SubItems(4))
    6. Next i
    7. End Function
    Irgendwie klappt das nicht. Also ich erklär mal das ganze. Das Programm erstellt einen HTML Webserver. Der gibt die Datei index.html aus wenn die Computer IP im Browser aufgerufen wird.

    Kompl. Quelltext:

    Visual Basic-Quellcode

    1. Private Declare Function SetWindowPos Lib _
    2. "User32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _
    3. ByVal x As Long, ByVal y As Long, ByVal cx As Long, _
    4. ByVal cy As Long, ByVal wFlags As Long) As Long
    5. Public Function LoadFile(Dateiname As String) As String
    6. On Error GoTo Fehler
    7. Close #1
    8. Open Dateiname For Binary As #1
    9. LoadFile = Input(FileLen(Dateiname), #1)
    10. Close #1
    11. Fehler:
    12. End Function
    13. Private Sub Check1_Click()
    14. If Check1.Value = 1 Then
    15. Call SetWindowPos(Me.hwnd, -1, 0, 0, 0, 0, 3)
    16. Else
    17. Call SetWindowPos(Me.hwnd, -2, 0, 0, 0, 0, 3)
    18. End If
    19. End Sub
    20. Private Sub Command1_Click()
    21. WinSock2.Close
    22. WinSock2.LocalPort = 80
    23. WinSock2.Listen
    24. With StatusBar1
    25. .Tag = "http://" & WinSock2.LocalIP
    26. .SimpleText = "Web-Server Adresse: " & .Tag & ""
    27. End With
    28. Command1.Enabled = False
    29. Command2.Enabled = True
    30. End Sub
    31. Private Sub Command2_Click()
    32. WinSock2.Close
    33. Command1.Enabled = True
    34. Command2.Enabled = False
    35. End Sub
    36. Private Sub Form_Load()
    37. Dim i As Integer
    38. For i = 1 To 200
    39. Load WinSock1(i)
    40. Next i
    41. Command2.Enabled = False
    42. End Sub
    43. Private Sub StatusBar1_Click()
    44. Clipboard.Clear
    45. Clipboard.SetText StatusBar1.Tag
    46. End Sub
    47. Private Sub WinSock1_DataArrival(Index As Integer, ByVal bytesTotal As Long)
    48. Dim strData As String
    49. WinSock1(Index).GetData strData
    50. If Mid(strData, 1, 3) = "GET" Then
    51. P1 = InStr(strData, "GET")
    52. P2 = InStr(P1 + 5, strData, " ")
    53. Page = Trim(Mid(strData, P1 + 5, P2 - (P1 + 4)))
    54. If Right(Page, 1) = "/" Then Page = Left(Page, Len(Page) - 1)
    55. If Page = "/" Then Page = "index.html"
    56. If Page = "" Then Page = "index.html"
    57. If Dir(App.Path & "\" & Page) = "" Then Page = "404.html"
    58. WinSock1(Index).SendData LoadFile(App.Path & "\" & Page)
    59. Set Item = ListView1.ListItems.Add
    60. Item.SmallIcon = 1
    61. Item.Text = Format(Now, "dd.mm.yyyy")
    62. Item.SubItems(1) = Format(Now, "hh:mm")
    63. Item.SubItems(2) = WinSock1(Index).RemoteHostIP
    64. Item.SubItems(3) = Page
    65. Item.SubItems(4) = Format(FileLen(App.Path & "\" & Page), "#,##0")
    66. End If
    67. End Sub
    68. Private Sub WinSock1_SendComplete(Index As Integer)
    69. WinSock1(Index).Close
    70. End Sub
    71. Private Sub WinSock2_ConnectionRequest(ByVal requestID As Long)
    72. Dim i As Integer
    73. For i = 0 To 200
    74. If WinSock1(i).State = sckClosed Then
    75. WinSock1(i).Close
    76. WinSock1(i).Accept (requestID)
    77. Exit Sub
    78. End If
    79. Next i
    80. End Sub

    Sourcecode © 2007 Bastian Stiehler ;)

    So. Jetzt gibt es ja diese 4. Spalte in der die Dateigröße der vom Besucher geöffneten Seite. Ich möchte unten in einem "LABEL!" stehen haben: "Traffic gesamt: X.XXX Bytes". So wie bekomme ich das hin?

    MfG
    Basti

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „kulimeya“ ()