1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. DFPWare

Beiträge von DFPWare

  • Mini UDF - buttons erstellen leicht gemacht

    • DFPWare
    • 20. Februar 2011 um 14:17

    Hey Leute

    ich hatte grade ziemlich langeweile und weil ich es nervig finde immer komplizierte pixelwerte für den abstand zum Rand, für die Breite und für die Höhe zu bemessen hab ich mir gedacht ich schreib mal ein winziges UDFchen um mir das einfacher zu machen:D

    Spoiler anzeigen
    [autoit]

    #include <GuiConstantsEx.au3>
    Global $realleft,$realtop,$realwidth,$realheight
    #region Beispiel Anfang
    GUICreate("ButtonCreate Test", 190, 190)
    _buttonsetup(10, 10, 50, 50)
    $button1 = _buttoncreate("1", 1, 1, 1, 1)
    _buttoncreate("2", 2, 1, 1, 1)
    _buttoncreate("3", 3, 1, 1, 1)
    _buttoncreate("4", 1, 2, 2, 1)
    _buttoncreate("5", 3, 2, 1, 2)
    _buttoncreate("6", 1, 3, 2, 1)
    GUISetState()
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $button1
    MsgBox(0, "", "hallo")
    EndSwitch
    WEnd
    #endregion Beispiel Ende
    ; #INDEX# =======================================================================================================================
    ; Title .........: StandartButton
    ; Language ......: English
    ; Description ...: Function: create buttons easily.
    ; Author(s) .....: DFPWare
    ; ===============================================================================================================================
    ; #CURRENT# =====================================================================================================================
    ;_buttoncreate
    ;_buttonsetup
    ; ===============================================================================================================================
    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _buttonsetup
    ; Description ...: sets the realwidth, -height, -left, -top for _buttoncreate
    ; Syntax.........: _buttonsetup($iVerticalSpace, $iHorizontalSpace, $iCellWidth, $iCellHeight)
    ; Parameters ....: $iHorizontalSpace - left distance to border
    ; $iVerticalSpace - top distance to border
    ; $iCellWidth - width of the button
    ; $iCellHeight - height of the button
    ; Return value(s): -
    ; Author ........: DFPWare
    ; Example .......: No
    ; ===============================================================================================================================
    Func _buttonsetup($iHorizontalSpace, $iVerticalSpace, $iCellWidth, $iCellHeight)
    $realleft = $iHorizontalSpace
    $realtop = $iVerticalSpace
    $realwidth = $iCellWidth
    $realheight = $iCellHeight
    EndFunc ;==>_buttonsetup
    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _buttoncreate
    ; Description ...: creates a button easily
    ; Syntax.........: _buttoncreate($Text,$left,$top,$width,$height)
    ; Parameters ....: $Text - Text on the button
    ; $left - left distance to border
    ; $top - top distance to border
    ; $width - width of the button
    ; $height - height of the button
    ; Return value(s): Control ID
    ; Author ........: DFPWare
    ; Example .......: No
    ; ===============================================================================================================================
    Func _buttoncreate($Text, $left, $top, $width, $height)
    Local $left1, $top1, $width1, $height1
    $retvar = GUICtrlCreateButton($Text, $realleft + (($realleft + $realwidth) * ($left - 1)), $realtop + (($realtop + $realheight) * ($top - 1)), $realwidth + (($realleft + $realwidth) * ($width - 1)), $realheight + (($realtop + $realheight) * ($height - 1)))
    Return $retvar
    EndFunc ;==>_buttoncreate

    [/autoit]

    PS: mit Beispiel;)

  • Includes in Datei einbinden

    • DFPWare
    • 20. Februar 2011 um 13:14

    ich hab überhaupt keinen kontextmenüeintrag der so heißt

    guck:

    [Blockierte Grafik: http://www.bilder-hochladen.net/files/hdhc-1.jpg]

  • Includes in Datei einbinden

    • DFPWare
    • 20. Februar 2011 um 12:40

    ich hab 3.3.4.0 :D

    so jetzt hab ich 3.3.6.1 und es kommt immer noch keine derartige funktion im rechtsklick-menü-.-

  • Includes in Datei einbinden

    • DFPWare
    • 20. Februar 2011 um 12:16

    ich habe autoit installiert...

    trozdem ist da kein menü das compile with options heißt nur normales compile

  • Tabellen formatieren in autoit

    • DFPWare
    • 20. Februar 2011 um 11:23

    Zellen anklicken geht z.B so:

    [autoit]

    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $listitem1
    MsgBox(0,"","Sie haben auf den ersten Eintrag geklickt")
    Case $listitem2
    MsgBox(0,"","Sie haben auf den zweiten Eintrag geklickt")
    Case $listitem3
    MsgBox(0,"","Sie haben auf den dritten Eintrag geklickt")
    EndSwitch

    [/autoit]
  • Includes in Datei einbinden

    • DFPWare
    • 20. Februar 2011 um 11:17

    autoBert: huh? wie sieht denn dein compiler aus?

    ist das nich aut2exe?

  • GTR - (jetzt aber) Graphischer Taschenrechner

    • DFPWare
    • 19. Februar 2011 um 13:21

    Fresapore

    den Graphenzeichner habe ich wie gesagt von Stayawayknight übernommen:D

    das mit dem GuiDelete() liegt daran, dass ich das mit shellexecute ausführen lasse:D

    hat jemand ne ahnung, wie man das beheben kann?=)

  • GTR - (jetzt aber) Graphischer Taschenrechner

    • DFPWare
    • 18. Februar 2011 um 17:40

    Ineluki: du hast recht... offensichtlich darf x nur einmal vorkommen. das ist mir gar nicht aufgefallen frag das mal stayawayknight bei seinem skript klappt das auch nicht

    @twodollarbillie: ich wollte gerne einen TR machen der einfach eine datei ist und fertig, darum hab ich auch keine bilder mit reingenommen

  • GTR - (jetzt aber) Graphischer Taschenrechner

    • DFPWare
    • 18. Februar 2011 um 17:19

    ich weiß aber das passt c.a und ich hab keine ahnung wie ich das übers internet machen soll

  • Pc Bereingen

    • DFPWare
    • 18. Februar 2011 um 16:42

    ohja das problem hatte ich auch letztens:D

    wenn dein "Benutzer"-Ordner ziemlich groß ist und du nicht weißt warum dann guck mal wie groß dieser ordner ist: C:\Users\Florian L\AppData\Local\Temp Sollten nicht mehr als 2GB sein, wenn es viel mehr ist dann such nach filmen die du mal konvertiert hast :D


    Edit: alles unter Windows7

  • UEZ hat Geburtstag

    • DFPWare
    • 17. Februar 2011 um 21:45

    Hey UEZ

    auch von mir alles Gute und feier schön:)

    autoBert: kann man das nicht auch ohne GDI+ machen mit nem Label mit dem Style $GUI_WS_EX_PARENTDRAG

  • neue gui erstellen

    • DFPWare
    • 16. Februar 2011 um 20:10

    hab deinen namen schon reingeschrieben;)

  • neue gui erstellen

    • DFPWare
    • 16. Februar 2011 um 18:57

    ja also ich muss die funktionen aus der funktion GTR() rausnehmen...

    dann sieht das so aus:

    Spoiler anzeigen
    [autoit]

    #include<GuiConstantsEx.au3>
    #include<WindowsConstants.au3>
    #include<EditConstants.au3>
    #include<ButtonConstants.au3>
    #include<SliderConstants.au3>
    #include<GuiSlider.au3>
    #include<Misc.au3>
    #include<GDIPlus.au3>
    #include<SliderConstants.au3>
    #include<GuiListView.au3>
    #include<Array.au3>
    Dim $Control[39]
    Global $speichervar
    $Taschenrechner = GUICreate("Taschenrechner",580,370,-1,-1,$WS_POPUP)
    GUISetBkColor(0x000000)
    $verschiebungscontrol=GUICtrlCreateLabel("",0,0,520,40,"",$GUI_WS_EX_PARENTDRAG)
    $bClose = GUICtrlCreateButton("X",550,10,20,20)
    $bMinimize = GUICtrlCreateButton("_",520,10,20,20)
    $input = GUICtrlCreateInput("",10,40,560,50)
    GUICtrlSetFont($input,30,1000)
    GUICtrlSetBkColor($input,0xFFFFAA)
    $Control[1] = GUICtrlCreateButton("GTR",10,100,130,95)
    $Control[3] = GUICtrlCreateButton("ASin",150,100,60,40)
    $Control[4] = GUICtrlCreateButton("ACos",220,100,60,40)
    $Control[5] = GUICtrlCreateButton("AC",300,100,60,40)
    $Control[6] = GUICtrlCreateButton("(-)",370,100,60,40)
    $Control[7] = GUICtrlCreateButton("÷",440,100,60,40)
    $Control[8] = GUICtrlCreateButton("x",510,100,60,40)
    $Control[11] = GUICtrlCreateButton("ATan",150,155,60,40)
    $Control[12] = GUICtrlCreateButton("%",220,155,60,40)
    $Control[13] = GUICtrlCreateButton("7",300,155,60,40)
    $Control[14] = GUICtrlCreateButton("8",370,155,60,40)
    $Control[15] = GUICtrlCreateButton("9",440,155,60,40)
    $Control[16] = GUICtrlCreateButton("-",510,155,60,40)
    $Control[17] = GUICtrlCreateButton("(",10,210,60,40)
    $Control[18] = GUICtrlCreateButton(")",80,210,60,40)
    $Control[19] = GUICtrlCreateButton("Sqrt",150,210,60,40)
    $Control[20] = GUICtrlCreateButton("Sqrt³",220,210,60,40)
    $Control[21] = GUICtrlCreateButton("4",300,210,60,40)
    $Control[22] = GUICtrlCreateButton("5",370,210,60,40)
    $Control[23] = GUICtrlCreateButton("6",440,210,60,40)
    $Control[24] = GUICtrlCreateButton("+",510,210,60,40)
    $Control[25] = GUICtrlCreateButton("x²",10,265,60,40)
    $Control[26] = GUICtrlCreateButton("x³",80,265,60,40)
    $Control[27] = GUICtrlCreateButton("xª",150,265,60,40)
    $Control[28] = GUICtrlCreateButton("Pi",220,265,60,40)
    $Control[29] = GUICtrlCreateButton("1",300,265,60,40)
    $Control[30] = GUICtrlCreateButton("2",370,265,60,40)
    $Control[31] = GUICtrlCreateButton("3",440,265,60,40)
    $Control[32] = GUICtrlCreateButton("=",510,265,60,95)
    $Control[33] = GUICtrlCreateButton("Sin",10,320,60,40)
    $Control[34] = GUICtrlCreateButton("Cos",80,320,60,40)
    $Control[35] = GUICtrlCreateButton("Tan",150,320,60,40)
    $Control[36] = GUICtrlCreateButton("Ans",220,320,60,40)
    $Control[37] = GUICtrlCreateButton("0",300,320,130,40)
    $Control[38] = GUICtrlCreateButton(",",440,320,60,40)
    For $i=1 To 38 Step 1
    GUICtrlSetFont($Control[$i],20,800)
    Next
    GUISetState(@SW_SHOW)
    GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND')
    While 1
    $inputRead1 = GUICtrlRead($input)
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $bClose
    Exit
    Case $bMinimize
    GUISetState(@SW_MINIMIZE)
    Case $Control[1]
    GTR()
    Case $Control[3]
    _setdata("ASin(")
    Case $Control[4]
    _setdata("ACos(")
    Case $Control[5]
    GUICtrlSetData($input,"")
    Case $Control[6]
    GUICtrlSetData($input,"-"&$inputRead1)
    Case $Control[8]
    _setdata("*")
    Case $Control[7]
    _setdata("/")
    Case $Control[11]
    _setdata("ATan(")
    Case $Control[12]
    $zwischenvar = Execute(GUICtrlRead($input)/100)
    GUICtrlSetData($input,$zwischenvar)
    Case $Control[13]
    _setdata("7")
    Case $Control[14]
    _setdata("8")
    Case $Control[15]
    _setdata("9")
    Case $Control[16]
    _setdata("-")
    Case $Control[17]
    _setdata("(")
    Case $Control[18]
    _setdata(")")
    Case $Control[19]
    _setdata("sqrt(")
    Case $Control[20]
    _setdata(" ^ (1/3)")
    Case $Control[21]
    _setdata("4")
    Case $Control[22]
    _setdata("5")
    Case $Control[23]
    _setdata("6")
    Case $Control[24]
    _setdata("+")
    Case $Control[25]
    _setdata("^2")
    Case $Control[26]
    _setdata("^3")
    Case $Control[27]
    _setdata(" ^ ")
    Case $Control[28]
    _setdata("3,1416")
    Case $Control[29]
    _setdata("1")
    Case $Control[30]
    _setdata("2")
    Case $Control[31]
    _setdata("3")
    Case $Control[32]
    _rechnen()
    Case $Control[33]
    _setdata("sin(")
    Case $Control[34]
    _setdata("Cos(")
    Case $Control[35]
    _setdata("Tan(")
    Case $Control[36]
    _setdata($speichervar)
    Case $Control[37]
    _setdata("0")
    Case $Control[38]
    _setdata(".")
    EndSwitch
    WEnd
    Func _rechnen()
    $output = Execute(GUICtrlRead($input))
    $speichervar = $output

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

    GUICtrlSetData($input,"="&$output)
    EndFunc
    Func _setdata($data1)
    GUICtrlSetData($input,$inputRead1&$data1)
    EndFunc
    Func WM_COMMAND($hWnd, $Msg, $wParam, $lParam)
    Local $nNotifyCode, $nID
    $nNotifyCode = BitShift($wParam, 16)
    $nID = BitAND($wParam, 0x0000FFFF)
    Switch $nID
    Case $input
    Switch $nNotifyCode
    Case $EN_SETFOCUS
    GUICtrlSendMsg($input, $EM_SETSEL, 0, -1)
    GUICtrlSetState($input, $GUI_FOCUS)
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc

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

    #cs **************************************************
    ****alles ab hier kommt von Stayawayknight Danke;)****
    #ce***************************************************

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

    Func GTR()
    GUIDelete($Taschenrechner)

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

    ;###User Options Start
    $sCoordfarbe = "0xFF800000" ;Gitterfarbe in ARGB
    $sGridColor = "0xFF99FFFF" ;Koordinatensystemfarbe in ARGB
    $sBackgroundcolor = "0x000000" ;Hintergrundfarbe in RGB
    $sXColor = "0xFFFFFFFF" ;Farbe der X, die beim Klicken erscheinen in ARGB
    $iLineWidth = 6 ;Graphenlinienbreite
    ;###User Options Ende

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

    ;###Options Start
    Opt("GuiOnEventMode", 1)
    HotKeySet("{ESC}", "ende")
    OnAutoItExitRegister("ende")
    Const $iNullx = Round((@DesktopWidth - 200) / 2)
    Const $iNully = Round((@DesktopHeight - 200) / 2)
    $sTitle = "Funktionsgraph"
    $sTitle2 = "Einstellungsmenü"
    $bDrawed = False
    ;###Options Ende
    ;###Gui Start
    $hGui = GUICreate($sTitle, @DesktopWidth - 200, @DesktopHeight - 200, 100, 100)
    GUISetBkColor($sBackgroundcolor, $hGui)
    GUISetState(@SW_SHOW, $hGui)
    ;Neue Gui:
    $hSettings = GUICreate($sTitle2, 350, 280, @DesktopWidth - 350, @DesktopHeight - 280, BitOR($WS_CAPTION, $WS_GROUP), $WS_EX_TOPMOST, $hGui)
    GUISetBkColor(0xFFFFFF, $hSettings)
    $cMousePos = GUICtrlCreateLabel("MousePos:", 0, 0, 300, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
    $cCGrid = GUICtrlCreateCheckbox("Grid", 0, 25, 50, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
    GUICtrlSetState(-1, $GUI_CHECKED)
    $cCUnitCircle = GUICtrlCreateCheckbox("Unit Circle", 52, 25, 85, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
    $cCScale = GUICtrlCreateCheckbox("Scale", 140, 25, 60, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlCreateButton("Generate", 202, 25, 80, 20)
    GUICtrlSetOnEvent(-1, "generate")
    GUICtrlCreateButton("Add function", 0, 60, 90, 20)
    GUICtrlSetOnEvent(-1, "addfunc")
    GUICtrlCreateButton("Delete function", 95, 60, 100, 20)
    GUICtrlSetOnEvent(-1, "deletefunc")
    GUICtrlCreateButton("Quit", 200, 60, 100, 20)
    GUICtrlSetOnEvent(-1, "ende")
    $cObjektlist = GUICtrlCreateListView("Objekttyp |Wert |Farbe ", 0, 82, 300, 140)
    $cZoom = GUICtrlCreateSlider(310, 55, 25, 165, $TBS_VERT)
    GUICtrlSetLimit(-1, 200, 1)
    GUICtrlSetData($cZoom, 20)
    $cZoomlabel = GUICtrlCreateLabel("Zoom:" & @CRLF & GUICtrlRead($cZoom), 296, 0, 40, 60)
    GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
    For $i = 10 To 200 Step 10
    _GUICtrlSlider_SetTic($cZoom, $i)
    Next
    $cButtonBk = GUICtrlCreateButton("Background", 0, 230, 60, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, $sBackgroundcolor)
    GUICtrlSetOnEvent(-1, "setbk")
    $cButtonSystem = GUICtrlCreateButton("System", 65, 230, 40, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, StringReplace($sCoordfarbe, "0xFF", "0x"))
    GUICtrlSetOnEvent(-1, "setsystem")
    $cButtonGrid = GUICtrlCreateButton("Grid", 110, 230, 30, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, StringReplace($sGridColor, "0xFF", "0x"))
    GUICtrlSetOnEvent(-1, "setgrid")
    $cButtonMark = GUICtrlCreateButton("Mark", 145, 230, 30, 20)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, StringReplace($sXColor, "0xFF", "0x"))
    GUICtrlSetOnEvent(-1, "setmark")
    ControlFocus($sTitle2, "", $cObjektlist)
    GUISetState(@SW_SHOW, $hSettings)
    ;###Gui Ende
    ;###GDIPlus Start
    _GDIPlus_Startup()
    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGui)
    $Pen2 = _GDIPlus_PenCreate($sGridColor, 1)
    $Pen1 = _GDIPlus_PenCreate($sCoordfarbe, 1)
    $Pen3 = _GDIPlus_PenCreate($sXColor, 1)
    $Brush1 = _GDIPlus_BrushCreateSolid(0xFFFFFFFF)
    ;###GDIPlus Ende
    While 1
    $aPos = GUIGetCursorInfo($hGui)
    $iZoom = GUICtrlRead($cZoom) ;Zoom
    $iAbstand = Round((@DesktopHeight-200) / $iZoom)
    GUICtrlSetData($cMousePos, "Mousepos: (" & Round(($aPos[0] - $iNullx) / $iAbstand, 2) & "|" & Round(calcytocoords($aPos[1]) / $iAbstand, 2) & ")")
    If _IsPressed(01) Then
    drawX()
    Do
    Until Not _IsPressed(01)
    EndIf
    GUICtrlSetData($cZoomlabel, "Zoom:" & @CRLF & GUICtrlRead($cZoom))
    Sleep(100)
    WEnd
    ende()

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

    EndFunc

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

    Func generate()
    GUISetBkColor($sBackgroundcolor, $hGui)
    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGui)
    If GUICtrlRead($cCGrid) = $GUI_CHECKED Then
    $bGrid = True
    Else
    $bGrid = False
    EndIf
    If GUICtrlRead($cCScale) = $GUI_CHECKED Then
    $bScale = True
    Else
    $bScale = False
    EndIf
    If GUICtrlRead($cCUnitCircle) = $GUI_CHECKED Then
    $bEinheitskreis = True
    Else
    $bEinheitskreis = False
    EndIf
    ;###Netz erstellen Start
    For $i = 1 To (@DesktopWidth - 200) / $iAbstand ;Beschriftung
    If $bGrid = True Then
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx + $iAbstand * $i, 0, $iNullx + $iAbstand * $i, (@DesktopHeight - 200), $Pen2) ;x rechts
    _GDIPlus_GraphicsDrawLine($hGraphics, 0, $iNully - $iAbstand * $i, (@DesktopWidth - 200), $iNully - $iAbstand * $i, $Pen2);y oben
    _GDIPlus_GraphicsDrawLine($hGraphics, 0, $iNully + $iAbstand * $i, (@DesktopWidth - 200), $iNully + $iAbstand * $i, $Pen2);y unten
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx - $iAbstand * $i, 0, $iNullx - $iAbstand * $i, (@DesktopWidth - 200), $Pen2);x links
    EndIf
    If $bScale = True Then
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx + $iAbstand * $i, $iNully - 10, $iNullx + $iAbstand * $i, $iNully + 10, $Pen1) ;x rechts
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx - 10, $iNully - $iAbstand * $i, $iNullx + 10, $iNully - $iAbstand * $i, $Pen1);y oben
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx - 10, $iNully + $iAbstand * $i, $iNullx + 10, $iNully + $iAbstand * $i, $Pen1);y unten
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx - $iAbstand * $i, $iNully - 10, $iNullx - $iAbstand * $i, $iNully + 10, $Pen1);x links
    EndIf
    Next
    _GDIPlus_GraphicsDrawLine($hGraphics, 0, $iNully, (@DesktopWidth - 200), $iNully, $Pen1) ;x-Achse
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx, 0, $iNullx, (@DesktopHeight - 200), $Pen1);y-Achse
    If $bEinheitskreis = True Then
    _GDIPlus_GraphicsDrawEllipse($hGraphics, $iNullx - ($iAbstand * 1), $iNully - ($iAbstand * 1), $iAbstand * 2, $iAbstand * 2, $Pen1)
    EndIf
    GUISetState(@SW_DISABLE, $hSettings)
    Sleep(1000)
    ;###Netz erstellen Ende
    For $i = 0 To _GUICtrlListView_GetItemCount($cObjektlist) - 1
    Local $sY = _GUICtrlListView_GetItemTextString($cObjektlist, $i)
    Local $aSplitted = StringSplit($sY, "|")
    If $aSplitted[1] = "Function" Then
    draw($aSplitted[2], $aSplitted[3])
    Else
    Local $aSplitted2 = StringSplit($aSplitted[2], "/")
    $aSplitted2[1] = StringReplace($aSplitted2[1], "(", "")
    $aSplitted2[2] = StringReplace($aSplitted2[2], ")", "")
    drawX(Round(($aSplitted2[1] * $iAbstand) + $iNullx), Round((($aSplitted2[2] * (-1)) * $iAbstand) + $iNully))
    EndIf
    Next
    GUISetState(@SW_ENABLE, $hSettings)
    ToolTip("Done!")
    Sleep(2000)
    ToolTip("")
    EndFunc ;==>generate

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

    Func draw($sFunktion, $sColor)
    Local $Brush1 = _GDIPlus_BrushCreateSolid($sColor)
    $sFunktion = StringReplace($sFunktion, "x", "($i / $iAbstand)")
    ToolTip(StringReplace(StringReplace($sFunktion, "$i", "x"), " / xAbstand", ""))
    Sleep(2000)
    For $i = -((@DesktopWidth - 200) / 2) To (@DesktopWidth -200) / 2
    ToolTip("i = " & $i & "; X = " & Round(Calcxtocoords($i)) & "; Y = " & Round(calcytocoords(Execute($sFunktion))) & "; Funktionswert = " & Execute($sFunktion))
    _GDIPlus_GraphicsFillEllipse($hGraphics, Round(Calcxtocoords($i) - ($iLineWidth / 2)), Round(calcytocoords(Execute($sFunktion) * ($iAbstand)) - ($iLineWidth / 2)), $iLineWidth, $iLineWidth, $Brush1)
    Next
    $bDrawed = True
    EndFunc ;==>draw

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

    Func drawX($iMousePosx = -1, $iMousePosy = -1)
    If $bDrawed = False Then Return
    If $iMousePosx = -1 And $iMousePosy = -1 Then
    If WinGetState($sTitle2, "") = 8 Then Return
    If _MousePosCheck() = 1 Then Return
    Local $aPos = GUIGetCursorInfo($hGui)
    $iMousePosx = $aPos[0]
    $iMousePosy = $aPos[1]
    _GDIPlus_GraphicsDrawLine($hGraphics, $aPos[0] - 7, $aPos[1] - 7, $aPos[0] + 7, $aPos[1] + 7, $Pen3)
    _GDIPlus_GraphicsDrawLine($hGraphics, $aPos[0] + 7, $aPos[1] - 7, $aPos[0] - 7, $aPos[1] + 7, $Pen3)
    GUICtrlCreateListViewItem("Mark|(" & Round(($aPos[0] - $iNullx) / $iAbstand, 2) & "/" & Round(calcytocoords($aPos[1]) / $iAbstand, 2) & ")|" & $sXColor, $cObjektlist)
    Else
    _GDIPlus_GraphicsDrawLine($hGraphics, $iMousePosx - 7, $iMousePosy - 7, $iMousePosx + 7, $iMousePosy + 7, $Pen3)
    _GDIPlus_GraphicsDrawLine($hGraphics, $iMousePosx + 7, $iMousePosy - 7, $iMousePosx - 7, $iMousePosy + 7, $Pen3)
    EndIf
    EndFunc ;==>drawX

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

    Func addfunc()
    $bDrawed = False
    Do
    Local $sInputFunktion = InputBox("Function", "Enter a function, please!" & @CRLF & "Use x for the variable!" & @CRLF & "Y=", Default, Default, Default, Default, Default, Default, $hGui)
    Until $sInputFunktion <> "" Or @error
    If @error Then Return
    Do
    Local $sColor = _ChooseColor(2, 0x990000, Default, $hGui)
    Until $sColor <> -1 Or @error
    If @error Then Return
    Local $sColor2 = StringReplace($sColor, "0x", "0xFF")
    GUICtrlSetBkColor(GUICtrlCreateListViewItem("Function|" & $sInputFunktion & "|" & $sColor2, $cObjektlist), $sColor)
    EndFunc ;==>addfunc

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

    Func _MousePosCheck()
    Local $aPos = WinGetPos($sTitle2)
    $x_check = $aPos[0]
    $y_check = $aPos[1]
    $x_size = $aPos[2]
    $y_size = $aPos[3]
    If MouseGetPos(0) >= $x_check And MouseGetPos(0) <= $x_check + $x_size And MouseGetPos(1) >= $y_check And MouseGetPos(1) <= $y_check + $y_size Then
    Return (1)
    Else
    Return (0)
    EndIf
    EndFunc ;==>_MousePosCheck

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

    Func deletefunc()
    _GUICtrlListView_DeleteItemsSelected($cObjektlist)
    EndFunc ;==>deletefunc

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

    Func setbk()
    $sBackgroundcolor = _ChooseColor(2, 0x000000)
    GUICtrlSetBkColor($cButtonBk, $sBackgroundcolor)
    EndFunc ;==>setbk

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

    Func setmark()
    $sXColor = StringReplace(_ChooseColor(2, 0x000000), "0x", "0xFF")
    GUICtrlSetBkColor($cButtonMark, $sXColor)
    EndFunc ;==>setmark

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

    Func setgrid()
    $sGridColor = StringReplace(_ChooseColor(2, 0x000000), "0x", "0xFF")
    GUICtrlSetBkColor($cButtonGrid, $sGridColor)
    EndFunc ;==>setgrid

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

    Func setsystem()
    $sCoordfarbe = StringReplace(_ChooseColor(2, 0x000000), "0x", "0xFF")
    GUICtrlSetBkColor($cButtonSystem, $sCoordfarbe)
    EndFunc ;==>setsystem

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

    Func calcxtocoords($iX)
    Return $iX + $iNullx
    EndFunc ;==>calcxtocoords

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

    Func calcytocoords($iY)
    Return (-$iY + $iNully)
    EndFunc ;==>calcytocoords

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

    Func ende()
    _GDIPlus_PenDispose($Pen1)
    _GDIPlus_PenDispose($Pen2)
    _GDIPlus_PenDispose($Pen3)
    _GDIPlus_BrushDispose($Brush1)
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_Shutdown()
    Exit
    EndFunc ;==>ende

    [/autoit]


    jetzt kommen aber 2 variable used without being declared fehler ?(

  • neue gui erstellen

    • DFPWare
    • 16. Februar 2011 um 18:49

    is das bei open source nich so, dass man alle skripte nach belieben verändern darf?

  • neue gui erstellen

    • DFPWare
    • 16. Februar 2011 um 18:42

    Hey Leute

    ich habe ja schon ein Skript zu einem Taschenrechner gepostet.

    Jetzt wollte ich den Graphenzeichner von Stayawayknight einfügen aber so ganz klappt das noch nicht:(


    Spoiler anzeigen
    [autoit]

    #include<GuiConstantsEx.au3>
    #include<WindowsConstants.au3>
    #include<EditConstants.au3>
    #include<ButtonConstants.au3>
    #include<SliderConstants.au3>
    #include<GuiSlider.au3>
    #include<Misc.au3>
    #include<GDIPlus.au3>
    #include<SliderConstants.au3>
    #include<GuiListView.au3>
    #include<Array.au3>
    Dim $Control[39]
    Global $speichervar
    $Taschenrechner = GUICreate("Taschenrechner",580,370,-1,-1,$WS_POPUP)
    GUISetBkColor(0x000000)
    $verschiebungscontrol=GUICtrlCreateLabel("",0,0,520,40,"",$GUI_WS_EX_PARENTDRAG)
    $bClose = GUICtrlCreateButton("X",550,10,20,20)
    $bMinimize = GUICtrlCreateButton("_",520,10,20,20)
    $input = GUICtrlCreateInput("",10,40,560,50)
    GUICtrlSetFont($input,30,1000)
    GUICtrlSetBkColor($input,0xFFFFAA)
    $Control[1] = GUICtrlCreateButton("GTR",10,100,130,95)
    $Control[3] = GUICtrlCreateButton("ASin",150,100,60,40)
    $Control[4] = GUICtrlCreateButton("ACos",220,100,60,40)
    $Control[5] = GUICtrlCreateButton("AC",300,100,60,40)
    $Control[6] = GUICtrlCreateButton("(-)",370,100,60,40)
    $Control[7] = GUICtrlCreateButton("÷",440,100,60,40)
    $Control[8] = GUICtrlCreateButton("x",510,100,60,40)
    $Control[11] = GUICtrlCreateButton("ATan",150,155,60,40)
    $Control[12] = GUICtrlCreateButton("%",220,155,60,40)
    $Control[13] = GUICtrlCreateButton("7",300,155,60,40)
    $Control[14] = GUICtrlCreateButton("8",370,155,60,40)
    $Control[15] = GUICtrlCreateButton("9",440,155,60,40)
    $Control[16] = GUICtrlCreateButton("-",510,155,60,40)
    $Control[17] = GUICtrlCreateButton("(",10,210,60,40)
    $Control[18] = GUICtrlCreateButton(")",80,210,60,40)
    $Control[19] = GUICtrlCreateButton("Sqrt",150,210,60,40)
    $Control[20] = GUICtrlCreateButton("Sqrt³",220,210,60,40)
    $Control[21] = GUICtrlCreateButton("4",300,210,60,40)
    $Control[22] = GUICtrlCreateButton("5",370,210,60,40)
    $Control[23] = GUICtrlCreateButton("6",440,210,60,40)
    $Control[24] = GUICtrlCreateButton("+",510,210,60,40)
    $Control[25] = GUICtrlCreateButton("x²",10,265,60,40)
    $Control[26] = GUICtrlCreateButton("x³",80,265,60,40)
    $Control[27] = GUICtrlCreateButton("xª",150,265,60,40)
    $Control[28] = GUICtrlCreateButton("Pi",220,265,60,40)
    $Control[29] = GUICtrlCreateButton("1",300,265,60,40)
    $Control[30] = GUICtrlCreateButton("2",370,265,60,40)
    $Control[31] = GUICtrlCreateButton("3",440,265,60,40)
    $Control[32] = GUICtrlCreateButton("=",510,265,60,95)
    $Control[33] = GUICtrlCreateButton("Sin",10,320,60,40)
    $Control[34] = GUICtrlCreateButton("Cos",80,320,60,40)
    $Control[35] = GUICtrlCreateButton("Tan",150,320,60,40)
    $Control[36] = GUICtrlCreateButton("Ans",220,320,60,40)
    $Control[37] = GUICtrlCreateButton("0",300,320,130,40)
    $Control[38] = GUICtrlCreateButton(",",440,320,60,40)
    For $i=1 To 38 Step 1
    GUICtrlSetFont($Control[$i],20,800)
    Next
    GUISetState(@SW_SHOW)
    GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND')
    While 1
    $inputRead1 = GUICtrlRead($input)
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $bClose
    Exit
    Case $bMinimize
    GUISetState(@SW_MINIMIZE)
    Case $Control[1]
    GTR()
    Case $Control[3]
    _setdata("ASin(")
    Case $Control[4]
    _setdata("ACos(")
    Case $Control[5]
    GUICtrlSetData($input,"")
    Case $Control[6]
    GUICtrlSetData($input,"-"&$inputRead1)
    Case $Control[8]
    _setdata("*")
    Case $Control[7]
    _setdata("/")
    Case $Control[11]
    _setdata("ATan(")
    Case $Control[12]
    $zwischenvar = Execute(GUICtrlRead($input)/100)
    GUICtrlSetData($input,$zwischenvar)
    Case $Control[13]
    _setdata("7")
    Case $Control[14]
    _setdata("8")
    Case $Control[15]
    _setdata("9")
    Case $Control[16]
    _setdata("-")
    Case $Control[17]
    _setdata("(")
    Case $Control[18]
    _setdata(")")
    Case $Control[19]
    _setdata("sqrt(")
    Case $Control[20]
    _setdata(" ^ (1/3)")
    Case $Control[21]
    _setdata("4")
    Case $Control[22]
    _setdata("5")
    Case $Control[23]
    _setdata("6")
    Case $Control[24]
    _setdata("+")
    Case $Control[25]
    _setdata("^2")
    Case $Control[26]
    _setdata("^3")
    Case $Control[27]
    _setdata(" ^ ")
    Case $Control[28]
    _setdata("3,1416")
    Case $Control[29]
    _setdata("1")
    Case $Control[30]
    _setdata("2")
    Case $Control[31]
    _setdata("3")
    Case $Control[32]
    _rechnen()
    Case $Control[33]
    _setdata("sin(")
    Case $Control[34]
    _setdata("Cos(")
    Case $Control[35]
    _setdata("Tan(")
    Case $Control[36]
    _setdata($speichervar)
    Case $Control[37]
    _setdata("0")
    Case $Control[38]
    _setdata(".")
    EndSwitch
    WEnd
    Func _rechnen()
    $output = Execute(GUICtrlRead($input))
    $speichervar = $output

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

    GUICtrlSetData($input,"="&$output)
    EndFunc
    Func _setdata($data1)
    GUICtrlSetData($input,$inputRead1&$data1)
    EndFunc
    Func WM_COMMAND($hWnd, $Msg, $wParam, $lParam)
    Local $nNotifyCode, $nID
    $nNotifyCode = BitShift($wParam, 16)
    $nID = BitAND($wParam, 0x0000FFFF)
    Switch $nID
    Case $input
    Switch $nNotifyCode
    Case $EN_SETFOCUS
    GUICtrlSendMsg($input, $EM_SETSEL, 0, -1)
    GUICtrlSetState($input, $GUI_FOCUS)
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc
    Func GTR()
    GUIDelete($Taschenrechner)

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

    ;###User Options Start
    $sCoordfarbe = "0xFF800000" ;Gitterfarbe in ARGB
    $sGridColor = "0xFF99FFFF" ;Koordinatensystemfarbe in ARGB
    $sBackgroundcolor = "0x000000" ;Hintergrundfarbe in RGB
    $sXColor = "0xFFFFFFFF" ;Farbe der X, die beim Klicken erscheinen in ARGB
    $iLineWidth = 6 ;Graphenlinienbreite
    ;###User Options Ende

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

    ;###Options Start
    Opt("GuiOnEventMode", 1)
    HotKeySet("{ESC}", "ende")
    OnAutoItExitRegister("ende")
    Const $iNullx = Round((@DesktopWidth - 200) / 2)
    Const $iNully = Round((@DesktopHeight - 200) / 2)
    $sTitle = "Funktionsgraph"
    $sTitle2 = "Einstellungsmenü"
    $bDrawed = False
    ;###Options Ende
    ;###Gui Start
    $hGui = GUICreate($sTitle, @DesktopWidth - 200, @DesktopHeight - 200, 100, 100)
    GUISetBkColor($sBackgroundcolor, $hGui)
    GUISetState(@SW_SHOW, $hGui)
    ;Neue Gui:
    $hSettings = GUICreate($sTitle2, 350, 280, @DesktopWidth - 350, @DesktopHeight - 280, BitOR($WS_CAPTION, $WS_GROUP), $WS_EX_TOPMOST, $hGui)
    GUISetBkColor(0xFFFFFF, $hSettings)
    $cMousePos = GUICtrlCreateLabel("MousePos:", 0, 0, 300, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
    $cCGrid = GUICtrlCreateCheckbox("Grid", 0, 25, 50, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
    GUICtrlSetState(-1, $GUI_CHECKED)
    $cCUnitCircle = GUICtrlCreateCheckbox("Unit Circle", 52, 25, 85, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
    $cCScale = GUICtrlCreateCheckbox("Scale", 140, 25, 60, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlCreateButton("Generate", 202, 25, 80, 20)
    GUICtrlSetOnEvent(-1, "generate")
    GUICtrlCreateButton("Add function", 0, 60, 90, 20)
    GUICtrlSetOnEvent(-1, "addfunc")
    GUICtrlCreateButton("Delete function", 95, 60, 100, 20)
    GUICtrlSetOnEvent(-1, "deletefunc")
    GUICtrlCreateButton("Quit", 200, 60, 100, 20)
    GUICtrlSetOnEvent(-1, "ende")
    $cObjektlist = GUICtrlCreateListView("Objekttyp |Wert |Farbe ", 0, 82, 300, 140)
    $cZoom = GUICtrlCreateSlider(310, 55, 25, 165, $TBS_VERT)
    GUICtrlSetLimit(-1, 200, 1)
    GUICtrlSetData($cZoom, 20)
    $cZoomlabel = GUICtrlCreateLabel("Zoom:" & @CRLF & GUICtrlRead($cZoom), 296, 0, 40, 60)
    GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
    For $i = 10 To 200 Step 10
    _GUICtrlSlider_SetTic($cZoom, $i)
    Next
    $cButtonBk = GUICtrlCreateButton("Background", 0, 230, 60, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, $sBackgroundcolor)
    GUICtrlSetOnEvent(-1, "setbk")
    $cButtonSystem = GUICtrlCreateButton("System", 65, 230, 40, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, StringReplace($sCoordfarbe, "0xFF", "0x"))
    GUICtrlSetOnEvent(-1, "setsystem")
    $cButtonGrid = GUICtrlCreateButton("Grid", 110, 230, 30, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, StringReplace($sGridColor, "0xFF", "0x"))
    GUICtrlSetOnEvent(-1, "setgrid")
    $cButtonMark = GUICtrlCreateButton("Mark", 145, 230, 30, 20)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, StringReplace($sXColor, "0xFF", "0x"))
    GUICtrlSetOnEvent(-1, "setmark")
    ControlFocus($sTitle2, "", $cObjektlist)
    GUISetState(@SW_SHOW, $hSettings)
    ;###Gui Ende
    ;###GDIPlus Start
    _GDIPlus_Startup()
    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGui)
    $Pen2 = _GDIPlus_PenCreate($sGridColor, 1)
    $Pen1 = _GDIPlus_PenCreate($sCoordfarbe, 1)
    $Pen3 = _GDIPlus_PenCreate($sXColor, 1)
    $Brush1 = _GDIPlus_BrushCreateSolid(0xFFFFFFFF)
    ;###GDIPlus Ende
    While 1
    $aPos = GUIGetCursorInfo($hGui)
    $iZoom = GUICtrlRead($cZoom) ;Zoom
    $iAbstand = Round((@DesktopHeight-200) / $iZoom)
    GUICtrlSetData($cMousePos, "Mousepos: (" & Round(($aPos[0] - $iNullx) / $iAbstand, 2) & "|" & Round(calcytocoords($aPos[1]) / $iAbstand, 2) & ")")
    If _IsPressed(01) Then
    drawX()
    Do
    Until Not _IsPressed(01)
    EndIf
    GUICtrlSetData($cZoomlabel, "Zoom:" & @CRLF & GUICtrlRead($cZoom))
    Sleep(100)
    WEnd
    ende()

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

    Func generate()
    GUISetBkColor($sBackgroundcolor, $hGui)
    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGui)
    If GUICtrlRead($cCGrid) = $GUI_CHECKED Then
    $bGrid = True
    Else
    $bGrid = False
    EndIf
    If GUICtrlRead($cCScale) = $GUI_CHECKED Then
    $bScale = True
    Else
    $bScale = False
    EndIf
    If GUICtrlRead($cCUnitCircle) = $GUI_CHECKED Then
    $bEinheitskreis = True
    Else
    $bEinheitskreis = False
    EndIf
    ;###Netz erstellen Start
    For $i = 1 To (@DesktopWidth - 200) / $iAbstand ;Beschriftung
    If $bGrid = True Then
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx + $iAbstand * $i, 0, $iNullx + $iAbstand * $i, (@DesktopHeight - 200), $Pen2) ;x rechts
    _GDIPlus_GraphicsDrawLine($hGraphics, 0, $iNully - $iAbstand * $i, (@DesktopWidth - 200), $iNully - $iAbstand * $i, $Pen2);y oben
    _GDIPlus_GraphicsDrawLine($hGraphics, 0, $iNully + $iAbstand * $i, (@DesktopWidth - 200), $iNully + $iAbstand * $i, $Pen2);y unten
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx - $iAbstand * $i, 0, $iNullx - $iAbstand * $i, (@DesktopWidth - 200), $Pen2);x links
    EndIf
    If $bScale = True Then
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx + $iAbstand * $i, $iNully - 10, $iNullx + $iAbstand * $i, $iNully + 10, $Pen1) ;x rechts
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx - 10, $iNully - $iAbstand * $i, $iNullx + 10, $iNully - $iAbstand * $i, $Pen1);y oben
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx - 10, $iNully + $iAbstand * $i, $iNullx + 10, $iNully + $iAbstand * $i, $Pen1);y unten
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx - $iAbstand * $i, $iNully - 10, $iNullx - $iAbstand * $i, $iNully + 10, $Pen1);x links
    EndIf
    Next
    _GDIPlus_GraphicsDrawLine($hGraphics, 0, $iNully, (@DesktopWidth - 200), $iNully, $Pen1) ;x-Achse
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx, 0, $iNullx, (@DesktopHeight - 200), $Pen1);y-Achse
    If $bEinheitskreis = True Then
    _GDIPlus_GraphicsDrawEllipse($hGraphics, $iNullx - ($iAbstand * 1), $iNully - ($iAbstand * 1), $iAbstand * 2, $iAbstand * 2, $Pen1)
    EndIf

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

    GUISetState(@SW_DISABLE, $hSettings)
    Sleep(1000)
    ;###Netz erstellen Ende
    For $i = 0 To _GUICtrlListView_GetItemCount($cObjektlist) - 1
    Local $sY = _GUICtrlListView_GetItemTextString($cObjektlist, $i)
    Local $aSplitted = StringSplit($sY, "|")
    If $aSplitted[1] = "Function" Then
    draw($aSplitted[2], $aSplitted[3])
    Else
    Local $aSplitted2 = StringSplit($aSplitted[2], "/")
    $aSplitted2[1] = StringReplace($aSplitted2[1], "(", "")
    $aSplitted2[2] = StringReplace($aSplitted2[2], ")", "")
    drawX(Round(($aSplitted2[1] * $iAbstand) + $iNullx), Round((($aSplitted2[2] * (-1)) * $iAbstand) + $iNully))
    EndIf
    Next
    GUISetState(@SW_ENABLE, $hSettings)
    ToolTip("Done!")
    Sleep(2000)
    ToolTip("")
    EndFunc ;==>generate

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

    Func draw($sFunktion, $sColor)
    Local $Brush1 = _GDIPlus_BrushCreateSolid($sColor)
    $sFunktion = StringReplace($sFunktion, "x", "($i / $iAbstand)")
    ToolTip(StringReplace(StringReplace($sFunktion, "$i", "x"), " / xAbstand", ""))
    Sleep(2000)
    For $i = -((@DesktopWidth - 200) / 2) To (@DesktopWidth -200) / 2
    ToolTip("i = " & $i & "; X = " & Round(Calcxtocoords($i)) & "; Y = " & Round(calcytocoords(Execute($sFunktion))) & "; Funktionswert = " & Execute($sFunktion))
    _GDIPlus_GraphicsFillEllipse($hGraphics, Round(Calcxtocoords($i) - ($iLineWidth / 2)), Round(calcytocoords(Execute($sFunktion) * ($iAbstand)) - ($iLineWidth / 2)), $iLineWidth, $iLineWidth, $Brush1)
    Next
    $bDrawed = True
    EndFunc ;==>draw
    Func drawX($iMousePosx = -1, $iMousePosy = -1)
    If $bDrawed = False Then Return
    If $iMousePosx = -1 And $iMousePosy = -1 Then
    If WinGetState($sTitle2, "") = 8 Then Return
    If _MousePosCheck() = 1 Then Return
    Local $aPos = GUIGetCursorInfo($hGui)
    $iMousePosx = $aPos[0]
    $iMousePosy = $aPos[1]
    _GDIPlus_GraphicsDrawLine($hGraphics, $aPos[0] - 7, $aPos[1] - 7, $aPos[0] + 7, $aPos[1] + 7, $Pen3)
    _GDIPlus_GraphicsDrawLine($hGraphics, $aPos[0] + 7, $aPos[1] - 7, $aPos[0] - 7, $aPos[1] + 7, $Pen3)
    GUICtrlCreateListViewItem("Mark|(" & Round(($aPos[0] - $iNullx) / $iAbstand, 2) & "/" & Round(calcytocoords($aPos[1]) / $iAbstand, 2) & ")|" & $sXColor, $cObjektlist)
    Else
    _GDIPlus_GraphicsDrawLine($hGraphics, $iMousePosx - 7, $iMousePosy - 7, $iMousePosx + 7, $iMousePosy + 7, $Pen3)
    _GDIPlus_GraphicsDrawLine($hGraphics, $iMousePosx + 7, $iMousePosy - 7, $iMousePosx - 7, $iMousePosy + 7, $Pen3)
    EndIf
    EndFunc ;==>drawX

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

    Func addfunc()
    $bDrawed = False
    Do
    Local $sInputFunktion = InputBox("Function", "Enter a function, please!" & @CRLF & "Use x for the variable!" & @CRLF & "Y=", Default, Default, Default, Default, Default, Default, $hGui)
    Until $sInputFunktion <> "" Or @error
    If @error Then Return
    Do
    Local $sColor = _ChooseColor(2, 0x990000, Default, $hGui)
    Until $sColor <> -1 Or @error
    If @error Then Return
    Local $sColor2 = StringReplace($sColor, "0x", "0xFF")
    GUICtrlSetBkColor(GUICtrlCreateListViewItem("Function|" & $sInputFunktion & "|" & $sColor2, $cObjektlist), $sColor)
    EndFunc ;==>addfunc

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

    Func _MousePosCheck()
    Local $aPos = WinGetPos($sTitle2)
    $x_check = $aPos[0]
    $y_check = $aPos[1]
    $x_size = $aPos[2]
    $y_size = $aPos[3]
    If MouseGetPos(0) >= $x_check And MouseGetPos(0) <= $x_check + $x_size And MouseGetPos(1) >= $y_check And MouseGetPos(1) <= $y_check + $y_size Then
    Return (1)
    Else
    Return (0)
    EndIf
    EndFunc ;==>_MousePosCheck

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

    Func deletefunc()
    _GUICtrlListView_DeleteItemsSelected($cObjektlist)
    EndFunc ;==>deletefunc
    Func setbk()
    $sBackgroundcolor = _ChooseColor(2, 0x000000)
    GUICtrlSetBkColor($cButtonBk, $sBackgroundcolor)
    EndFunc ;==>setbk
    Func setmark()
    $sXColor = StringReplace(_ChooseColor(2, 0x000000), "0x", "0xFF")
    GUICtrlSetBkColor($cButtonMark, $sXColor)
    EndFunc ;==>setmark
    Func setgrid()
    $sGridColor = StringReplace(_ChooseColor(2, 0x000000), "0x", "0xFF")
    GUICtrlSetBkColor($cButtonGrid, $sGridColor)
    EndFunc ;==>setgrid
    Func setsystem()
    $sCoordfarbe = StringReplace(_ChooseColor(2, 0x000000), "0x", "0xFF")
    GUICtrlSetBkColor($cButtonSystem, $sCoordfarbe)
    EndFunc ;==>setsystem

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

    Func calcxtocoords($iX)
    Return $iX + $iNullx
    EndFunc ;==>calcxtocoords

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

    Func calcytocoords($iY)
    Return (-$iY + $iNully)
    EndFunc ;==>calcytocoords

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

    Func ende()
    _GDIPlus_PenDispose($Pen1)
    _GDIPlus_PenDispose($Pen2)
    _GDIPlus_PenDispose($Pen3)
    _GDIPlus_BrushDispose($Brush1)
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_Shutdown()
    Exit
    EndFunc ;==>ende
    EndFunc

    [/autoit]


    Ich hoffe ihr könnt mir helfen

    Danke DFPWare

  • Graphen zeichnen

    • DFPWare
    • 16. Februar 2011 um 18:21

    hey leute ich habs hier mal in nem Fenster gemacht :D

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <SliderConstants.au3>
    #include <GuiSlider.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Misc.au3>
    #include <GDIPlus.au3>
    #include <SliderConstants.au3>
    #include <GuiListView.au3>
    #include <Array.au3>
    ;###User Options Start
    $sCoordfarbe = "0xFF800000" ;Gitterfarbe in ARGB
    $sGridColor = "0xFF99FFFF" ;Koordinatensystemfarbe in ARGB
    $sBackgroundcolor = "0x000000" ;Hintergrundfarbe in RGB
    $sXColor = "0xFFFFFFFF" ;Farbe der X, die beim Klicken erscheinen in ARGB
    $iLineWidth = 6 ;Graphenlinienbreite
    ;###User Options Ende

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

    ;###Options Start
    Opt("GuiOnEventMode", 1)
    HotKeySet("{ESC}", "ende")
    OnAutoItExitRegister("ende")
    Const $iNullx = Round((@DesktopWidth - 200) / 2)
    Const $iNully = Round((@DesktopHeight - 200) / 2)
    $sTitle = "Funktionsgraph"
    $sTitle2 = "Einstellungsmenü"
    $bDrawed = False
    ;###Options Ende
    ;###Gui Start
    $hGui = GUICreate($sTitle, @DesktopWidth - 200, @DesktopHeight - 200, 100, 100)
    GUISetBkColor($sBackgroundcolor, $hGui)
    GUISetState(@SW_SHOW, $hGui)
    ;Neue Gui:
    $hSettings = GUICreate($sTitle2, 350, 280, @DesktopWidth - 350, @DesktopHeight - 280, BitOR($WS_CAPTION, $WS_GROUP), $WS_EX_TOPMOST, $hGui)
    GUISetBkColor(0xFFFFFF, $hSettings)
    $cMousePos = GUICtrlCreateLabel("MousePos:", 0, 0, 300, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
    $cCGrid = GUICtrlCreateCheckbox("Grid", 0, 25, 50, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
    GUICtrlSetState(-1, $GUI_CHECKED)
    $cCUnitCircle = GUICtrlCreateCheckbox("Unit Circle", 52, 25, 85, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
    $cCScale = GUICtrlCreateCheckbox("Scale", 140, 25, 60, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlCreateButton("Generate", 202, 25, 80, 20)
    GUICtrlSetOnEvent(-1, "generate")
    GUICtrlCreateButton("Add function", 0, 60, 90, 20)
    GUICtrlSetOnEvent(-1, "addfunc")
    GUICtrlCreateButton("Delete function", 95, 60, 100, 20)
    GUICtrlSetOnEvent(-1, "deletefunc")
    GUICtrlCreateButton("Quit", 200, 60, 100, 20)
    GUICtrlSetOnEvent(-1, "ende")
    $cObjektlist = GUICtrlCreateListView("Objekttyp |Wert |Farbe ", 0, 82, 300, 140)
    $cZoom = GUICtrlCreateSlider(310, 55, 25, 165, $TBS_VERT)
    GUICtrlSetLimit(-1, 200, 1)
    GUICtrlSetData($cZoom, 20)
    $cZoomlabel = GUICtrlCreateLabel("Zoom:" & @CRLF & GUICtrlRead($cZoom), 296, 0, 40, 60)
    GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
    For $i = 10 To 200 Step 10
    _GUICtrlSlider_SetTic($cZoom, $i)
    Next
    $cButtonBk = GUICtrlCreateButton("Background", 0, 230, 60, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, $sBackgroundcolor)
    GUICtrlSetOnEvent(-1, "setbk")
    $cButtonSystem = GUICtrlCreateButton("System", 65, 230, 40, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, StringReplace($sCoordfarbe, "0xFF", "0x"))
    GUICtrlSetOnEvent(-1, "setsystem")
    $cButtonGrid = GUICtrlCreateButton("Grid", 110, 230, 30, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, StringReplace($sGridColor, "0xFF", "0x"))
    GUICtrlSetOnEvent(-1, "setgrid")
    $cButtonMark = GUICtrlCreateButton("Mark", 145, 230, 30, 20)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, StringReplace($sXColor, "0xFF", "0x"))
    GUICtrlSetOnEvent(-1, "setmark")
    ControlFocus($sTitle2, "", $cObjektlist)
    GUISetState(@SW_SHOW, $hSettings)
    ;###Gui Ende
    ;###GDIPlus Start
    _GDIPlus_Startup()
    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGui)
    $Pen2 = _GDIPlus_PenCreate($sGridColor, 1)
    $Pen1 = _GDIPlus_PenCreate($sCoordfarbe, 1)
    $Pen3 = _GDIPlus_PenCreate($sXColor, 1)
    $Brush1 = _GDIPlus_BrushCreateSolid(0xFFFFFFFF)
    ;###GDIPlus Ende
    While 1
    $aPos = GUIGetCursorInfo($hGui)
    $iZoom = GUICtrlRead($cZoom) ;Zoom
    $iAbstand = Round((@DesktopHeight-200) / $iZoom)
    GUICtrlSetData($cMousePos, "Mousepos: (" & Round(($aPos[0] - $iNullx) / $iAbstand, 2) & "|" & Round(calcytocoords($aPos[1]) / $iAbstand, 2) & ")")
    If _IsPressed(01) Then
    drawX()
    Do
    Until Not _IsPressed(01)
    EndIf
    GUICtrlSetData($cZoomlabel, "Zoom:" & @CRLF & GUICtrlRead($cZoom))
    Sleep(100)
    WEnd
    ende()

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

    Func generate()
    GUISetBkColor($sBackgroundcolor, $hGui)
    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGui)
    If GUICtrlRead($cCGrid) = $GUI_CHECKED Then
    $bGrid = True
    Else
    $bGrid = False
    EndIf
    If GUICtrlRead($cCScale) = $GUI_CHECKED Then
    $bScale = True
    Else
    $bScale = False
    EndIf
    If GUICtrlRead($cCUnitCircle) = $GUI_CHECKED Then
    $bEinheitskreis = True
    Else
    $bEinheitskreis = False
    EndIf
    ;###Netz erstellen Start
    For $i = 1 To (@DesktopWidth - 200) / $iAbstand ;Beschriftung
    If $bGrid = True Then
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx + $iAbstand * $i, 0, $iNullx + $iAbstand * $i, (@DesktopHeight - 200), $Pen2) ;x rechts
    _GDIPlus_GraphicsDrawLine($hGraphics, 0, $iNully - $iAbstand * $i, (@DesktopWidth - 200), $iNully - $iAbstand * $i, $Pen2);y oben
    _GDIPlus_GraphicsDrawLine($hGraphics, 0, $iNully + $iAbstand * $i, (@DesktopWidth - 200), $iNully + $iAbstand * $i, $Pen2);y unten
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx - $iAbstand * $i, 0, $iNullx - $iAbstand * $i, (@DesktopWidth - 200), $Pen2);x links
    EndIf
    If $bScale = True Then
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx + $iAbstand * $i, $iNully - 10, $iNullx + $iAbstand * $i, $iNully + 10, $Pen1) ;x rechts
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx - 10, $iNully - $iAbstand * $i, $iNullx + 10, $iNully - $iAbstand * $i, $Pen1);y oben
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx - 10, $iNully + $iAbstand * $i, $iNullx + 10, $iNully + $iAbstand * $i, $Pen1);y unten
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx - $iAbstand * $i, $iNully - 10, $iNullx - $iAbstand * $i, $iNully + 10, $Pen1);x links
    EndIf
    Next
    _GDIPlus_GraphicsDrawLine($hGraphics, 0, $iNully, (@DesktopWidth - 200), $iNully, $Pen1) ;x-Achse
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx, 0, $iNullx, (@DesktopHeight - 200), $Pen1);y-Achse
    If $bEinheitskreis = True Then
    _GDIPlus_GraphicsDrawEllipse($hGraphics, $iNullx - ($iAbstand * 1), $iNully - ($iAbstand * 1), $iAbstand * 2, $iAbstand * 2, $Pen1)
    EndIf

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

    GUISetState(@SW_DISABLE, $hSettings)
    Sleep(1000)
    ;###Netz erstellen Ende
    For $i = 0 To _GUICtrlListView_GetItemCount($cObjektlist) - 1
    Local $sY = _GUICtrlListView_GetItemTextString($cObjektlist, $i)
    Local $aSplitted = StringSplit($sY, "|")
    If $aSplitted[1] = "Function" Then
    draw($aSplitted[2], $aSplitted[3])
    Else
    Local $aSplitted2 = StringSplit($aSplitted[2], "/")
    $aSplitted2[1] = StringReplace($aSplitted2[1], "(", "")
    $aSplitted2[2] = StringReplace($aSplitted2[2], ")", "")
    drawX(Round(($aSplitted2[1] * $iAbstand) + $iNullx), Round((($aSplitted2[2] * (-1)) * $iAbstand) + $iNully))
    EndIf
    Next
    GUISetState(@SW_ENABLE, $hSettings)
    ToolTip("Done!")
    Sleep(2000)
    ToolTip("")
    EndFunc ;==>generate

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

    Func draw($sFunktion, $sColor)
    Local $Brush1 = _GDIPlus_BrushCreateSolid($sColor)
    $sFunktion = StringReplace($sFunktion, "x", "($i / $iAbstand)")
    ToolTip(StringReplace(StringReplace($sFunktion, "$i", "x"), " / xAbstand", ""))
    Sleep(2000)
    For $i = -((@DesktopWidth - 200) / 2) To (@DesktopWidth -200) / 2
    ToolTip("i = " & $i & "; X = " & Round(Calcxtocoords($i)) & "; Y = " & Round(calcytocoords(Execute($sFunktion))) & "; Funktionswert = " & Execute($sFunktion))
    _GDIPlus_GraphicsFillEllipse($hGraphics, Round(Calcxtocoords($i) - ($iLineWidth / 2)), Round(calcytocoords(Execute($sFunktion) * ($iAbstand)) - ($iLineWidth / 2)), $iLineWidth, $iLineWidth, $Brush1)
    Next
    $bDrawed = True
    EndFunc ;==>draw
    Func drawX($iMousePosx = -1, $iMousePosy = -1)
    If $bDrawed = False Then Return
    If $iMousePosx = -1 And $iMousePosy = -1 Then
    If WinGetState($sTitle2, "") = 8 Then Return
    If _MousePosCheck() = 1 Then Return
    Local $aPos = GUIGetCursorInfo($hGui)
    $iMousePosx = $aPos[0]
    $iMousePosy = $aPos[1]
    _GDIPlus_GraphicsDrawLine($hGraphics, $aPos[0] - 7, $aPos[1] - 7, $aPos[0] + 7, $aPos[1] + 7, $Pen3)
    _GDIPlus_GraphicsDrawLine($hGraphics, $aPos[0] + 7, $aPos[1] - 7, $aPos[0] - 7, $aPos[1] + 7, $Pen3)
    GUICtrlCreateListViewItem("Mark|(" & Round(($aPos[0] - $iNullx) / $iAbstand, 2) & "/" & Round(calcytocoords($aPos[1]) / $iAbstand, 2) & ")|" & $sXColor, $cObjektlist)
    Else
    _GDIPlus_GraphicsDrawLine($hGraphics, $iMousePosx - 7, $iMousePosy - 7, $iMousePosx + 7, $iMousePosy + 7, $Pen3)
    _GDIPlus_GraphicsDrawLine($hGraphics, $iMousePosx + 7, $iMousePosy - 7, $iMousePosx - 7, $iMousePosy + 7, $Pen3)
    EndIf
    EndFunc ;==>drawX

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

    Func addfunc()
    $bDrawed = False
    Do
    Local $sInputFunktion = InputBox("Function", "Enter a function, please!" & @CRLF & "Use x for the variable!" & @CRLF & "Y=", Default, Default, Default, Default, Default, Default, $hGui)
    Until $sInputFunktion <> "" Or @error
    If @error Then Return
    Do
    Local $sColor = _ChooseColor(2, 0x990000, Default, $hGui)
    Until $sColor <> -1 Or @error
    If @error Then Return
    Local $sColor2 = StringReplace($sColor, "0x", "0xFF")
    GUICtrlSetBkColor(GUICtrlCreateListViewItem("Function|" & $sInputFunktion & "|" & $sColor2, $cObjektlist), $sColor)
    EndFunc ;==>addfunc

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

    Func _MousePosCheck()
    Local $aPos = WinGetPos($sTitle2)
    $x_check = $aPos[0]
    $y_check = $aPos[1]
    $x_size = $aPos[2]
    $y_size = $aPos[3]
    If MouseGetPos(0) >= $x_check And MouseGetPos(0) <= $x_check + $x_size And MouseGetPos(1) >= $y_check And MouseGetPos(1) <= $y_check + $y_size Then
    Return (1)
    Else
    Return (0)
    EndIf
    EndFunc ;==>_MousePosCheck

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

    Func deletefunc()
    _GUICtrlListView_DeleteItemsSelected($cObjektlist)
    EndFunc ;==>deletefunc
    Func setbk()
    $sBackgroundcolor = _ChooseColor(2, 0x000000)
    GUICtrlSetBkColor($cButtonBk, $sBackgroundcolor)
    EndFunc ;==>setbk
    Func setmark()
    $sXColor = StringReplace(_ChooseColor(2, 0x000000), "0x", "0xFF")
    GUICtrlSetBkColor($cButtonMark, $sXColor)
    EndFunc ;==>setmark
    Func setgrid()
    $sGridColor = StringReplace(_ChooseColor(2, 0x000000), "0x", "0xFF")
    GUICtrlSetBkColor($cButtonGrid, $sGridColor)
    EndFunc ;==>setgrid
    Func setsystem()
    $sCoordfarbe = StringReplace(_ChooseColor(2, 0x000000), "0x", "0xFF")
    GUICtrlSetBkColor($cButtonSystem, $sCoordfarbe)
    EndFunc ;==>setsystem

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

    Func calcxtocoords($iX)
    Return $iX + $iNullx
    EndFunc ;==>calcxtocoords

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

    Func calcytocoords($iY)
    Return (-$iY + $iNully)
    EndFunc ;==>calcytocoords

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

    Func ende()
    _GDIPlus_PenDispose($Pen1)
    _GDIPlus_PenDispose($Pen2)
    _GDIPlus_PenDispose($Pen3)
    _GDIPlus_BrushDispose($Brush1)
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_Shutdown()
    Exit
    EndFunc ;==>ende

    [/autoit]
  • Untermenü erstellen

    • DFPWare
    • 15. Februar 2011 um 17:44

    In etwa so:

    [autoit]


    GUICtrlCreateMenu
    GUICtrlCreateMenuItem

    [/autoit]
  • Douky hat Gebuuuuuuurtstag

    • DFPWare
    • 15. Februar 2011 um 17:42

    Herzlichen Glückwunsch zum 21. auch von mir;)

    Ab jetzt auch in Amerika Alkohol :party: :D

  • GTR - (jetzt aber) Graphischer Taschenrechner

    • DFPWare
    • 12. Februar 2011 um 14:06

    Hey Leute

    ich hab mir mal gedacht ich mache mal einen Rechner für meinen Rechner ;)

    Ich finde der sieht ganz gut aus auch ohne Bilder;)


    Update: Jetzt mit Graphen zeichnen und noch mit Währungsrechner auf anregung von Twodollarbillie;)

    Der GTR kommt von Stayawayknight:)

    Hier das Skript:

    Spoiler anzeigen
    [autoit]

    #include<GuiConstantsEx.au3>
    #include<WindowsConstants.au3>
    #include<EditConstants.au3>
    #include<ButtonConstants.au3>
    #include<SliderConstants.au3>
    #include<GuiSlider.au3>
    #include<Misc.au3>
    #include<GDIPlus.au3>
    #include<SliderConstants.au3>
    #include<GuiListView.au3>
    #include<Array.au3>
    #include<ComboConstants.au3>
    Dim $Rechner[39]
    Dim $umrechnung[10]
    Dim $Label[6]
    Global $speichervar
    Global $iNully, $iNullx, $Pen1, $Pen2, $Pen3, $bDrawed, $Brush1, $hGui, $cObjektlist, $hGraphics, $sBackgroundcolor, $cCGrid, $cCScale, $cCUnitCircle, $iAbstand, $hSettings, $iLineWidth, $sTitle2, $sXColor, $cButtonBk, $cButtonSystem, $cButtonGrid, $cButtonMark
    $Taschenrechner = GUICreate("Taschenrechner",580,370,-1,-1,$WS_POPUP)
    GUISetBkColor(0x000000)
    $verschiebungscontrol=GUICtrlCreateLabel("",330,0,190,40,"",$GUI_WS_EX_PARENTDRAG)
    $bClose = GUICtrlCreateButton("X",550,10,20,20)
    $bMinimize = GUICtrlCreateButton("_",520,10,20,20)
    $bRechner = GUICtrlCreateButton("Taschenrechner",10,10,100,20)
    $bWaehrung = GUICtrlCreateButton("Währungsrechner",120,10,100,20)
    $bGTR = GUICtrlCreateButton("GTR",230,10,100,20)
    $input = GUICtrlCreateInput("",10,40,560,50)
    $Label[1] = GUICtrlCreateLabel("Made By:",10,100,130,15)
    $Label[2] = GUICtrlCreateLabel("DFPWare",10,120,130,15)
    $Label[3] = GUICtrlCreateLabel("Special Thanks to:",10,140,130,15)
    $Label[4] = GUICtrlCreateLabel("Twodollarbillie",10,160,130,15)
    $Label[5] = GUICtrlCreateLabel("Stayawayknight",10,180,130,15)
    For $i=1 To 5 Step 1
    GUICtrlSetColor($Label[$i],0xFFFFAA)
    Next
    GUICtrlSetFont($input,30,1000)
    GUICtrlSetBkColor($input,0xFFFFAA)
    #Region Taschenrechner-Controls
    $Rechner[3] = GUICtrlCreateButton("ASin",150,100,60,40)
    $Rechner[4] = GUICtrlCreateButton("ACos",220,100,60,40)
    $Rechner[5] = GUICtrlCreateButton("AC",300,100,60,40)
    $Rechner[6] = GUICtrlCreateButton("(-)",370,100,60,40)
    $Rechner[7] = GUICtrlCreateButton("÷",440,100,60,40)
    $Rechner[8] = GUICtrlCreateButton("x",510,100,60,40)
    $Rechner[11] = GUICtrlCreateButton("ATan",150,155,60,40)
    $Rechner[12] = GUICtrlCreateButton("%",220,155,60,40)
    $Rechner[13] = GUICtrlCreateButton("7",300,155,60,40)
    $Rechner[14] = GUICtrlCreateButton("8",370,155,60,40)
    $Rechner[15] = GUICtrlCreateButton("9",440,155,60,40)
    $Rechner[16] = GUICtrlCreateButton("-",510,155,60,40)
    $Rechner[17] = GUICtrlCreateButton("(",10,210,60,40)
    $Rechner[18] = GUICtrlCreateButton(")",80,210,60,40)
    $Rechner[19] = GUICtrlCreateButton("Sqrt",150,210,60,40)
    $Rechner[20] = GUICtrlCreateButton("Sqrt³",220,210,60,40)
    $Rechner[21] = GUICtrlCreateButton("4",300,210,60,40)
    $Rechner[22] = GUICtrlCreateButton("5",370,210,60,40)
    $Rechner[23] = GUICtrlCreateButton("6",440,210,60,40)
    $Rechner[24] = GUICtrlCreateButton("+",510,210,60,40)
    $Rechner[25] = GUICtrlCreateButton("x²",10,265,60,40)
    $Rechner[26] = GUICtrlCreateButton("x³",80,265,60,40)
    $Rechner[27] = GUICtrlCreateButton("xª",150,265,60,40)
    $Rechner[28] = GUICtrlCreateButton("Pi",220,265,60,40)
    $Rechner[29] = GUICtrlCreateButton("1",300,265,60,40)
    $Rechner[30] = GUICtrlCreateButton("2",370,265,60,40)
    $Rechner[31] = GUICtrlCreateButton("3",440,265,60,40)
    $Rechner[32] = GUICtrlCreateButton("=",510,265,60,95)
    $Rechner[33] = GUICtrlCreateButton("Sin",10,320,60,40)
    $Rechner[34] = GUICtrlCreateButton("Cos",80,320,60,40)
    $Rechner[35] = GUICtrlCreateButton("Tan",150,320,60,40)
    $Rechner[36] = GUICtrlCreateButton("Ans",220,320,60,40)
    $Rechner[37] = GUICtrlCreateButton("0",300,320,130,40)
    $Rechner[38] = GUICtrlCreateButton(",",440,320,60,40)
    For $i=1 To 38 Step 1
    GUICtrlSetFont($Rechner[$i],20,800)
    Next
    #EndRegion ; <== Taschenrechner-Controls
    #Region Waehrungsrechner-Controls
    $umrechnung[9] = GUICtrlCreateInput("",10,40,50,20)
    $umrechnung[4] = GUICtrlCreateLabel("in EUR",290,40,40)
    GUICtrlSetColor($umrechnung[3],0xFFFFAA)
    GUICtrlSetColor($umrechnung[4],0xFFFFAA)
    $umrechnung[5] = GUICtrlCreateButton("Berechnen",340,40,100,20)
    $umrechnung[1] = GUICtrlCreateCombo("", 80, 40, 200, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL))
    GUICtrlSetData($umrechnung[1], "US-Dollar")
    GUICtrlSetData($umrechnung[1], "Englische Pfund")
    GUICtrlSetData($umrechnung[1], "Schweizer Franken")
    GUICtrlSetData($umrechnung[1], "Japanische Yen")
    GUICtrlSetData($umrechnung[1], "Russischer Rubel")
    GUICtrlSetData($umrechnung[1], "Indische Rupie")
    GUICtrlSetData($umrechnung[1], "Polnischer Zloty")
    GUICtrlSetData($umrechnung[1], "Tschechische Krone")
    GUICtrlSetData($umrechnung[1], "Dänische Krone")
    GUICtrlSetData($umrechnung[1], "Kanadischer Dollar")
    GUICtrlSetData($umrechnung[1], "Neuseel. Dollar")
    GUICtrlSetData($umrechnung[1], "Australischer Dollar")
    GUICtrlSetData($umrechnung[1], "Ägyptisches Pfund")
    GUICtrlSetData($umrechnung[1], "Slowakische Krone")
    GUICtrlSetData($umrechnung[1], "Chinesischer Renmimbi")
    $umrechnung[8] = GUICtrlCreateInput("",10,75,50,20)
    $umrechnung[6] = GUICtrlCreateLabel(" EUR in ",70,75,60,20)
    GUICtrlSetColor($umrechnung[6],0xFFFFAA)
    $umrechnung[7] = GUICtrlCreateButton("Berechnen",340,75,100,20)
    $umrechnung[2] = GUICtrlCreateCombo("", 120, 75, 200, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL))
    GUICtrlSetData($umrechnung[2], "US-Dollar")
    GUICtrlSetData($umrechnung[2], "Englische Pfund")
    GUICtrlSetData($umrechnung[2], "Schweizer Franken")
    GUICtrlSetData($umrechnung[2], "Japanische Yen")
    GUICtrlSetData($umrechnung[2], "Russischer Rubel")
    GUICtrlSetData($umrechnung[2], "Indische Rupie")
    GUICtrlSetData($umrechnung[2], "Polnischer Zloty")
    GUICtrlSetData($umrechnung[2], "Tschechische Krone")
    GUICtrlSetData($umrechnung[2], "Dänische Krone")
    GUICtrlSetData($umrechnung[2], "Kanadischer Dollar")
    GUICtrlSetData($umrechnung[2], "Neuseel. Dollar")
    GUICtrlSetData($umrechnung[2], "Australischer Dollar")
    GUICtrlSetData($umrechnung[2], "Ägyptisches Pfund")
    GUICtrlSetData($umrechnung[2], "Slowakische Krone")
    GUICtrlSetData($umrechnung[2], "Chinesischer Renmimbi")
    For $i=1 To 9 Step 1
    GUICtrlSetState($umrechnung[$i],$GUI_HIDE)
    Next
    #EndRegion ; <== Waehrungsrechner-Controls
    GUISetState(@SW_SHOW)
    GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND')
    While 1
    $inputRead1 = GUICtrlRead($input)
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $bClose
    Exit
    Case $bMinimize
    GUISetState(@SW_MINIMIZE)
    Case $bRechner
    For $i=1 To 38 Step 1
    GUICtrlSetState($Rechner[$i],$GUI_SHOW)
    Next
    GUICtrlSetState($input,$GUI_SHOW)
    For $i=1 To 5 Step 1
    GUICtrlSetState($Label[$i],$GUI_SHOW)
    Next

    For $i=1 To 9 Step 1
    GUICtrlSetState($umrechnung[$i],$GUI_HIDE)
    Next
    Case $bWaehrung
    For $i=1 To 38 Step 1
    GUICtrlSetState($Rechner[$i],$GUI_HIDE)
    Next
    GUICtrlSetState($input,$GUI_HIDE)
    For $i=1 To 5 Step 1
    GUICtrlSetState($Label[$i],$GUI_HIDE)
    Next

    For $i=1 To 9 Step 1
    GUICtrlSetState($umrechnung[$i],$GUI_SHOW)
    Next
    Case $bGTR
    GTR()
    Case $Rechner[3] ;Rechner Funktionen###
    _setdata("ASin(")
    Case $Rechner[4]
    _setdata("ACos(")
    Case $Rechner[5]
    GUICtrlSetData($input,"")
    Case $Rechner[6]
    GUICtrlSetData($input,"-"&$inputRead1)
    Case $Rechner[8]
    _setdata("*")
    Case $Rechner[7]
    _setdata("/")
    Case $Rechner[11]
    _setdata("ATan(")
    Case $Rechner[12]
    $zwischenvar = Execute(GUICtrlRead($input)/100)
    GUICtrlSetData($input,$zwischenvar)
    Case $Rechner[13]
    _setdata("7")
    Case $Rechner[14]
    _setdata("8")
    Case $Rechner[15]
    _setdata("9")
    Case $Rechner[16]
    _setdata("-")
    Case $Rechner[17]
    _setdata("(")
    Case $Rechner[18]
    _setdata(")")
    Case $Rechner[19]
    _setdata("sqrt(")
    Case $Rechner[20]
    _setdata(" ^ (1/3)")
    Case $Rechner[21]
    _setdata("4")
    Case $Rechner[22]
    _setdata("5")
    Case $Rechner[23]
    _setdata("6")
    Case $Rechner[24]
    _setdata("+")
    Case $Rechner[25]
    _setdata("^2")
    Case $Rechner[26]
    _setdata("^3")
    Case $Rechner[27]
    _setdata(" ^ ")
    Case $Rechner[28]
    _setdata("3,1416")
    Case $Rechner[29]
    _setdata("1")
    Case $Rechner[30]
    _setdata("2")
    Case $Rechner[31]
    _setdata("3")
    Case $Rechner[32]
    _rechnen()
    Case $Rechner[33]
    _setdata("sin(")
    Case $Rechner[34]
    _setdata("Cos(")
    Case $Rechner[35]
    _setdata("Tan(")
    Case $Rechner[36]
    _setdata($speichervar)
    Case $Rechner[37]
    _setdata("0")
    Case $Rechner[38]
    _setdata(".") ;<== Rechner Funktionen###
    Case $umrechnung[5] ;Umrechner Funktionen###
    _umrechnenin()
    Case $umrechnung[7]
    _umrechnenaus() ;<== Umrechner Funktionen###
    EndSwitch
    WEnd
    Func _rechnen()
    $output = Execute(GUICtrlRead($input))
    $speichervar = $output

    GUICtrlSetData($input,"="&$output)
    EndFunc
    Func _setdata($data1)
    GUICtrlSetData($input,$inputRead1&$data1)
    EndFunc
    Func WM_COMMAND($hWnd, $Msg, $wParam, $lParam)
    Local $nNotifyCode, $nID
    $nNotifyCode = BitShift($wParam, 16)
    $nID = BitAND($wParam, 0x0000FFFF)
    Switch $nID
    Case $input
    Switch $nNotifyCode
    Case $EN_SETFOCUS
    GUICtrlSendMsg($input, $EM_SETSEL, 0, -1)
    GUICtrlSetState($input, $GUI_FOCUS)
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc
    Func _umrechnenin() ;in EURO umrechnen
    $ReadVarIn1 = GUICtrlRead($umrechnung[1])
    $ReadVarIn2 = GUICtrlRead($umrechnung[9])
    Switch $ReadVarIn1
    Case "US-Dollar"
    MsgBox(0,"US-Dollar in EURO",$ReadVarIn2&"$ sind "&($ReadVarIn2*0.736)&"€")
    Case "Englische Pfund"
    MsgBox(0,"Englische Pfund in EURO",$ReadVarIn2&"Pfund sind "&($ReadVarIn2*1.187)&"€")
    Case "Schweizer Franken"
    MsgBox(0,"Schweizer Franken in EURO",$ReadVarIn2&"Franken sind "&($ReadVarIn2*0.77)&"€")
    Case "Japanische Yen"
    MsgBox(0,"Japanische Yen in EURO",$ReadVarIn2&"Yen sind "&($ReadVarIn2*0.009)&"€")
    Case "Russischer Rubel"
    MsgBox(0,"Russischer Rubel in EURO",$ReadVarIn2&"Rubel sind "&($ReadVarIn2*0.025)&"€")
    Case "Indische Rupie"
    MsgBox(0,"Indische Rupie in EURO",$ReadVarIn2&"Rupien sind "&($ReadVarIn2*0.016)&"€")
    Case "Polnischer Zloty"
    MsgBox(0,"Polnischer Zloty in EURO",$ReadVarIn2&"Zloty sind "&($ReadVarIn2*0.256)&"€")
    Case "Tschechische Krone"
    MsgBox(0,"Tschechische Krone in EURO",$ReadVarIn2&"Kronen sind "&($ReadVarIn2*0.041)&"€")
    Case "Dänische Krone"
    MsgBox(0,"Dänische Krone in EURO",$ReadVarIn2&"Kronen sind "&($ReadVarIn2*0.134)&"€")
    Case "Kanadischer Dollar"
    MsgBox(0,"Kanadischer Dollar in EURO",$ReadVarIn2&"$ sind "&($ReadVarIn2*0.747)&"€")
    Case "Neuseel. Dollar"
    MsgBox(0,"Neuseel. Dollar in EURO",$ReadVarIn2&"$ sind "&($ReadVarIn2*0.559)&"€")
    Case "Australischer Dollar"
    MsgBox(0,"Australischer Dollar in EURO",$ReadVarIn2&"$ sind "&($ReadVarIn2*0.742)&"€")
    Case "Ägyptisches Pfund"
    MsgBox(0,"Ägyptisches Pfund in EURO",$ReadVarIn2&"Pfund sind "&($ReadVarIn2*0.126)&"€")
    Case "Slowakische Krone"
    MsgBox(0,"Slowakische Krone in EURO",$ReadVarIn2&"Kronen sind "&($ReadVarIn2*0.033)&"€")
    Case "Chinesischer Renmimbi"
    MsgBox(0,"Chinesischer Renimbi in EURO",$ReadVarIn2&"Renmimbi sind "&($ReadVarIn2*0.112)&"€")
    EndSwitch
    EndFunc
    Func _umrechnenaus() ;aus EURO umrechnen
    $ReadVarAus1 = GUICtrlRead($umrechnung[2])
    $ReadVarAus2 = GUICtrlRead($umrechnung[8])
    Switch $ReadVarAus1
    Case "US-Dollar"
    MsgBox(0,"EURO in US-Dollar",$ReadVarAus2&"€ sind "&($ReadVarAus2*1.358)&"$")
    Case "Englische Pfund"
    MsgBox(0,"EURO in Englische Pfund",$ReadVarAus2&"€ sind "&($ReadVarAus2*0.842)&"Pfund")
    Case "Schweizer Franken"
    MsgBox(0,"EURO in Schweizer Franken",$ReadVarAus2&"€ sind "&($ReadVarAus2*1.298)&"Franken")
    Case "Japanische Yen"
    MsgBox(0,"EURO in Japanische Yen",$ReadVarAus2&"€ sind "&($ReadVarAus2*113.404)&"Yen")
    Case "Russischer Rubel"
    MsgBox(0,"EURO in Russischer Rubel",$ReadVarAus2&"€ sind "&($ReadVarAus2*39.766)&"Rubel")
    Case "Indische Rupie"
    MsgBox(0,"EURO in Indische Rupie",$ReadVarAus2&"€ sind "&($ReadVarAus2*61.522)&"Rupien")
    Case "Polnischer Zloty"
    MsgBox(0,"EURO in Polnischer Zloty",$ReadVarAus2&"€ sind "&($ReadVarAus2*3.904)&"Zloty")
    Case "Tschechische Krone"
    MsgBox(0,"EURO in Tschechische Krone",$ReadVarAus2&"€ sind "&($ReadVarAus2*24.377)&"Kronen")
    Case "Dänische Krone"
    MsgBox(0,"EURO in Dänische Krone",$ReadVarAus2&"€ sind "&($ReadVarAus2*7.454)&"Kronen")
    Case "Kanadischer Dollar"
    MsgBox(0,"EURO in Kanadischer Dollar",$ReadVarAus2&"€ sind "&($ReadVarAus2*1.34)&"$")
    Case "Neuseel. Dollar"
    MsgBox(0,"EURO in Neuseel. Dollar",$ReadVarAus2&"€ sind "&($ReadVarAus2*1.789)&"$")
    Case "Australischer Dollar"
    MsgBox(0,"EURO in Australischer Dollar",$ReadVarAus2&"€ sind "&($ReadVarAus2*1.348)&"$")
    Case "Ägyptisches Pfund"
    MsgBox(0,"EURO in Ägyptisches Pfund",$ReadVarAus2&"€ sind "&($ReadVarAus2*7.933)&"Pfund")
    Case "Slowakische Krone"
    MsgBox(0,"EURO in Slowakische Krone",$ReadVarAus2&"€ sind "&($ReadVarAus2*30.126)&"Kronen")
    Case "Chinesischer Renmimbi"
    MsgBox(0,"EURO in Chinesischer Renmimbi",$ReadVarAus2&"€ sind "&($ReadVarAus2*8.926)&"Renmimbi")
    EndSwitch
    EndFunc
    #cs *************************************************
    ***alles ab hier kommt von Stayawayknight, Danke;)***
    #ce**************************************************

    Func GTR()
    GUIDelete($Taschenrechner)

    ;###User Options Start
    $sCoordfarbe = "0xFF800000" ;Gitterfarbe in ARGB
    $sGridColor = "0xFF99FFFF" ;Koordinatensystemfarbe in ARGB
    $sBackgroundcolor = "0x000000" ;Hintergrundfarbe in RGB
    $sXColor = "0xFFFFFFFF" ;Farbe der X, die beim Klicken erscheinen in ARGB
    $iLineWidth = 6 ;Graphenlinienbreite
    ;###User Options Ende

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

    ;###Options Start
    Opt("GuiOnEventMode", 1)
    HotKeySet("{ESC}", "ende")
    OnAutoItExitRegister("ende")
    $iNullx = Round((@DesktopWidth - 200) / 2)
    $iNully = Round((@DesktopHeight - 200) / 2)
    $sTitle = "Funktionsgraph"
    $sTitle2 = "Einstellungsmenü"
    $bDrawed = False
    ;###Options Ende
    ;###Gui Start
    $hGui = GUICreate($sTitle, @DesktopWidth - 200, @DesktopHeight - 200, 100, 100)
    GUISetBkColor($sBackgroundcolor, $hGui)
    GUISetState(@SW_SHOW, $hGui)
    ;Neue Gui:
    $hSettings = GUICreate($sTitle2, 350, 280, @DesktopWidth - 360, @DesktopHeight - 310, BitOR($WS_CAPTION, $WS_GROUP), $WS_EX_TOPMOST, $hGui)
    GUISetBkColor(0xFFFFFF, $hSettings)
    $cMousePos = GUICtrlCreateLabel("MousePos:", 0, 0, 300, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
    $cCGrid = GUICtrlCreateCheckbox("Grid", 0, 25, 50, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
    GUICtrlSetState(-1, $GUI_CHECKED)
    $cCUnitCircle = GUICtrlCreateCheckbox("Unit Circle", 52, 25, 85, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
    $cCScale = GUICtrlCreateCheckbox("Scale", 140, 25, 60, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlCreateButton("Generate", 202, 25, 80, 20)
    GUICtrlSetOnEvent(-1, "generate")
    GUICtrlCreateButton("Add function", 0, 60, 90, 20)
    GUICtrlSetOnEvent(-1, "addfunc")
    GUICtrlCreateButton("Delete function", 95, 60, 100, 20)
    GUICtrlSetOnEvent(-1, "deletefunc")
    GUICtrlCreateButton("Quit", 200, 60, 100, 20)
    GUICtrlSetOnEvent(-1, "ende")
    $cObjektlist = GUICtrlCreateListView("Objekttyp |Wert |Farbe ", 0, 82, 300, 140)
    $cZoom = GUICtrlCreateSlider(310, 55, 25, 165, $TBS_VERT)
    GUICtrlSetLimit(-1, 200, 1)
    GUICtrlSetData($cZoom, 20)
    $cZoomlabel = GUICtrlCreateLabel("Zoom:" & @CRLF & GUICtrlRead($cZoom), 296, 0, 40, 60)
    GUICtrlSetFont(-1, 10, 800, 0, "Tahoma")
    For $i = 10 To 200 Step 10
    _GUICtrlSlider_SetTic($cZoom, $i)
    Next
    $cButtonBk = GUICtrlCreateButton("Background", 0, 230, 60, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, $sBackgroundcolor)
    GUICtrlSetOnEvent(-1, "setbk")
    $cButtonSystem = GUICtrlCreateButton("System", 65, 230, 40, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, StringReplace($sCoordfarbe, "0xFF", "0x"))
    GUICtrlSetOnEvent(-1, "setsystem")
    $cButtonGrid = GUICtrlCreateButton("Grid", 110, 230, 30, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, StringReplace($sGridColor, "0xFF", "0x"))
    GUICtrlSetOnEvent(-1, "setgrid")
    $cButtonMark = GUICtrlCreateButton("Mark", 145, 230, 30, 20)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, StringReplace($sXColor, "0xFF", "0x"))
    GUICtrlSetOnEvent(-1, "setmark")
    ControlFocus($sTitle2, "", $cObjektlist)
    GUISetState(@SW_SHOW, $hSettings)
    ;###Gui Ende
    ;###GDIPlus Start
    _GDIPlus_Startup()
    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGui)
    $Pen2 = _GDIPlus_PenCreate($sGridColor, 1)
    $Pen1 = _GDIPlus_PenCreate($sCoordfarbe, 1)
    $Pen3 = _GDIPlus_PenCreate($sXColor, 1)
    $Brush1 = _GDIPlus_BrushCreateSolid(0xFFFFFFFF)
    ;###GDIPlus Ende
    While 1
    $aPos = GUIGetCursorInfo($hGui)
    $iZoom = GUICtrlRead($cZoom) ;Zoom
    $iAbstand = Round((@DesktopHeight-200) / $iZoom)
    GUICtrlSetData($cMousePos, "Mousepos: (" & Round(($aPos[0] - $iNullx) / $iAbstand, 2) & "|" & Round(calcytocoords($aPos[1]) / $iAbstand, 2) & ")")
    If _IsPressed(01) Then
    drawX()
    Do
    Until Not _IsPressed(01)
    EndIf
    GUICtrlSetData($cZoomlabel, "Zoom:" & @CRLF & GUICtrlRead($cZoom))
    Sleep(100)
    WEnd
    ende()

    EndFunc

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

    Func generate()
    GUISetBkColor($sBackgroundcolor, $hGui)
    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGui)
    If GUICtrlRead($cCGrid) = $GUI_CHECKED Then
    $bGrid = True
    Else
    $bGrid = False
    EndIf
    If GUICtrlRead($cCScale) = $GUI_CHECKED Then
    $bScale = True
    Else
    $bScale = False
    EndIf
    If GUICtrlRead($cCUnitCircle) = $GUI_CHECKED Then
    $bEinheitskreis = True
    Else
    $bEinheitskreis = False
    EndIf
    ;###Netz erstellen Start
    For $i = 1 To (@DesktopWidth - 200) / $iAbstand ;Beschriftung
    If $bGrid = True Then
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx + $iAbstand * $i, 0, $iNullx + $iAbstand * $i, (@DesktopHeight - 200), $Pen2) ;x rechts
    _GDIPlus_GraphicsDrawLine($hGraphics, 0, $iNully - $iAbstand * $i, (@DesktopWidth - 200), $iNully - $iAbstand * $i, $Pen2);y oben
    _GDIPlus_GraphicsDrawLine($hGraphics, 0, $iNully + $iAbstand * $i, (@DesktopWidth - 200), $iNully + $iAbstand * $i, $Pen2);y unten
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx - $iAbstand * $i, 0, $iNullx - $iAbstand * $i, (@DesktopWidth - 200), $Pen2);x links
    EndIf
    If $bScale = True Then
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx + $iAbstand * $i, $iNully - 10, $iNullx + $iAbstand * $i, $iNully + 10, $Pen1) ;x rechts
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx - 10, $iNully - $iAbstand * $i, $iNullx + 10, $iNully - $iAbstand * $i, $Pen1);y oben
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx - 10, $iNully + $iAbstand * $i, $iNullx + 10, $iNully + $iAbstand * $i, $Pen1);y unten
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx - $iAbstand * $i, $iNully - 10, $iNullx - $iAbstand * $i, $iNully + 10, $Pen1);x links
    EndIf
    Next
    _GDIPlus_GraphicsDrawLine($hGraphics, 0, $iNully, (@DesktopWidth - 200), $iNully, $Pen1) ;x-Achse
    _GDIPlus_GraphicsDrawLine($hGraphics, $iNullx, 0, $iNullx, (@DesktopHeight - 200), $Pen1);y-Achse
    If $bEinheitskreis = True Then
    _GDIPlus_GraphicsDrawEllipse($hGraphics, $iNullx - ($iAbstand * 1), $iNully - ($iAbstand * 1), $iAbstand * 2, $iAbstand * 2, $Pen1)
    EndIf
    GUISetState(@SW_DISABLE, $hSettings)
    Sleep(1000)
    ;###Netz erstellen Ende
    For $i = 0 To _GUICtrlListView_GetItemCount($cObjektlist) - 1
    Local $sY = _GUICtrlListView_GetItemTextString($cObjektlist, $i)
    Local $aSplitted = StringSplit($sY, "|")
    If $aSplitted[1] = "Function" Then
    draw($aSplitted[2], $aSplitted[3])
    Else
    Local $aSplitted2 = StringSplit($aSplitted[2], "/")
    $aSplitted2[1] = StringReplace($aSplitted2[1], "(", "")
    $aSplitted2[2] = StringReplace($aSplitted2[2], ")", "")
    drawX(Round(($aSplitted2[1] * $iAbstand) + $iNullx), Round((($aSplitted2[2] * (-1)) * $iAbstand) + $iNully))
    EndIf
    Next
    GUISetState(@SW_ENABLE, $hSettings)
    ToolTip("Done!")
    Sleep(2000)
    ToolTip("")
    EndFunc ;==>generate

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

    Func draw($sFunktion, $sColor)
    Local $Brush1 = _GDIPlus_BrushCreateSolid($sColor)
    $sFunktion = StringReplace($sFunktion, "x", "($i / $iAbstand)")
    ToolTip(StringReplace(StringReplace($sFunktion, "$i", "x"), " / xAbstand", ""))
    Sleep(2000)
    For $i = -((@DesktopWidth - 200) / 2) To (@DesktopWidth -200) / 2
    ToolTip("i = " & $i & "; X = " & Round(Calcxtocoords($i)) & "; Y = " & Round(calcytocoords(Execute($sFunktion))) & "; Funktionswert = " & Execute($sFunktion))
    _GDIPlus_GraphicsFillEllipse($hGraphics, Round(Calcxtocoords($i) - ($iLineWidth / 2)), Round(calcytocoords(Execute($sFunktion) * ($iAbstand)) - ($iLineWidth / 2)), $iLineWidth, $iLineWidth, $Brush1)
    Next
    $bDrawed = True
    EndFunc ;==>draw

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

    Func drawX($iMousePosx = -1, $iMousePosy = -1)
    If $bDrawed = False Then Return
    If $iMousePosx = -1 And $iMousePosy = -1 Then
    If WinGetState($sTitle2, "") = 8 Then Return
    If _MousePosCheck() = 1 Then Return
    Local $aPos = GUIGetCursorInfo($hGui)
    $iMousePosx = $aPos[0]
    $iMousePosy = $aPos[1]
    _GDIPlus_GraphicsDrawLine($hGraphics, $aPos[0] - 7, $aPos[1] - 7, $aPos[0] + 7, $aPos[1] + 7, $Pen3)
    _GDIPlus_GraphicsDrawLine($hGraphics, $aPos[0] + 7, $aPos[1] - 7, $aPos[0] - 7, $aPos[1] + 7, $Pen3)
    GUICtrlCreateListViewItem("Mark|(" & Round(($aPos[0] - $iNullx) / $iAbstand, 2) & "/" & Round(calcytocoords($aPos[1]) / $iAbstand, 2) & ")|" & $sXColor, $cObjektlist)
    Else
    _GDIPlus_GraphicsDrawLine($hGraphics, $iMousePosx - 7, $iMousePosy - 7, $iMousePosx + 7, $iMousePosy + 7, $Pen3)
    _GDIPlus_GraphicsDrawLine($hGraphics, $iMousePosx + 7, $iMousePosy - 7, $iMousePosx - 7, $iMousePosy + 7, $Pen3)
    EndIf
    EndFunc ;==>drawX

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

    Func addfunc()
    $bDrawed = False
    Do
    Local $sInputFunktion = InputBox("Function", "Enter a function, please!" & @CRLF & "Use x for the variable!" & @CRLF & "Y=", Default, Default, Default, Default, Default, Default, $hGui)
    Until $sInputFunktion <> "" Or @error
    If @error Then Return
    Do
    Local $sColor = _ChooseColor(2, 0x990000, Default, $hGui)
    Until $sColor <> -1 Or @error
    If @error Then Return
    Local $sColor2 = StringReplace($sColor, "0x", "0xFF")
    GUICtrlSetBkColor(GUICtrlCreateListViewItem("Function|" & $sInputFunktion & "|" & $sColor2, $cObjektlist), $sColor)
    EndFunc ;==>addfunc

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

    Func _MousePosCheck()
    Local $aPos = WinGetPos($sTitle2)
    $x_check = $aPos[0]
    $y_check = $aPos[1]
    $x_size = $aPos[2]
    $y_size = $aPos[3]
    If MouseGetPos(0) >= $x_check And MouseGetPos(0) <= $x_check + $x_size And MouseGetPos(1) >= $y_check And MouseGetPos(1) <= $y_check + $y_size Then
    Return (1)
    Else
    Return (0)
    EndIf
    EndFunc ;==>_MousePosCheck

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

    Func deletefunc()
    _GUICtrlListView_DeleteItemsSelected($cObjektlist)
    EndFunc ;==>deletefunc

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

    Func setbk()
    $sBackgroundcolor = _ChooseColor(2, 0x000000)
    GUICtrlSetBkColor($cButtonBk, $sBackgroundcolor)
    EndFunc ;==>setbk

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

    Func setmark()
    $sXColor = StringReplace(_ChooseColor(2, 0x000000), "0x", "0xFF")
    GUICtrlSetBkColor($cButtonMark, $sXColor)
    EndFunc ;==>setmark

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

    Func setgrid()
    $sGridColor = StringReplace(_ChooseColor(2, 0x000000), "0x", "0xFF")
    GUICtrlSetBkColor($cButtonGrid, $sGridColor)
    EndFunc ;==>setgrid

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

    Func setsystem()
    $sCoordfarbe = StringReplace(_ChooseColor(2, 0x000000), "0x", "0xFF")
    GUICtrlSetBkColor($cButtonSystem, $sCoordfarbe)
    EndFunc ;==>setsystem

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

    Func calcxtocoords($iX)
    Return $iX + $iNullx
    EndFunc ;==>calcxtocoords

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

    Func calcytocoords($iY)
    Return (-$iY + $iNully)
    EndFunc ;==>calcytocoords

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

    Func ende()
    _GDIPlus_PenDispose($Pen1)
    _GDIPlus_PenDispose($Pen2)
    _GDIPlus_PenDispose($Pen3)
    _GDIPlus_BrushDispose($Brush1)
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_Shutdown()
    Exit
    EndFunc ;==>ende

    [/autoit]
  • 3000 Pixel Lauf (100 Meter Lauf Clone =D) Wie schnell bist du?

    • DFPWare
    • 12. Februar 2011 um 14:01

    :D 8 sekunden immer noch 1 schneller;)

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™