"Tortendiagramm" erstellen

  • Hi, ich brauch mal wieder eure Hilfe
    und zwar möchet ich ein Torten- oder Kuchendiagramm - je nachdem was euch lieber ist^^ - erstellen. So sieht mein Script bisher aus: Zuerst habe ich eine Graphik erstellt, der ich dann die Graphiksets zugewiesen habe. Mit dem ersten Mal wollte ich die Farbe ändern und dem zweitem GUICtrlSetGraphic dann das Tortenstück erstellen. Insgesamt ein paar mehr (26). Nur das Diagramm wird noch nicht angezeit. Habe mir schon die Hilfe Datei angesehen, im Forum gesucht und auch schon GUICtrlsetstate ausprobiert. Für euch ist das wahrscheinlich ein Klaks ;)

    [autoit]

    $Grafik = GUICtrlCreateGraphic(@desktopwidth/2-50, @desktopheight/2, 200, 200)
    GUICtrlSetBkColor($Grafik, 0xffffff)
    $startwinkel = 0
    $radius = 40
    $breite = $a/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $b/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xffff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)GUISetState(@SW_Show)

    [/autoit]


    Aquaplant

    Einmal editiert, zuletzt von Aquaplant (19. November 2009 um 21:48)

  • Das Script ist ja nicht im Ansatz lauffähig. Gibst du die Bereiche des Diagramms als Prozentzahlen?
    Poste dein ganzes Script oder gibt mehr Informationen, wie soll man damit was anfangen können 8|

  • Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    #include <ButtonConstants.au3>
    #include <StaticConstants.au3>
    #include <ListboxConstants.au3>
    #include <TabConstants.au3>
    #include <Constants.au3>
    $haupt = GUICreate("Titel", @desktopwidth/2, @desktopheight/2)
    $Buchstabe = 0
    GUISetState(@sw_show)
    $eingabe = GUICtrlCreateEdit("Hier den zu analysierenden Text eingeben", 0,0,@desktopwidth/2-50, @desktopheight/2, $LBS_DISABLENOSCROLL + $WS_VSCROLL)
    $menu = GUICtrlCreateMenu("Analysieren")
    $menu2 = GUICtrlCreateMenuItem("Los", $menu)
    ;~ $but = GUICtrlCreateButton("OK", @desktopwidth/2-20, -1)
    Global $a=0, $b=0, $c=0, $d=0, $e=0, $f=0, $g=0, $h=0, $i=0, $j=0, $k=0, $l=0, $m=0, $n=0, $o=0, $p=0, $q=0, $r=0, $s=0, $t=0, $u=0, $v=0, $w=0, $x=0, $y=0, $z=0, $leerzeichen=0
    Func Analysieren()
    $Buchstabe =1
    $Text = GUICtrlRead($eingabe)
    $Buchstabe = StringSplit($Text, "")
    $Worter = StringSplit($Text, " ")
    GUICtrlSetState($eingabe, $GUI_Hide)
    For $i = 1 To $Buchstabe[0] Step +1
    If $Buchstabe[$i] = "a" Or $Buchstabe[$i] ="A" Then
    $a = $a + 1
    ;~ GUICtrlCreateLabel("A = "&$a, 0, 0)
    EndIf
    If $Buchstabe[$i] = "b" Or $Buchstabe[$i] = "B" Then
    $b = $b + 1
    ;~ GUICtrlCreateLabel("B = "&$b, 0, 20)
    EndIf
    If $Buchstabe[$i] = "c" Or $Buchstabe[$i] ="C" Then
    $c = $c + 1
    ;~ GUICtrlCreateLabel("C = "&$c, 0, 40)
    EndIf
    If $Buchstabe[$i] = "d" Or $Buchstabe[$i] ="D" Then
    $d = $d + 1
    ;~ GUICtrlCreateLabel("C = "&$c, 0, 40)
    EndIf
    If $Buchstabe[$i] = "e" Or $Buchstabe[$i] ="E" Then
    $e = $e + 1
    EndIf
    If $Buchstabe[$i] = "f" Or $Buchstabe[$i] ="F" Then
    $f = $f + 1
    EndIf
    If $Buchstabe[$i] = "g" Or $Buchstabe[$i] ="G" Then
    $g = $g + 1
    EndIf
    If $Buchstabe[$i] = "h" Or $Buchstabe[$i] ="H" Then
    $h = $h + 1
    EndIf
    If $Buchstabe[$i] = "i" Or $Buchstabe[$i] ="I" Then
    $i = $i + 1
    EndIf
    If $Buchstabe[$i] = "j" Or $Buchstabe[$i] ="J" Then
    $j = $j + 1
    EndIf
    If $Buchstabe[$i] = "k" Or $Buchstabe[$i] ="K" Then
    $k = $k + 1
    EndIf
    If $Buchstabe[$i] = "l" Or $Buchstabe[$i] ="L" Then
    $l = $l + 1
    EndIf
    If $Buchstabe[$i] = "m" Or $Buchstabe[$i] ="M" Then
    $m = $m + 1
    EndIf
    If $Buchstabe[$i] = "n" Or $Buchstabe[$i] ="N"Then
    $n = $n + 1
    EndIf
    If $Buchstabe[$i] = "o" Or $Buchstabe[$i] ="O" Then
    $o = $o + 1
    EndIf
    If $Buchstabe[$i] = "p" Or $Buchstabe[$i] ="P"Then
    $p = $p + 1
    EndIf
    If $Buchstabe[$i] = "q" Or $Buchstabe[$i] ="Q" Then
    $q = $q + 1
    EndIf
    If $Buchstabe[$i] = "r" Or $Buchstabe[$i] ="R" Then
    $r = $r + 1
    EndIf
    If $Buchstabe[$i] = "s" Or $Buchstabe[$i] ="S" Then
    $s = $s + 1
    EndIf
    If $Buchstabe[$i] = "t" Or $Buchstabe[$i] = "T" Then
    $t = $t + 1
    EndIf
    If $Buchstabe[$i] = "u" Or $Buchstabe[$i] ="U" Then
    $u = $u + 1
    EndIf
    If $Buchstabe[$i] = "v" Or $Buchstabe[$i] ="V" Then
    $v = $v + 1
    EndIf
    If $Buchstabe[$i] = "w" Or $Buchstabe[$i] ="W"Then
    $w = $w + 1
    EndIf
    If $Buchstabe[$i] = "x" Or $Buchstabe[$i] ="X" Then
    $x = $x + 1
    EndIf
    If $Buchstabe[$i] = "y" Or $Buchstabe[$i] ="Y" Then
    $y = $y + 1
    EndIf
    If $Buchstabe[$i] = "z" Or $Buchstabe[$i] ="Z" Then
    $z = $z + 1
    EndIf
    If $Buchstabe[$i] = "" Then
    $leerzeichen = $leerzeichen + 1
    EndIf
    Next
    $Grafik = GUICtrlCreateGraphic(@desktopwidth/2-50, @desktopheight/2, 200, 200)
    GUICtrlSetBkColor($Grafik, 0xffffff)
    GUISetState(@sw_show)
    $startwinkel = 0
    $radius = 40
    $breite = $a/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $b/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $c/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $d/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $e/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $f/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $g/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $h/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $i/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $j/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $k/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $l/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $m/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $n/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $o/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $p/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $q/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $r/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $s/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $t/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $u/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $v/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $w/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $x/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $y/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    $startwinkel = $breite
    $breite = $z/$Buchstabe[0]*360
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff)
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, $radius, $Startwinkel, $breite)
    GUISetState(@SW_Show)
    ;~ MsgBox(0, $breite, $a&"."&$b&"."&$c&"."&$d&"."&$e&"."&$f&"."&$g&"."&$h)
    EndFunc

    While 1
    $Gui = GUIGetMsg()
    Switch $gui
    Case $GUI_EVENT_CLOSE
    Exit
    Case $menu2
    If $Buchstabe <>0 Then

    Else
    Analysieren()
    EndIf
    ;~ Case $but
    ;~ analysieren()
    EndSwitch
    WEnd

    [/autoit]

    Es soll einen Text auf die Häufigkeit an Buchstaben prüfen und dann in einem Diagramm ausgeben

  • Hi,
    hab ma was gebastelt.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <ListBoxConstants.au3>
    #include <WindowsConstants.au3>

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

    Global $chrfrequency[27], $Buchstabe, $r, $g, $b
    $haupt = GUICreate("Titel", @DesktopWidth / 2, @DesktopHeight / 2)
    $eingabe = GUICtrlCreateEdit("Hier den zu analysierenden Text eingeben", 0, 0, @DesktopWidth / 2 - 50, @DesktopHeight / 2, $LBS_DISABLENOSCROLL + $WS_VSCROLL)
    $menu = GUICtrlCreateMenu("Analysieren")
    $menu2 = GUICtrlCreateMenuItem("Los", $menu)
    $Grafik = GUICtrlCreateGraphic(((@DesktopWidth / 2) / 2) - 100, ((@DesktopHeight / 2) / 2) - 100, 200, 200)
    GUISetState()

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

    Func Analysieren()
    $Buchstabe = StringSplit(StringLower(GUICtrlRead($eingabe)), "")
    GUICtrlSetState($eingabe, $GUI_Hide)
    For $i = 1 To UBound($Buchstabe) - 1
    For $j = 1 To 26
    If $Buchstabe[$i] = Chr($j + 96) Then
    $chrfrequency[$j] += 1
    ExitLoop
    ElseIf $Buchstabe[$i] = Chr(32) Then
    $chrfrequency[0] += 1
    ExitLoop
    EndIf
    Next
    Next

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

    GUISetState(@SW_LOCK)
    For $i = 0 To 26
    If $chrfrequency[$i] <> 0 Then
    $r = (Sin(($i + 15) / 96) + 1) * 256 ; von UEZ geklaut ohne zu wissen wie es funktioniert :)
    $g = (Sin(($i + 15) / 48) + 1) * 256 ;
    $b = (Sin(($i + 15) / 32) + 1) * 256 ;
    If $i = 0 Then
    GUICtrlSetGraphic($Grafik, $GUI_GR_COLOR, 0, "0x" & Hex($r, 2) & Hex($g, 2) & Hex($b, 2))
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, 150, 180, _getpercent($i))
    Else
    GUICtrlSetGraphic($Grafik, $GUI_GR_COLOR, 0, "0x" & Hex($r, 2) & Hex($g, 2) & Hex($b, 2))
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, 150, _getangle($i - 1), _getpercent($i))
    EndIf
    EndIf
    Next
    GUISetState(@SW_UNLOCK)
    EndFunc ;==>Analysieren

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

    Func _getpercent($num)
    Local $counter = 0
    For $i = 0 To UBound($chrfrequency) - 1
    If $chrfrequency[$i] <> '' Then $counter += $chrfrequency[$i]
    Next
    Return Round($chrfrequency[$num] / $counter * 100 * (-3.6))
    EndFunc ;==>_getpercent

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

    Func _getangle($num)
    Local $add = 0
    For $i = 0 To $num
    $add += _getpercent($i)
    Next
    Return 180 + $add
    EndFunc ;==>_getangle

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

    While 1
    $Gui = GUIGetMsg()
    Switch $Gui
    Case $GUI_EVENT_CLOSE
    Exit
    Case $menu2
    Analysieren()
    EndSwitch
    WEnd

    [/autoit]

    Die Beschriftung fehlt noch, da hätte ich an Linien mit Text gedacht. Aber melde dich erstma, dann sehn wir weiter. Vielleicht bekommstes ja alleine hin, ansonsten sag bescheid :).

    /Edit: Bug entfernt...

    3 Mal editiert, zuletzt von anno2008 (19. November 2009 um 21:02)

  • Hi, danke funktioniert - nur die Farben müssen noch etwas geändert werden :thumbup:
    Nur in Zeile 11 ist noch ein kleiner Fehler: GUISetState(@SW_SHOW) müsste es sein ^^
    Dankeschön
    Aquaplant
    EDIT:
    Mein Script sieht jetzt mit den Grafikfunktionen - danke nochmal an anno2008 :) - so aus:

    Spoiler anzeigen
    [autoit]

    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    Global $chrfrequency[27], $Buchstabe, $r, $g, $b
    $haupt = GUICreate("Titel", @desktopwidth/2, @desktopheight/2)
    $Buchstabe = 0
    GUISetState(@sw_show)
    $eingabe = GUICtrlCreateEdit("Hier den zu analysierenden Text eingeben", 0,0,@desktopwidth/2-50, @desktopheight/2+200, $LBS_DISABLENOSCROLL + $WS_VSCROLL)
    $menu = GUICtrlCreateMenu("Analysieren")
    $menu2 = GUICtrlCreateMenuItem("Los", $menu)
    $Grafik = GUICtrlCreateGraphic(((@DesktopWidth / 2) / 2) - 100, ((@DesktopHeight / 2) / 2) - 100, 200, 200)
    Global $a=0, $bb=0, $c=0, $d=0, $e=0, $f=0, $gg=0, $h=0, $ii=0, $j=0, $k=0, $l=0, $m=0, $n=0, $o=0, $p=0, $q=0, $rr=0, $s=0, $t=0, $u=0, $v=0, $w=0, $x=0, $y=0, $z=0, $leerzeichen=0
    Func Analysieren()
    $Buchstabe = StringSplit(StringLower(GUICtrlRead($eingabe)), "")
    GUICtrlSetState($eingabe, $GUI_Hide)
    For $i = 1 To UBound($Buchstabe) - 1
    For $j = 1 To 26
    If $Buchstabe[$i] = Chr($j + 96) Then
    $chrfrequency[$j] += 1
    ExitLoop
    ElseIf $Buchstabe[$i] = Chr(32) Then
    $chrfrequency[0] += 1
    ExitLoop
    EndIf
    Next
    Next

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

    GUISetState(@SW_LOCK)
    For $i = 0 To 26
    If $chrfrequency[$i] <> 0 Then
    $r = (Sin(($i + 15) / 96) + 1) * 256 ; von UEZ geklaut ohne zu wissen wie es funktioniert :)
    $g = (Sin(($i + 15) / 48) + 1) * 256 ;
    $b = (Sin(($i + 15) / 32) + 1) * 256 ;
    If $i = 0 Then
    GUICtrlSetGraphic($Grafik, $GUI_GR_COLOR, 0, "0x" & Hex($r, 2) & Hex($g, 2) & Hex($b, 2))
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, 150, 180, _getpercent($i))
    Else
    GUICtrlSetGraphic($Grafik, $GUI_GR_COLOR, 0, "0x" & Hex($r, 2) & Hex($g, 2) & Hex($b, 2))
    GUICtrlSetGraphic($Grafik, $GUI_GR_PIE, 50, 50, 150, _getangle($i - 1), _getpercent($i))
    EndIf
    EndIf
    Next
    GUISetState(@SW_UNLOCK)
    $Buchstabe =1
    $Text = GUICtrlRead($eingabe)
    $Buchstabe = StringSplit($Text, "")
    $Worter = StringSplit($Text, " ")
    GUICtrlSetState($eingabe, $GUI_Hide)
    For $i = 1 To $Buchstabe[0] Step +1
    If $Buchstabe[$i] = "a" Or $Buchstabe[$i] ="A" Then
    $a = $a + 1
    EndIf
    If $Buchstabe[$i] = "b" Or $Buchstabe[$i] = "B" Then
    $bb = $bb + 1
    EndIf
    If $Buchstabe[$i] = "c" Or $Buchstabe[$i] ="C" Then
    $c = $c + 1
    EndIf
    If $Buchstabe[$i] = "d" Or $Buchstabe[$i] ="D" Then
    $d = $d + 1
    EndIf
    If $Buchstabe[$i] = "e" Or $Buchstabe[$i] ="E" Then
    $e = $e + 1
    EndIf
    If $Buchstabe[$i] = "f" Or $Buchstabe[$i] ="F" Then
    $f = $f + 1
    EndIf
    If $Buchstabe[$i] = "g" Or $Buchstabe[$i] ="G" Then
    $gg = $gg + 1
    EndIf
    If $Buchstabe[$i] = "h" Or $Buchstabe[$i] ="H" Then
    $h = $h + 1
    EndIf
    If $Buchstabe[$i] = "i" Or $Buchstabe[$i] ="I" Then
    $ii = $ii + 1
    EndIf
    If $Buchstabe[$i] = "j" Or $Buchstabe[$i] ="J" Then
    $j = $j + 1
    EndIf
    If $Buchstabe[$i] = "k" Or $Buchstabe[$i] ="K" Then
    $k = $k + 1
    EndIf
    If $Buchstabe[$i] = "l" Or $Buchstabe[$i] ="L" Then
    $l = $l + 1
    EndIf
    If $Buchstabe[$i] = "m" Or $Buchstabe[$i] ="M" Then
    $m = $m + 1
    EndIf
    If $Buchstabe[$i] = "n" Or $Buchstabe[$i] ="N"Then
    $n = $n + 1
    EndIf
    If $Buchstabe[$i] = "o" Or $Buchstabe[$i] ="O" Then
    $o = $o + 1
    EndIf
    If $Buchstabe[$i] = "p" Or $Buchstabe[$i] ="P"Then
    $p = $p + 1
    EndIf
    If $Buchstabe[$i] = "q" Or $Buchstabe[$i] ="Q" Then
    $q = $q + 1
    EndIf
    If $Buchstabe[$i] = "r" Or $Buchstabe[$i] ="R" Then
    $rr = $rr + 1
    EndIf
    If $Buchstabe[$i] = "s" Or $Buchstabe[$i] ="S" Then
    $s = $s + 1
    EndIf
    If $Buchstabe[$i] = "t" Or $Buchstabe[$i] = "T" Then
    $t = $t + 1
    EndIf
    If $Buchstabe[$i] = "u" Or $Buchstabe[$i] ="U" Then
    $u = $u + 1
    EndIf
    If $Buchstabe[$i] = "v" Or $Buchstabe[$i] ="V" Then
    $v = $v + 1
    EndIf
    If $Buchstabe[$i] = "w" Or $Buchstabe[$i] ="W"Then
    $w = $w + 1
    EndIf
    If $Buchstabe[$i] = "x" Or $Buchstabe[$i] ="X" Then
    $x = $x + 1
    EndIf
    If $Buchstabe[$i] = "y" Or $Buchstabe[$i] ="Y" Then
    $y = $y + 1
    EndIf
    If $Buchstabe[$i] = "z" Or $Buchstabe[$i] ="Z" Then
    $z = $z + 1
    EndIf
    If $Buchstabe[$i] = " " Then
    $leerzeichen = $leerzeichen + 1
    EndIf
    Next
    GUICtrlCreateLabel("A = "&$a, 0, 0)
    GUICtrlCreateLabel("B = "&$bb, 0, 20)
    GUICtrlCreateLabel("C = "&$c, 0, 40)
    GUICtrlCreateLabel("D = "&$d, 0, 60)
    GUICtrlCreateLabel("E = "&$e, 0, 80)
    GUICtrlCreateLabel("F = "&$f, 0, 100)
    GUICtrlCreateLabel("g = "&$Gg, 0, 120)
    GUICtrlCreateLabel("H = "&$h, 0, 140)
    GUICtrlCreateLabel("I = "&$ii, 0, 160)
    GUICtrlCreateLabel("J = "&$j, 0, 180)
    GUICtrlCreateLabel("K = "&$k, 0, 200)
    GUICtrlCreateLabel("L = "&$l, 0, 220)
    GUICtrlCreateLabel("M = "&$m, 0, 240)
    GUICtrlCreateLabel("N = "&$n, 0, 260)
    GUICtrlCreateLabel("O = "&$o, 0, 280)
    GUICtrlCreateLabel("P = "&$p, 100, 0)
    GUICtrlCreateLabel("Q = "&$q, 100, 20)
    GUICtrlCreateLabel("R = "&$rr, 100, 40)
    GUICtrlCreateLabel("S = "&$s, 100, 60)
    GUICtrlCreateLabel("T = "&$t, 100, 80)
    GUICtrlCreateLabel("U = "&$u, 100, 100)
    GUICtrlCreateLabel("V = "&$v, 100, 120)
    GUICtrlCreateLabel("W = "&$w, 100, 140)
    GUICtrlCreateLabel("X = "&$x, 100, 160)
    GUICtrlCreateLabel("Y = "&$y, 100, 180)
    GUICtrlCreateLabel("Z = "&$z, 100, 200)
    GUICtrlCreateLabel("Leerzeichen = "& $leerzeichen, 100, 220)
    GUICtrlCreateLabel("===========", 100, 240)
    GUICtrlCreateLabel("Wörter: "&$Worter[0], 100, 260)
    GUICtrlCreateLabel("Buchstaben: "&$Buchstabe[0], 100, 280)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "A", $a)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "B", $bb)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "C", $c)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "D", $d)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "E", $e)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "F", $f)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "G", $gg)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "H", $h)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "I", $ii)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "J", $j)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "K", $k)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "L", $l)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "M", $m)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "N", $n)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "O", $o)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "P", $p)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "Q", $q)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "R", $rr)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "S", $s)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "T", $t)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "U", $u)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "V", $v)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "W", $w)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "X", $x)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "Y", $y)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "Z", $z)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "Leerzeichen", $leerzeichen)
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "Wörter", $worter[0])
    IniWrite(@scriptdir & "/Analysen.ini", $Text, "Buchstaben", $buchstabe[0])
    EndFunc ;==>Analysieren

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

    Func _getpercent($num)
    Local $counter = 0
    For $i = 0 To UBound($chrfrequency) - 1
    If $chrfrequency[$i] <> '' Then $counter += $chrfrequency[$i]
    Next
    Return Round($chrfrequency[$num] / $counter * 100 * (-3.6))
    EndFunc ;==>_getpercent

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

    Func _getangle($num)
    Local $add = 0
    For $i = 0 To $num
    $add += _getpercent($i)
    Next
    Return 180 + $add
    EndFunc ;==>_getangle

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

    While 1
    $Gui = GUIGetMsg()
    Switch $gui
    Case $GUI_EVENT_CLOSE
    Exit
    Case $menu2
    If $Buchstabe <>0 Then

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

    Else
    Analysieren()
    EndIf
    ;~ Case $but
    ;~ analysieren()
    EndSwitch
    WEnd

    [/autoit]


    Es wäre vielleicht wirklich noch Sinnvoll den entsprechenden Buchstaben in das Tortenstück zu schreiben. Vielleicht könnte man die Farben auch noch etwas stärker ändern, also z.B. noch Rot, Grün, Orange... Töne mitreinnehmen. Evt. könnte man auch noch äöüß mit aufnehmen
    Edit: Habe es jetzt auch im Forum verewigt ^^ Buchstabenhäufigkeit

    3 Mal editiert, zuletzt von Aquaplant (19. November 2009 um 23:40)