Zahlen aus Textdatei summieren

  • Hi,
    ich habe eine Frage gibt es eine Möglichkeit Zahlen aus einer Textdatei zu summieren? Die Datei sieht wie folgt aus:
    Dateiname: test.txt
    Inhalt:
    12
    23
    34
    45
    56
    67
    78
    89

    Gibt es jetzt die Möglichkeit die Untereinanderstehenden Zahlen zu summieren und in einem Input-Feld die Summe der Zahlen anzeigen zu lassen?

    Danke schonmal im vorraus!!!

    Einmal editiert, zuletzt von Egon577 (20. September 2011 um 21:35)

  • Bin mir nicht sicher, aber GUICtrlCreateListView könnt auch passen oder ??

    <- oft planlos aber stets bemüht :D

  • Ich habe die Zahlen schon in einem Listview, bekomme sie aber nicht summiert. Das mit den einzelen Zahlen war nur so eine Idee um die Sache etwas leichter zu machen. Eig. sollte die Letzte Spalte aus so einer Datei zusammengerechnet werden:

    Dienstag, 20. September 2011|Berufsschule Donnerstag|8:00|15:45|7
    Dienstag, 20. September 2011|Berufsschule Donnerstag|8:00|15:45|7
    Dienstag, 20. September 2011|Berufsschule Donnerstag|8:00|15:45|7
    Dienstag, 20. September 2011|Berufsschule Donnerstag|8:00|15:45|7
    Dienstag, 20. September 2011|Berufsschule Donnerstag|8:00|15:45|7
    Dienstag, 20. September 2011|Berufsschule Donnerstag|8:00|15:45|7
    Dienstag, 20. September 2011|Berufsschule Donnerstag|8:00|15:45|7
    Dienstag, 20. September 2011|Berufsschule Donnerstag|8:00|15:45|7
    Dienstag, 20. September 2011|Berufsschule Donnerstag|8:00|15:45|7
    Dienstag, 20. September 2011|Berufsschule Donnerstag|8:00|15:45|7
    Dienstag, 20. September 2011|Berufsschule Donnerstag|8:00|15:45|7
    Dienstag, 20. September 2011|Berufsschule Donnerstag|8:00|15:45|7

    nur das das dann halt nicht immer die gleichen Werte sind.

  • Hallo Egon577,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die deutsche Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/Tutorial Sehr hilfreich ist auch das Buch von peethebee .

    und hier ein kleines Beispiel wie man Positionen in einer LV addieren kann:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ListViewConstants.au3>
    #include <GuiListView.au3>
    #include <Array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $Listart[20], $idLV_Positionen, $Listarttime[20], $Listart2[20], $idLV_Summen, $Listart2time[20]
    $Form1 = GUICreate("Form1", 678, 537, 192, 114)
    $idLV_Positionen = GUICtrlCreateListView("Name |Liter", 80, 56, 505, 129)
    GUICtrlCreateListViewItem("Wasser|2", $idLV_Positionen)
    GUICtrlCreateListViewItem("Bier|2", $idLV_Positionen)
    GUICtrlCreateListViewItem("Bier|3", $idLV_Positionen)
    GUICtrlCreateListViewItem("Cola|7", $idLV_Positionen)
    GUICtrlCreateListViewItem("Bier|3", $idLV_Positionen)
    $idLV_Summen = GUICtrlCreateListView("Name |Liter", 81, 287, 505, 129)

    [/autoit] [autoit][/autoit] [autoit]

    $Button1 = GUICtrlCreateButton("Button1", 216, 216, 219, 49, $WS_GROUP)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $count = _GUICtrlListView_GetItemCount($idLV_Positionen)
    Dim $aTmp[$count][2]
    For $i = 0 To $count -1
    $aSplit = _GUICtrlListView_GetItemTextArray($idLV_Positionen,$i)
    $aTmp[$i][0] = $aSplit[1]
    $aTmp[$i][1] = $aSplit[2]
    Next
    _ArraySort($aTmp)
    $aUnique = _ArrayUnique($aTmp)
    $iGesamt = 0
    for $i = 1 to $aUnique[0]
    $aFind = _ArrayFindAll($aTmp,$aUnique[$i])
    $iMenge = 0
    for $j = 0 to UBound($aFind) -1
    $iMenge += $aTmp[$aFind[$j]][1]
    Next
    $iGesamt += $iMenge
    GUICtrlCreateListViewItem($aUnique[$i] & "|" & $iMenge,$idLV_Summen)
    Next
    GUICtrlCreateListViewItem("Gesamt: |" & $iGesamt,$idLV_Summen)
    EndSwitch
    WEnd

    [/autoit]

    Wie du siehst ist es am einfachsten in der Schleife in der die LV-Items erzeugt werden auf zu summieren und am Ende ein LV-Item mit der Gesamtsumme an zu hängen,

    mfg autoBert