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

  • Problem bzg. GuiCtrlCreatePic und _Stringbetween

    • autoBert
    • 18. Dezember 2011 um 02:55
    Zitat von Krabat

    also, den Code den ich oben gepostet habe, der geht ;)
    vllt. hast du ihn nur falsch umgesetzt

    Stimmt, der funktioniert hab in mal um eine DL-Funktion erweitert:

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <GUIConstantsEx.au3>

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

    $hGui = GUICreate("", 300, 300)
    $sPicFile = @ScriptDir & "\PeesAvatar.png"

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

    if Not FileExists($sPicFile) Then InetGet("http://autoit.de/wcf/images/avatars/avatar-1701.png",$sPicFile,1,0) ;Datei wird bei Bedarf herunter geladen
    $cPic = GUICtrlCreatePng($sPicFile, 5, 5)

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

    GUICtrlSetPos($cPic, 0, 0, 300, 300) ; Bild verschieben und auf ganze GUI größe ziehen
    GUICtrlSetState($cPic,$GUI_DISABLE)
    $idBtnTest = GUICtrlCreateButton("&Test",10,10,60)
    GUISetState(@SW_SHOW, $hGui)

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $idBtnTest
    MsgBox(0,"Test-Button","erfolgreich gefunden")
    ;
    EndSwitch
    WEnd

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

    Func GUICtrlCreatePng($PNG_Extender_hScreen, $PNG_Extender_iX = "", $PNG_Extender_iY = "")
    Local $PNG_Extender_hPic = GUICtrlCreatePic("", $PNG_Extender_iY, $PNG_Extender_iX)
    _GDIPlus_Startup()
    Local $PNG_Extender_hImage = _GDIPlus_ImageLoadFromFile($PNG_Extender_hScreen)
    Local $hBmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($PNG_Extender_hImage)
    GUICtrlSendMsg($PNG_Extender_hPic, 0x0172, 0, $hBmp)
    _WinAPI_DeleteObject($hBmp)
    _GDIPlus_ImageDispose($PNG_Extender_hImage)
    _GDIPlus_Shutdown()
    Return $PNG_Extender_hPic
    EndFunc ;==>GUICtrlCreatePng

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

    mfg autoBert

  • Problem bzg. GuiCtrlCreatePic und _Stringbetween

    • autoBert
    • 17. Dezember 2011 um 23:15

    Hallo Njahs,

    dann setzt du das Beispiel nicht richtig um. Da du aber bis jetzt nur einen Codefetzen zu deinem Problem gepostet hast kann man nicht erkennen wo dein (neuer) Fehler liegt. Poste daher bitte das komplette Skript oder ein lauffähiges Beispiel mit dem geleichen Problem,

    mfg autoBert

  • Problem bzg. GuiCtrlCreatePic und _Stringbetween

    • autoBert
    • 17. Dezember 2011 um 16:17
    Zitat von Njahs

    Das mit dem 3. Bsp. von GuiCtrlCreatePic ist ja genau das , was Krabat nun auch gemacht hat ,
    klappt aber auch nicht

    Dann nimm das 3. Beispiel aus der Hilfe ersetze dort den Bild-Pfad mit dem Pfad zu deinem Skin.PNG.

    mfg autoBert

  • Problem bzg. GuiCtrlCreatePic und _Stringbetween

    • autoBert
    • 17. Dezember 2011 um 15:29

    Hast du den schon einmal auf deine Festplatte geschaut ob die Datei überhaupt heruntergeladen wird? D>as geht auch mit ener Zeile im Skriptcode:

    [autoit]

    Consolewrite($Skin&".png gefunden" & @crlf)

    [/autoit]

    Wenn ja schau dir das 3. Beispiel zu GUICtrlCreatePic an, das funktioniert. Wenn nein was ich vermute da:

    Zitat

    Die in Amazon S3 gespeicherten Daten sind standardmäßig sicher; nur die Bucket- und Objekt-Besitzer haben Zugang zu ihren selbst erstellen Amazon-S3-Ressourcen.

    das heisst ein nicht angemeldeter User kommt nicht an seine Daten. Solltest du folgendes versuchen:

    Zitat

    Um einen Benutzernamen und Passwort zum Verbinden zu benutzen, schreibt man einfach "Username:Passwort@" vor den Servernamen, z.B. "http://myuser:mypassword@https://autoit.de/www.somesite.com"

    Quelle: dt. Hilfefalls das auch nicht klappt musst du dich in Web-TCP oder HTTP einarbeiten und es mit einem der beiden versuchen,

    mfg autoBert

  • Problem bzg. GuiCtrlCreatePic und _Stringbetween

    • autoBert
    • 17. Dezember 2011 um 01:14

    Hallo Njahs,

    Zitat

    _StringBetween

    Gibt einen Teilstring zwischen einem angegebenen Start-String und einem Stopp-String zurück
    ...
    Rückgabewert

    Erfolg: Ein 0-basierendes $Array[0] enthält den ersten gefundenen String.
    Fehler: 0

    Quelle: dt. Hilfe du musst also

    [autoit]

    FileWrite (@Scriptdir &"\Probuilder.txt",$ProBuilder & @CRLF)

    [/autoit]

    zu

    [autoit]

    FileWrite (@Scriptdir &"\Probuilder.txt",$ProBuilder[0] & @CRLF)
    FileClose($FileOpen);sollte auch wieder geschlossen werden

    [/autoit]

    abändern

    mfg autoBert

  • Bestimmte Zeile aus einer Edit Box auslesen?

    • autoBert
    • 15. Dezember 2011 um 21:46

    nur der Vollstädigkeit halber, es gibt in der GuiEdit-UDF auch die Funktion

    [autoit]

    _GUICtrlEdit_GetLine

    [/autoit]

    . Hier das abgewandelte Hilfebeispiel dazu:

    Spoiler anzeigen
    [autoit]

    #AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    #include <GuiEdit.au3>
    #include <GuiConstantsEx.au3>

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

    Opt('MustDeclareVars', 1)

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

    $Debug_Ed = False ; Check ClassName being passed to Edit functions, set to True and use a handle to another control to see it work

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

    _Main()

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

    Func _Main()
    Local $hEdit
    Local $sFile = "Zeile 1" &@crlf &"Zeile 2" &@crlf &"Zeile 3" &@crlf &"Zeile 4" &@crlf &"Zeile 5" &@crlf &"Zeile 6" &@crlf &"Zeile 7" &@crlf &"Zeile 8"
    ; Create GUI
    GUICreate("Edit Get Line", 400, 300)
    $hEdit = GUICtrlCreateEdit("", 2, 2, 394, 268)
    GUISetState()

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

    _GUICtrlEdit_SetText($hEdit, $sFile)

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

    ; Loop until user exits
    Do
    Local $i = Random(0, 7, 1)
    MsgBox(4160, "Zeile "& $i+1&":", _GUICtrlEdit_GetLine($hEdit, $i))
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
    EndFunc ;==>_Main

    [/autoit]

    mfg autoBert

  • Program aus dem Tray öffnen

    • autoBert
    • 15. Dezember 2011 um 20:08
    Zitat von Silvie

    Ich versuche, ein Programm zu schreiben, das ein Spiel öffnet (und dann etwas darin macht, das funktioniert so weit)

    Zitat von Silvie

    schonmal danke^^
    komischerweise kann ich damit ein Fenster nicht umbenennen, alle anderen gehen...
    und öffnen aus dem Tray kann ich sie so leider immernoch nicht


    Dann ist dies also kein selbsterstelltes Spiel sondern ein BOT um ein fremdes Spiel zu steuern, les dir daher die Forenregeln durch:

    Zitat

    Folgende Inhalte sind absolut nicht erwünscht. Das Team behält es sich ausdrücklich vor, zur Durchsetzung der Regeln je nach Schweregrad Benutzer, Posts und Threads zu verwarnen, zu sperren oder sogar zu löschen.

    - Bots für Spiele jeglicher Art, ...

    und unterlasse in Zukunft solche Anfragen,

    mfg autoBert

  • Button mehrfach belegen - einfache Lösung?

    • autoBert
    • 15. Dezember 2011 um 16:30

    Hallo Beni,

    hier mein Lösungsvorschlag:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Dim $aMain[10]
    Dim $aSub[10]
    $hGui = GUICreate("Button test", 910, 200)
    $top = 10
    $left = 5
    For $i = 0 To 9
    $aMain[$i] = GUICtrlCreateButton("MainButton_"&$i, $left, $top,85)
    $left += 90
    next
    $top = 40
    $left = 5
    For $i = 0 To 9
    $aSub[$i] = GUICtrlCreateButton("SubButton_"&$i, $left, $top,85)
    $left += 90
    GUICtrlSetState($aSub[$i], $GUI_DISABLE)
    next
    GUISetState()

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

    While 1
    $nMsg =GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $aMain[0] to $aMain[9]
    $iMain = $nMsg - $aMain[0]
    for $i = 0 to 9
    GUICtrlSetState($aMain[$i], $GUI_DISABLE)
    GUICtrlSetState($aSub[$i], $GUI_ENABLE)
    Next
    case $aSub[0] to $aSub[9]
    $iSub = $nMsg - $aSub[0]
    MsgBox(0,"Gedrückt wurde:","Main "& $iMain & " Sub " & $iSub)
    for $i = 0 to 9
    GUICtrlSetState($aMain[$i], $GUI_ENABLE)
    GUICtrlSetState($aSub[$i], $GUI_DISABLE)
    Next
    EndSwitch
    WEnd

    [/autoit]

    mfg autoBert

  • Ein "Klappmenü" erstellen

    • autoBert
    • 15. Dezember 2011 um 01:03

    Hallo Kizum,

    nein, da du keine Hotkeys auf die Schaltflächen gelegt hast ist das unnötig. Hier meine Lösung:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    $gui = GUICreate("gui", 200, 200, 200, 200)
    GUISetState(@SW_SHOW, $gui)

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

    $btnToggle = GUICtrlCreateButton("&einklappen", 20, 10, 100, 20)
    GUICtrlSetResizing(-1, $GUI_DOCKALL)

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

    GUICtrlCreateInput("meine katze hat durchfall", 5, 80, 135, 20)
    GUICtrlSetResizing(-1, $GUI_DOCKALL)
    GUICtrlCreateButton("Senden", 140, 80, 55, 20)
    GUICtrlSetResizing(-1, $GUI_DOCKALL)

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

    ;SOLL WEG
    GUICtrlCreateButton("wir", 5, 120, 40, 20)
    GUICtrlSetResizing(-1, $GUI_DOCKALL)
    GUICtrlCreateButton("sind", 50, 120, 40, 20)
    GUICtrlSetResizing(-1, $GUI_DOCKALL)
    GUICtrlCreateButton("unerwünscht", 100, 120, 80, 20)
    GUICtrlSetResizing(-1, $GUI_DOCKALL)
    ;SOLL WEG ENDE
    $aPos = WinGetPos($gui)

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $btnToggle
    If GUICtrlRead($btnToggle) = "&einklappen" Then
    _GuiResize("gui", $aPos[0], $aPos[1], $aPos[2], 137)
    GUICtrlSetData($btnToggle, "&ausklappen")
    Else
    _GuiResize("gui", $aPos[0], $aPos[1], $aPos[2], $aPos[3])
    GUICtrlSetData($btnToggle, "&einklappen")
    EndIf
    EndSwitch
    WEnd

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

    Func _GuiResize($Guiname, $Posx, $posy, $Breite, $Hoehe)
    ; $Breite = $Breite + 6
    ; $Hoehe = $Hoehe + 32
    If $Posx = -1 Then
    $PosxTemp = @DesktopWidth / 2 - $Breite / 2 + 1
    Else
    $PosxTemp = $Posx
    EndIf
    If $posy = -1 Then
    $PosYTemp = @DesktopHeight / 2 - $Hoehe / 2 - 14
    Else
    $PosYTemp = $Posx
    EndIf
    WinMove($Guiname, "", $PosxTemp, $PosYTemp, $Breite, $Hoehe)
    EndFunc ;==>_GuiResize

    [/autoit]

    mfg autoBert

  • StringSplit funktioniert nicht???

    • autoBert
    • 27. November 2011 um 19:38

    Es haben auch alle Elemente Inhalt wie du hieran erkennen kannst:

    [autoit]

    Global $sConfigFile = @ScriptDir & "\config.dat", $sLink = "http://de.minecraftwiki.net/wiki/Brauen"

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

    InetGet($sLink, $sConfigFile, 1)
    $sText = FileRead($sConfigFile)
    $aText = StringSplit($sText, '<table class="wikitable">', 1)
    for $i= 1 to $aText[0]
    MsgBox(0,"",$aText[$i])
    Next

    [/autoit]

    mfg autoBert

  • Inputfeld mit DropDown verändert - gib falsche Werte

    • autoBert
    • 27. November 2011 um 13:06

    Entferne beim auslesen einfach den Punkt:

    Spoiler anzeigen
    [autoit]

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

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

    Global $DisplayBreite =@DesktopWidth, $DisplayHoehe = @DesktopHeight
    $Form1 = GUICreate("Form1", $DisplayBreite, $DisplayHoehe)
    GUICtrlCreateGroup("Grafikgröße - waagerecht x senkrecht",440,4,200,62)
    $vInputBeiteGrafik=GUICtrlCreateInput($DisplayBreite, 470, 30, 60, 20)
    $vBeiteGrafikTMP=GUICtrlCreateUpdown($vInputBeiteGrafik)
    GUICtrlCreateLabel("X",537,31)
    $vInputHoeheGrafik=GUICtrlCreateInput($DisplayHoehe, 550, 30, 60, 20)
    $vHoeheGrafikTMP=GUICtrlCreateUpdown($vInputHoeheGrafik)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ; Gruppe schliessen

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

    ; Gruppe Seitenverhältnis
    GUICtrlCreateGroup("Seitenverhältnis der Grafik",440,70,200,39)
    $Ratio1 = GUICtrlCreateRadio("4 : 3", 450, 85, 50, 20) ; = 0.75 oder 1.33333
    $Ratio2 = GUICtrlCreateRadio("16 : 9", 520, 85, 50, 20) ; = 0.5625 oder 1.777778
    $Ratio3 = GUICtrlCreateRadio("ohne", 590, 85, 45, 20)
    GUICtrlSetState($Ratio3, $GUI_CHECKED)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ; Gruppe schliessenGUISetState(@SW_SHOW)
    $idBtnCalc = GUICtrlCreateButton("be&rechnen",$DisplayBreite/2 + 50,$DisplayHoehe-50)
    GUISetState()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $idBtnCalc
    MsgBox(0,"Brite/Höhe",StringReplace(GUICtrlRead($vInputBeiteGrafik),".","") & "/" & StringReplace(GUICtrlRead($vInputHoeheGrafik),".",""))
    EndSwitch
    WEnd

    [/autoit]

    mfg autoBert

  • Ini Write

    • autoBert
    • 27. November 2011 um 12:31

    Hallo XP-User,

    So speichere die Spaltenbreiten einer LV:

    [autoit]

    For $i = 0 To _GUICtrlListView_GetColumnCount($idLV_Preview) - 1
    IniWrite($sLiz, "Übersicht", "Col[" & $i & "]", _GUICtrlListView_GetColumnWidth($idLV_Preview, $i))
    Next

    [/autoit]

    und so setze ich die gespeicherten Werte beim nächsten Programmstart:

    [autoit]

    For $i = 0 To _GUICtrlListView_GetColumnCount($idLV_Preview) - 1
    $j = Number(IniRead($sLiz, "Übersicht", "Col[" & $i & "]", _GUICtrlListView_GetColumnWidth($idLV_Preview, $i)))
    _GUICtrlListView_SetColumnWidth($idLV_Preview, $i, $j)
    Next

    [/autoit]

    Die Ini sind dann so aus:

    Code
    [Übersicht]
    Col[0]=0
    Col[1]=167
    Col[2]=266
    Col[3]=8
    Col[4]=8
    Col[5]=6
    Col[6]=6
    Col[7]=138
    Col[8]=173
    Col[9]=95
    Col[10]=93
    Col[11]=71
    Col[12]=167
    Col[13]=119
    Col[14]=129
    Col[15]=110
    Col[16]=107
    Col[17]=10
    Col[18]=10
    Col[19]=10
    Alles anzeigen

    mfg autoBert

  • Raupi - alles Gute zum Geburtstag!

    • autoBert
    • 26. November 2011 um 23:24

    Auch von mir die besten Wünsche an den Katzenbändiger, vor allem Gesundheit, Glück und WErfolg in allen Lebenslagen. Und da es ja auf Wichenende fällt natürlich auch eine schöne :party: du Jungspund. Das 1. Drittel hast du jetzt hinter dir lass es dir auch in den nächsten beiden gut gehen,

    lfg autoBert

  • Hintergrundfarbe von GroupBox ändern

    • autoBert
    • 25. November 2011 um 19:10

    Das könntest du über eine Childgui lösen, wie man innerhalb einer Group eine ChildGui benutzt habe ich dir in https://autoit.de/index.php?page…CtrlCreateGroup gezeigt, dieses mal sollte aber die Group auf der Childgui liegen,

    mfg autoBert

  • OnlineCheck und GetOnlineTime ...

    • autoBert
    • 25. November 2011 um 18:29
    Zitat von UPIA

    EDIT: BLinz ... also es soll eigentlich nur festgestellt werden ob der rechner (beliebig) auf dem das autoit-script laeuft mit dem inet verbunden ist, nicht ob autoit.de online ist (werde den host natürlich aendern) ... wenn das so ist, will ich eine zeit aus dem inet auslesen (kann ich auch mit IE.au3 etwas aufwändiger hinkriegen, dachte nur da gibts n befehl, der einen timestamp oä zurückgibt) ..

    erzeug dir den Timestamp doch einfach selbst. Die Makros

    [autoit]

    @year
    @mon
    @MDay

    [/autoit]

    sollten dir dabei behilflich sein. Wenn du dann noch die lokaleUhrzeit mit dem INet gelegentlich synchronisieren lässt (Doppelklick auf die Uhrzeit im Tray und dort das Häckchen setzen) hast du lokal immer eine Zeit die denen Ansprüchen genügt.

  • Neue AutoIT Version liest aus SQLite DB die Umlaute nicht mehr korrekt

    • autoBert
    • 24. November 2011 um 22:40

    Hallo Aducarab,

    und was passiert bei neu aufgenommen Datensätzen?
    Behauptung: SQLiteAdmin zeigt die D>aten falsch an, aber dein Programm gint sie korrekt aus. Richtig?
    Wenn ja kannst du entweder alle bereits erfassten Daten einmal konvertieren oder in der neuen Version beim speichern in das alte Format wandeln und bem auslesen zurückwandeln.

    Kannst du einmal eine kleine (hier loch ladbare) DB erstellen in der das Probelm ist?

  • Totales Chaos mit Parallelport angerichtet...

    • autoBert
    • 22. November 2011 um 19:26

    Das Problem ist doch offensichtlich: Die Geister in der Geistebahn haben etwas gegen Fremdbestimmung und übernehmen selbst die Steuerung.

    Spass beiseite, es ist zwar nett uns die benutzte UDF zu nennen aber um einen möglichen Skriptfehler auszuschliessen solltest du auch das Skript mit einstellen damit man es kurz checken kann.

    Die einfachste Erklärung ist allerdings irgendjemand versucht etwas an einen (nicht vorhandenen) Drucker zu senden.

    mfg autoBert

  • Schleifen behaken sich

    • autoBert
    • 20. November 2011 um 10:18

    Hallo oh-ha,

    du hast 2 Lösungsmöglchkeiten:

    • alles im OnEvent Mode:
      Spoiler anzeigen
      [autoit]

      #include <ButtonConstants.au3>
      #include <GUIConstantsEx.au3>
      #include <StaticConstants.au3>
      #include <WindowsConstants.au3>
      Opt("GUIOnEventMode", 1)
      Global $Radio1, $Radio2, $Form2
      main()
      Func main()
      #Region ### START Koda GUI section ### Form=
      $Form2 = GUICreate("Test", 117, 150, 302, 218)
      $Label1 = GUICtrlCreateLabel("Testmain", 32, 8, 47, 17)
      $Group1 = GUICtrlCreateGroup("Funktion", 10, 32, 97, 41)
      $Radio1 = GUICtrlCreateRadio("An", 18, 48, 41, 17)
      GUICtrlSetState(-1, $GUI_CHECKED)
      $Radio2 = GUICtrlCreateRadio("Aus", 59, 48, 41, 17)
      GUICtrlCreateGroup("", -99, -99, 1, 1)
      $Button1 = GUICtrlCreateButton("OK", 18, 80, 75, 25)
      $Button2 = GUICtrlCreateButton("Beenden", 18, 112, 75, 25)
      GUISetState(@SW_SHOW)
      #EndRegion ### END Koda GUI section ###
      GUICtrlSetOnEvent($Button1, "test1")
      GUICtrlSetOnEvent($Button2, "endmain")
      GUISetOnEvent($GUI_EVENT_CLOSE, "endmain")
      While 1
      Sleep(50)
      WEnd
      EndFunc;==>main

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

      Func test1(); ich weiss das man das auch als If...else hätte machen können ist nur zur veranschaulichung
      If $Radio1 And BitAND(GUICtrlRead($Radio1), $GUI_CHECKED) = $GUI_CHECKED Then
      MsgBox(0,"Test", "Nur zu Testzwecken")
      Endif

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

      If $Radio2 And BitAND(GUICtrlRead($Radio2), $GUI_CHECKED) = $GUI_CHECKED Then
      test2()
      Endif
      EndFunc;==>test

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

      Func test2()
      ;Opt("GUIOnEventMode", 0); ohne dem geht gar nichts mehr
      #Region ### START Koda GUI section ### Form=c:\users\jpjono\desktop\comag für sehbehinderte\formen\forum testform2.kxf
      $Form2 = GUICreate("Testform2", 125, 206, 302, 218)
      $Label1 = GUICtrlCreateLabel("Testform2", 8, 8, 51, 17)
      $Button1 = GUICtrlCreateButton("Beenden", 24, 168, 75, 25)
      $Button2 = GUICtrlCreateButton("OK", 24, 136, 75, 25)
      $Label2 = GUICtrlCreateLabel("", 32, 80, 51, 20, $SS_SUNKEN)
      GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
      GUICtrlSetColor(-1, 0x0000FF)
      $Input1 = GUICtrlCreateInput("", 24, 32, 73, 21)
      GUISetState(@SW_SHOW)
      #EndRegion ### END Koda GUI section ###

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

      GUICtrlSetOnEvent($Button1, "endtest2")
      GUICtrlSetOnEvent($Button2, "endtest2")
      GUISetOnEvent($GUI_EVENT_CLOSE, "endmain")
      #cs
      While 1 * sleep(10)
      $nMsg = GUIGetMsg()
      Switch $nMsg
      Case $GUI_EVENT_CLOSE
      endtest2()
      Case $Label2
      $neu = GUICtrlRead($Input1)
      GUICtrlSetData($Label2, $neu)
      EndSwitch
      WEnd
      #ce

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

      EndFunc;==>test2

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

      Func endtest2()
      GUIDelete($Form2)
      EndFunc;==>endtest2

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

      Func endmain()
      Exit
      EndFunc;==>endmain

      [/autoit]
    • 2. Gui im GuiGetMsg-Mode, dann musst du danach aber auch wieder den OnEvent-Mode anschalten.
      Spoiler anzeigen
      [autoit]

      #include <ButtonConstants.au3>
      #include <GUIConstantsEx.au3>
      #include <StaticConstants.au3>
      #include <WindowsConstants.au3>
      Opt("GUIOnEventMode", 1)
      Global $Radio1, $Radio2, $Form2
      main()
      Func main()
      #Region ### START Koda GUI section ### Form=
      $Form2 = GUICreate("Test", 117, 150, 302, 218)
      $Label1 = GUICtrlCreateLabel("Testmain", 32, 8, 47, 17)
      $Group1 = GUICtrlCreateGroup("Funktion", 10, 32, 97, 41)
      $Radio1 = GUICtrlCreateRadio("An", 18, 48, 41, 17)
      GUICtrlSetState(-1, $GUI_CHECKED)
      $Radio2 = GUICtrlCreateRadio("Aus", 59, 48, 41, 17)
      GUICtrlCreateGroup("", -99, -99, 1, 1)
      $Button1 = GUICtrlCreateButton("OK", 18, 80, 75, 25)
      $Button2 = GUICtrlCreateButton("Beenden", 18, 112, 75, 25)
      GUISetState(@SW_SHOW)
      #EndRegion ### END Koda GUI section ###
      GUICtrlSetOnEvent($Button1, "test1")
      GUICtrlSetOnEvent($Button2, "endmain")
      GUISetOnEvent($GUI_EVENT_CLOSE, "endmain")
      While 1
      Sleep(50)
      WEnd
      EndFunc ;==>main

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

      Func test1(); ich weiss das man das auch als If...else hätte machen können ist nur zur veranschaulichung
      If $Radio1 And BitAND(GUICtrlRead($Radio1), $GUI_CHECKED) = $GUI_CHECKED Then
      MsgBox(0, "Test", "Nur zu Testzwecken")
      EndIf

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

      If $Radio2 And BitAND(GUICtrlRead($Radio2), $GUI_CHECKED) = $GUI_CHECKED Then
      test2()
      EndIf
      EndFunc ;==>test1

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

      Func test2()
      $bOnEvent = Opt("GUIOnEventMode", 0) ;auf GuiGetMsg-Mode umschalten und specihern welcher Modus vorher aktiv war
      #Region ### START Koda GUI section ### Form=c:\users\jpjono\desktop\comag für sehbehinderte\formen\forum testform2.kxf
      $Form2 = GUICreate("Testform2", 125, 206, 302, 218)
      $Label1 = GUICtrlCreateLabel("Testform2", 8, 8, 51, 17)
      $Button1 = GUICtrlCreateButton("Beenden", 24, 168, 75, 25)
      $Button2 = GUICtrlCreateButton("OK", 24, 136, 75, 25)
      $Label2 = GUICtrlCreateLabel("", 32, 80, 51, 20, $SS_SUNKEN)
      GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
      GUICtrlSetColor(-1, 0x0000FF)
      $Input1 = GUICtrlCreateInput("", 24, 32, 73, 21)
      GUISetState(@SW_SHOW)
      #EndRegion ### END Koda GUI section ###

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

      While 1 * Sleep(10)
      $nMsg = GUIGetMsg()
      Switch $nMsg
      Case $GUI_EVENT_CLOSE, $Button1, $Button2
      ExitLoop
      Case $Label2
      $neu = GUICtrlRead($Input1)
      GUICtrlSetData($Label2, $neu)
      EndSwitch
      WEnd
      GUIDelete($Form2)
      Opt("GUIOnEventMode", $bOnEvent) ;den Modus einschalten der vorher aktiv war

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

      EndFunc ;==>test2

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

      Func endmain()
      Exit
      EndFunc ;==>endmain

      [/autoit]

      mfg autoBert

  • Problem mit File

    • autoBert
    • 19. November 2011 um 22:01
    Zitat von Njahs

    ich will
    den Wert "music:0.0" bis "music:1.0" aus einer
    datei(.txt) mit einem anderen Wert ersetzen,
    aber ich weiß 1. Nicht , wie ich einen Wert ersetzen
    kann , und 2. nicht , wie ich festlegen kann , dass es von
    "music:0.0" bis zu "music:1.0" alles ersetzen soll

    genau dies macht mein Skript doch, bei Werten unter 1 also solche die mit 0 anfangen wird 1.0 gesetzt.

    Zitat von Njahs

    Danke , funktioniert soweit , doch ich will ja , dass , egal welchen wert "music:" hat , es mit "music:1.0" zu "ersetzen"

    weisst du mittlerweile was du willst? Falls 1. Aussage stimmt meine Version benutzen, falls 2. Aussage stimmt Änderung von HellBoy einbauen,

    mfg autoBert

  • GUICtrlSetData mit GUICtrlRead auslesen

    • autoBert
    • 19. November 2011 um 21:40
    Zitat von Ghostleader

    Eine Frage die ich vorerst noch hätte ist ob man es nicht so machen kann das wenn man start und ziehlstadt schon ausgewählt hat, man dann angesagte ware auf je setzt das dies gleich aktualisiert wird, denn momentan muss man dann immer nochmal eine stadt vor und dann wieder zurück zum aktualisieren!


    natürlich geht das einfach bei ComboBox-Ändrung eine Aktion durchführen lassen, in deinem Fall Berechnung aufrufen:

    [autoit]

    Case $Startstadt, $Zielstadt, $AngesagteWare
    _Berechnung($nMsg)

    [/autoit]

    der Sinn dieses Schalters erschliesst sich mir zwar nicht, aber ich kenne ja auch das Spiel nicht. Trotzdem wäre es nicht sinnvoller dies pro Ware zu machen, bzw. dem Anwender zu ermöglichen die Menge je Ware zu bestimmen die er für die Fahrt bunkern will? Auch würde ich anstelle einer Combo eine CheckBox nehmen aber dies ist wohl Geschmackssache,

    mfg autoBert

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™