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. autoBert

Beiträge von autoBert

  • Komplexes Programm mit externen Dateien und Autoupdater

    • autoBert
    • 19. Februar 2010 um 16:40

    Hallo lukiono,

    geändertes Skript

    Spoiler anzeigen
    [autoit]

    #RequireAdmin

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

    ;SplashImageOn("Bla",@ProgramFilesDir&"/programm/images/preloader.jpg",800,600,"-1","-1",1)
    ;Sleep(5000)
    ;SplashOff()

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

    ;GUI Beginn -----------------------------------------------------------------------------------------------------------------------------------------------------------------------
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #include <array.au3>

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

    #Region ### START Koda GUI section ### Form=C:\Users\lukiono\Documents\programm\GUI_Template.kxf
    $GUI = GUICreate("Image Conversion Program", 802, 601, 193, 49)
    $unwandeln = GUICtrlCreateButton("Umwandeln", 192, 540, 161, 33, $WS_GROUP)
    $update = GUICtrlCreateButton("Update", 432, 540, 161, 33, $WS_GROUP)
    $beenden = GUICtrlCreateButton("Beenden", 664, 560, 129, 33, $WS_GROUP)
    $vorschau = GUICtrlCreatePic("", 8, 8, 385, 305, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    $status = GUICtrlCreateProgress(24, 480, 769, 25)
    $bildliste = GUICtrlCreateList("", 408, 8, 209, 253)
    $format = GUICtrlCreateList("", 648, 56, 81, 201)
    $text1 = GUICtrlCreateLabel("Format auswählen", 648, 24, 135, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $bildwahl = GUICtrlCreateButton("Bild(er) auswählen", 408, 280, 209, 33, $WS_GROUP)
    $zielwahl = GUICtrlCreateButton("Zielverzeichnis auswählen", 624, 360, 169, 33, $WS_GROUP)
    $zielpfad = GUICtrlCreateList("", 16, 360, 601, 32)
    $fortschritt = GUICtrlCreateLabel("Fortschritt", 344, 440, 85, 28)
    GUICtrlSetFont(-1, 15, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    $vorschaubutton = GUICtrlCreateButton("Vorschau", 240, 320, 153, 33, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    ;GUI Ende ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
    GUISetState()
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $beenden
    $msgb = MsgBox(4, "Beenden", "Wollen Sie wirklich beenden?")
    If $msgb = 6 Then Exit
    Case $update
    $msgb = MsgBox(0 + 64, "Update", "Diese Funktion steht zur Zeit nicht zur Verfügung!")

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

    Case $bildwahl ;<=========== war auf $bildliste

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

    $message = "Um mehrere Dateien auszuwählen, ist die Strg-Taste oder die Shift-Taste zu drücken."

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

    $var = FileOpenDialog($message, @MyDocumentsDir & "", "Bilder (*.jpg;*.bmp)", 1 + 4)
    ;<============= $var war $Bildwahl hätte also die Button-ID überschrieben
    If @error Then
    MsgBox(4096, "", "Keine Datei(en) ausgewählt")
    Else
    $aFiles = StringSplit($var, "|") ;< ================== $var war $Bildwahl
    If $aFiles[0] > 1 Then ;trifft nur bei Mehrfachauwal zu
    ;$aFiles[0] enthält Anzahl der Strings
    ;$aFiles[1] enthält den Pfad für alle ausgewählten Bilder
    ;$aFiles[2] enthält 1. Bild
    ;$aFiles[n+1] enthält n. Bild

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

    ;Rückgabe des Fileopenialogs in einzzenlne Strings für Array splitten
    _ArrayDisplay($aFiles) ;Array anzeigen nur zu Verständnisuwecken evtl. deaktivieren
    For $i = 2 To $aFiles[0]
    _GUICtrlListBox_AddString($bildliste, $aFiles[1] & "\" & $aFiles[$i])
    Next
    Else
    ConsoleWrite($aFiles[1] & @CRLF)
    _GUICtrlListBox_AddString($bildliste, $aFiles[1])
    EndIf
    EndIf
    Case $vorschaubutton
    $sItem = _GUICtrlListBox_GetText($bildliste, _GUICtrlListBox_GetCurSel($bildliste))
    If $vorschau = 0 Then
    $vorschau = GUICtrlCreatePic($sItem, 5, 180, 256, 256)
    ;es gibt noch kein Control das ein Bild aufnehmen kann, also erzeugen
    ;nur vorichtshalber (in füheren Versionen wurde ohne Filenamen kein Pic-Control angelegt)
    Else
    GUICtrlSetImage($vorschau, $sItem)
    ;es bereits ein Control das ein Bild aufnehmen kann, also anderes Bild anzeigen
    EndIf
    EndSwitch
    WEnd

    [/autoit]

    Änderunen mit ;<=========== geknnzeichnet

    mfg (Auto)Bert

  • FileOpenDialog

    • autoBert
    • 19. Februar 2010 um 16:28

    Hallo

    wenn du den Pfad für die Ini korrekt (mit @scriptdir) angibst klappt alles:

    Spoiler anzeigen
    [autoit]

    #Region ### START Koda GUI section ###
    $Window = GUICreate("Profil hinzufügen", 260, 223, 438, 293)
    $Directory = GUICtrlCreateButton("Durchsuchen", 8, 72, 123, 25, 0)
    $Name = GUICtrlCreateInput("", 8, 25, 241, 21)
    $Label1 = GUICtrlCreateLabel("1. Profil benennen:", 8, 8, 93, 17)
    $Path = GUICtrlCreateInput("", 8, 104, 241, 21)
    $X = GUICtrlCreateCombo("1", 8, 160, 185, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6")
    $Label2 = GUICtrlCreateLabel("2. SO wählen:", 8, 56, 113, 17)
    $Label3 = GUICtrlCreateLabel("3. Unterprofil wählen:", 8, 136, 179, 17)
    $Add = GUICtrlCreateButton("Profil erstellen", 8, 192, 243, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $Add
    $anzahl = 1
    Do
    If IniRead("X.ini", "Item", $anzahl, "") = "" Then
    $z = GUICtrlRead($Name)
    $b = GUICtrlRead($Path)
    $c = GUICtrlRead($X)
    $IniName = @ScriptDir & "\X.INI" ;Fileopendialog verändert das Verzeichnis daher kompletter Pfad nötig damit ini ander richtigeb Stelle gespeichert wird
    IniWrite($IniName, "Item", $anzahl, $z)
    IniWrite($IniName, "Item", $anzahl & "b", $b)
    IniWrite($IniName, "Item", $anzahl & "c", $c)
    MsgBox(64, "", "Profil erfolgreich erstellt")
    Exit
    EndIf
    $anzahl = $anzahl + 1
    Until $anzahl = 15
    Case $Directory
    $pfad = FileOpenDialog("SO auswählen", @ProgramFilesDir, "SO (*.exe)")
    GUICtrlSetData($Path, $pfad)
    Case -3 ;$GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]

    mfg (Auto)Bert

  • FileOpenDialog

    • autoBert
    • 19. Februar 2010 um 16:03

    Hallo Ultimatex,

    GuiCtrlRead ist es geliechgültig wie die Daten in das Input-Feld gekommen sind, sie werden auf jeden Fall ausgelesenI. Poste doch einmal dein komplettes Skript,

    mfg (Auto)Bert

  • gui größe verändern

    • autoBert
    • 19. Februar 2010 um 15:45

    Hallo
    du kannst doch GUICtrlSetResizing verwenden:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <IE.au3>

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

    $IE = _IECreateEmbedded()

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

    Global $html

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

    #Region ### START Koda GUI section ### Form=c:\program files\autoit3\scite\koda\forms\webbrowser.kxf
    $Form1 = GUICreate("Webbrowser", 1234, 537, 208, 124, BitOR($WS_SIZEBOX, $WS_SYSMENU, $WS_MAXIMIZEBOX,$WS_MINIMIZEBOX))
    $Menu_Datei = GUICtrlCreateMenu("&Datei")
    $Menu_Einstellungen = GUICtrlCreateMenuItem("Einstellungen", $Menu_Datei)
    $Menu_beenden = GUICtrlCreateMenuItem("Beenden", $Menu_Datei)
    $GUI_url = GUICtrlCreateInput("http://:autoit.de", 72, 8, 801, 21)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    $Label1 = GUICtrlCreateLabel("Adresse:", 8, 8, 67, 24)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $GUI_go = GUICtrlCreateButton("Go!", 880, 8, 65, 25, $WS_GROUP)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    $GUI_home = GUICtrlCreateButton("HOME", 1072, 8, 89, 25, $WS_GROUP)
    $browser = GUICtrlCreateObj($IE, 8, 40, 1020, 435)
    GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    _IENavigate($IE, "http://www.autoit.de")

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Menu_beenden
    Exit
    Case $GUI_go
    $html = GUICtrlRead($GUI_url)
    ;~ MsgBox(0,"",$html);funzt doch...
    _IENavigate($IE, $html)
    EndSwitch
    WEnd

    [/autoit]

    mfg (Auto)Bert

  • TrayItems checked/unchecked

    • autoBert
    • 17. Februar 2010 um 09:44

    Hallo qon,

    hier ein Beispiel zum ermitteln von Checked/UnChecked:

    Spoiler anzeigen
    [autoit]

    #include <Constants.au3>

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

    #NoTrayIcon

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

    Opt("TrayMenuMode", 1) ; Standard Traymenüeinträge (Skript pausieren/beenden) werden nicht angezeigt.

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

    $first = True

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

    $getitem = TrayCreateItem("Status ermitteln")
    TrayCreateItem("")
    $exititem = TrayCreateItem("Beenden")
    TrayItemSetState($getitem, $TRAY_CHECKED)
    TraySetState()

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

    While 1
    $msg = TrayGetMsg()
    Select
    Case $msg = 0
    ContinueLoop
    Case $msg = $getitem
    ;MsgBox(64, "Status", TrayItemGetState($getitem))
    $first = True
    Case $msg = $exititem
    ExitLoop
    EndSelect
    If $first Then
    If BitAND(TrayItemGetState($getitem), $TRAY_CHECKED) = $TRAY_CHECKED Then ; wenn es gechecked war, dann solls ja unchecked werden, also passiert das hier:
    MsgBox(0, "", "checked")
    Else
    MsgBox(0, "", "UNchecked")
    EndIf
    $first = False
    EndIf
    WEnd

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

    Exit

    [/autoit]

    falls du doch noch weitere Fragen hast poste doch dein komplettes Skript,

    mfg (Auto)Bert

  • Gui Button Change - MouseOver

    • autoBert
    • 17. Februar 2010 um 08:17

    Hallo Schnitzel,

    Es gibt die Option OnExitFunc nicht mehr ===>

    Code
    C:\Programme\AutoIt3\Downloads\schnitzel\forum hover\forum hover\GUICtrlSetOnHover_UDF.au3(15,107) : ERROR: Opt() called with illegal argument 1: "OnExitFunc"
    Global $__GUICtrl_SetOnHover_sOriginal_OnExitFunc 	= Opt("OnExitFunc", "__GUICtrl_SetOnHover_OnAutoItExit")

    mfg >(>Auto)Bert

  • Captcha-Abfrage (Rechnung)

    • autoBert
    • 17. Februar 2010 um 07:17

    Hallo qixx,

    Zitat von qixx

    Naja, dann brauche ich ja gar nicht weitermachen. ;)


    MfG
    qixx

    wieso du kannst doch die Methode mit den Rechenaufgaben weiterführen, nur halt mit GDI+

    mfg (Auto)Bert

  • $WM_ENDSESSION näher bestimmen

    • autoBert
    • 17. Februar 2010 um 06:22

    Hallo SEuBo,

    Quelle: http://msdn.microsoft.com/en-us/library/…28VS.85%29.aspx

    Zitat

    lParam

    This parameter can be one or more of the following values. If this parameter is 0, the system is shutting down or restarting (it is not possible to determine which event is occurring).
    Value Meaning

    ENDSESSION_CLOSEAPP
    0x00000001


    The application is using a file that must be replaced, the system is being serviced, or system resources are exhausted. For more information, see Guidelines for Applications.

    ENDSESSION_CRITICAL
    0x40000000


    The application is forced to shut down.

    ENDSESSION_LOGOFF
    0x80000000


    The user is logging off. For more information, see Logging Off.


    Note that this parameter is a bit mask. To test for this value, use a bit-wise operation; do not test for equality.

    Alles anzeigen

    mfg (Auto)Bert

  • Windows Zeit -> UNIX Zeitstempel

    • autoBert
    • 16. Februar 2010 um 17:55

    Hallo Schnitzel,

    er wollte die UNIX-Zeit. Definition laut Wikipedia: http://de.wikipedia.org/wiki/Unixzeit

    Zitat

    Die Unixzeit zählt die vergangenen Sekunden seit dem 1. Januar 1970 00:00 Uhr UTC, wobei Schaltsekunden nicht mitgezählt werden. Dieses Startdatum wird auch als The Epoch (siehe Epoche) bezeichnet.

    @L3viathan2142, den Code vom Wiki perfekt übersetzt

    mfg (Auto)Bert

  • Windows Zeit -> UNIX Zeitstempel

    • autoBert
    • 16. Februar 2010 um 17:27

    Hallo Gwyn,

    das Beispiel aus der Hilfe zu _DateDiff ist die Antwort:

    [autoit]

    #include <Date.au3>

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

    ; Berechnet die Anzahl der Sekunden seit dem 01.01.1970 0:00:00 (Unixzeit EPOCH 1970/01/01 00:00:00)
    $iDateCalc = _DateDiff( 's',"1970/01/01 00:00:00",_NowCalc())
    MsgBox( 4096, "", "Vergangene Sekunden seit EPOCH: " & $iDateCalc )
    ;.......
    ; Details zur Unixzeit unter http://de.wikipedia.org/wiki/Unixzeit

    [/autoit]

    mfg (Auto)Bert

  • Einen bestimmten Reiter von GUICtrlCreateTabItem() in den Vordergrund

    • autoBert
    • 16. Februar 2010 um 16:03

    Hallo,

    mit _GUICtrlTab_SetCurSel($TabIndex) kannst du das realisieren,

    mfg (Auto)Bert

  • Windows 95 und Autoit

    • autoBert
    • 16. Februar 2010 um 14:49

    Hallo concerned,

    Zitat

    Auszug aus Changelog zu AutoIt:

    24th December, 2008 - v3.3.0.0

    AutoIt:

    Windows 9x and Windows NT 4.0 Operating System support has been removed.


    du musst dir also eine ältere Version von AutoIt installieren z.B. v3.2.12.1


    mfg (Auto)Bert

  • checkbox in einem Listview

    • autoBert
    • 16. Februar 2010 um 14:04

    Hallo Rodny_le_lude,

    du must den extended Style $LVS_EX_CHECKBOXES verwenden, also so z.B.:

    [autoit]

    Global $listview = GUICtrlCreateListView("DownLoad?|Name|Firmware Revision| | ", 10, 10, 480, 224, _
    BitOR($LVS_SHOWSELALWAYS, $LVS_REPORT), BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_CHECKBOXES))
    ; wichtig ist der Stil $LVS_Report und der eweiterte Stil $LVS_EX_Checkboxes

    [/autoit]

    mfg (Auto)Bert

  • Scripte als Flowchart darstellen

    • autoBert
    • 16. Februar 2010 um 13:45

    Hallo mikexmagic,

    suche einmal nach rmChart, eine entsprechende Implementierung für AutoIt hat @progandy gemacht.

    mfg (Auto)Bert

  • Goldy stellt sich vor.

    • autoBert
    • 16. Februar 2010 um 13:31

    Hallo Goldy,

    nocheimal herzlich willkommen im Forum. Wenn du die SuFu nach Beiträgen von @MatthiasG. durchsuchst, wirst du sicher einige interssante Skripte zu Mathe finden, so z.B.: MathEx.au3,

    mfg (Auto)Bert

  • GDI+ PunkteDieVonWändenAbprallenScript

    • autoBert
    • 16. Februar 2010 um 12:58

    Hallo Bakku,

    Zitat von Bakku

    Ich hab mal eine Frage.
    Macht man mit GDI+ auch Spiele?

    ja, durchsuche einmal das Forum nach Skripten von UEZ (GDI+ Meister)

    mfg (Auto)Bert

  • Text suchen und weiteres Text löschen

    • autoBert
    • 16. Februar 2010 um 08:59

    Hallo keboard-freak,

    Lösung für eine Zeile:

    [autoit]

    $sText = "Das ist ein String mit Slash /und das fällt alles weg"
    $sNeu = _StringLeftToSlash($sText)
    MsgBox(0, "Ergebnis", $sNeu)

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

    Func _StringLeftToSlash($sOld)
    Local $ipos = StringInStr($sText, "/")
    Local $sNew = StringLeft($sText, $ipos - 1)
    Return ($sNew)
    EndFunc ;==>_StringLeftToSlash

    [/autoit]

    du musst die Funktion für jede Zeile aufrufen,

    mfg (Auto)Bert

  • Captcha-Abfrage (Rechnung)

    • autoBert
    • 16. Februar 2010 um 08:32

    Hallo PrideRage,

    Zitat von PrideRage

    Hallo.
    Also echt, du stellst hier so ein noob Script rein, was du wahrscheinlich in 5 Min höchstens geschrieben hast, und nennst das Captcha ?
    Captchas sind nicht direkt lesbare >>Bilder<<.
    Du hast ne einfache Mathe aufgabe in deinem "Captcha".

    Zitat

    CAPTCHA ['kæptʃə] ist ein Akronym für Completely Automated Public Turing test to tell Computers and Humans Apart. Wörtlich übersetzt bedeutet das „Vollautomatischer öffentlicher Turing-Test, um Computer und Menschen zu unterscheiden“. CAPTCHAs werden verwendet, um zu entscheiden, ob das Gegenüber ein Mensch oder eine Maschine ist. Der Begriff wurde zum ersten Mal im Jahr 2000 von Luis von Ahn, Manuel Blum und Nicholas J. Hopper an der Carnegie Mellon University und von John Langford von IBM gebraucht und ist ein Homophon des englischen Wortes capture (einfangen, erfassen).
    CAPTCHA, das auf der Verschleierung von Buchstaben (hier: „smwm“) in Bildern basiert
    CAPTCHA, das eine Rechenaufgabe ausgibt, die der User lösen muss – Hier wäre die Lösung 25
    CAPTCHA, bei dem das Erlesen durch den Hintergrund erschwert wird. (Hier: MV52RQ)

    Während bei einem Turing-Test ein Mensch entscheiden soll, ob sein Gegenüber ein Rechner oder ein anderer Mensch ist, ist die Idee bei einem CAPTCHA, dass ein Rechner diese Unterscheidung machen soll. CAPTCHAs sollen im Internet sicherstellen, dass nur Menschen und keine programmierten Bots bestimmte Dienste nutzen können. Die Herausforderung für einen Programmierer beim Turing-Test ist es, den Computer möglichst menschenähnlich erscheinen zu lassen; bei CAPTCHAs entstehen zwei Herausforderungen: einerseits schwere Aufgaben in den CAPTCHAs zu stellen, andererseits solche Aufgaben lösen zu können.

    Quelle: http://de.wikipedia.org/wiki/CAPTCHA
    Es ist ein Captcha, allerdings sehr einfach, dies möchte er aber (auf Vorschlag von GtaSpider mit GDI+ lösen. PS.: deine sind zu schwer, also für viele Menschen auch nicht zu lösen.

    mfg (Auto)Bert

  • Brauche Hilfe bei meinem ersten Projekt

    • autoBert
    • 16. Februar 2010 um 08:16

    Hallo Goldy,

    Zitat von Goldy

    A ok vielen dank , also kann man z.B. anstat von Func_Prozent auch einfach was anderes hinschreiben?
    z.B. Func_Wurzel ?

    du darfst eigene Funktionen nennen wie du möchtest solange es sich nicht um bereits von AutoIt verwendete Funktionen handelt, deshalb werden eigenen (also benutzerdefinierte) Funktionen üblicherweise ein _ vorangestellt. Allerdings sollte der Name der Funktion auch einen Bezug dazu haben.

    Die Formel passt und wird bei mir auch richtig berechnet, poste doch einmal deine Eingaben und das Ergebnis für eine falsche Berechnung. AutoIt verlangt als Dezimaltrennzeichen einen Punkt und kein Komma, könnte das die Ursache sein?

    mfg (Auto)Bert

  • Brauche Hilfe bei meinem ersten Projekt

    • autoBert
    • 16. Februar 2010 um 07:57

    Hallo Goldy,

    Zitat

    >>>>aus der dt. Hilfe<<<<
    Func...Return...EndFunc
    --------------------------------------------------------------------------------

    Definiert eine Benutzerfunktion, die Null oder mehr Argumente aufnimmt und optional ein Ergebnis zurückgibt.

    ....


    in der func _Prozentrechnen habe ich die Erstellung der nötigen Gui dafür, sowie alle anderen benötigten Befehle zum Errechnen des Prozentwertes ausgelagert. Ich habe dadurch vermieden, dass das Skript unübersichtlich wird, sonst würde es nämlich so ausschauen:

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

    AutoIt Version: 3.3.4.0
    Author: Goldy

    Script Function:
    Calculator.

    #ce ----------------------------------------------------------------------------

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

    ;============================
    ;======Beispiel - Goldy======
    ;============================
    ;$zahl1 = InputBox ("Zahl1","Hier bitte die erste Zahl eingeben")
    ;$zahl2 = InputBox ("Zahl2","Geben sie nun hier die zweite Zahl ein")
    ;$zahl3 = $zahl1 - $zahl2
    ;MsgBox (0,"Ergebnis",$zahl3)
    ;=============================
    ;=============================

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

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Calculator", 292, 139, 862, 127)
    $Button1 = GUICtrlCreateButton("Addition", 8, 8, 81, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Subtraktion", 104, 8, 97, 25, $WS_GROUP)
    $Button3 = GUICtrlCreateButton("Multiplikation", 8, 40, 81, 25, $WS_GROUP)
    $Button4 = GUICtrlCreateButton("Division", 104, 40, 97, 25, $WS_GROUP)
    $Button5 = GUICtrlCreateButton("Satz des Pythagoras", 8, 72, 193, 25, $WS_GROUP)
    $Button6 = GUICtrlCreateButton("Prozentrechnung", 8, 104, 193, 25, $WS_GROUP)

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $zahl1 = InputBox("Zahl1", "Hier bitte die erste Zahl eingeben")
    $zahl2 = InputBox("Zahl2", "Geben sie nun hier die zweite Zahl ein")
    $zahl3 = $zahl1 + $zahl2
    MsgBox(0, "Ergebnis", $zahl3)
    Case $Button2
    $zahl1 = InputBox("Zahl1", "Hier bitte die erste Zahl eingeben")
    $zahl2 = InputBox("Zahl2", "Geben sie nun hier die zweite Zahl ein")
    $zahl3 = $zahl1 - $zahl2
    MsgBox(0, "Ergebnis", $zahl3)
    Case $Button3
    $zahl1 = InputBox("Zahl1", "Hier bitte die erste Zahl eingeben")
    $zahl2 = InputBox("Zahl2", "Geben sie nun hier die zweite Zahl ein")
    $zahl3 = $zahl1 * $zahl2
    MsgBox(0, "Ergebnis", $zahl3)
    Case $Button4
    $zahl1 = InputBox("Zahl1", "Hier bitte die erste Zahl eingeben")
    $zahl2 = InputBox("Zahl2", "Geben sie nun hier die zweite Zahl ein")
    $zahl3 = $zahl1 / $zahl2
    MsgBox(0, "Ergebnis", $zahl3)
    Case $Button5
    $zahl1 = InputBox("Zahl1", "Hier bitte die erste Zahl eingeben")
    $zahl2 = InputBox("Zahl2", "Geben sie nun hier die zweite Zahl ein")
    $zahl3 = $zahl1 * $zahl1 + $zahl2 * $zahl2
    MsgBox(0, "Ergebnis", $zahl3)
    Case $Button6
    #Region ### START Koda GUI section ### Form=E:\Programme\AutoIt3\SciTE\Koda\Forms\Prozentrechnung.kxf
    $Form2 = GUICreate("Prozentrechngung", 496, 82, 390, 243)
    $Button7 = GUICtrlCreateButton("Grundwert (G)", 8, 8, 145, 25, $WS_GROUP)
    $Button8 = GUICtrlCreateButton("Prozentwert (W)", 168, 8, 145, 25, $WS_GROUP)
    $Button9 = GUICtrlCreateButton("Prozentsatz (p)", 328, 8, 145, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $Button7
    $zahl1 = InputBox("Zahl1", "Hier bitte den Grundwert eingeben")
    $zahl2 = InputBox("Zahl2", "Geben sie nun hier den Prozentsatz ein")
    $zahl3 = $zahl1 * $zahl2
    $zahl4 = $zahl3 / 100
    MsgBox(0, "Ergebnis", $zahl4)
    EndSwitch
    WEnd
    GUIDelete($Form2)

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

    EndSwitch
    WEnd

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

    mfg (Auto)Bert

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™