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

Beiträge von BugFix

  • Funktion Gesucht !

    • BugFix
    • 17. Februar 2013 um 20:56

    Dann setze bitte das Thema auf gelöst (Startpost editieren).

  • StringInStr Funktioniert nicht richtig

    • BugFix
    • 17. Februar 2013 um 20:53

    Deine Überschrift ist Bullshit!

    Richtig wäre:
    Mein Versuch mit StringInStr zu arbeiten schlägt fehl - was mache ich falsch?

    Und um deine Fehler zu sehen, müßtest du uns schon wissen lassen, wie der Inhalt, den du verarbeiten willst, aussieht.

    Btw. - Um nur zu prüfen, ob StringInStr etwas findet bedarf es keinerlei Vergleichselement. Hängt mit der Vergleichsform von If (bool) und der Interpretation von Werten durch AutoIt (0=False, alles andere ist True) zusammen:

    [autoit]

    If StringInstr($string, $InStr) Then ; wahr

    [/autoit]
  • RosettaCode Sammelthread

    • BugFix
    • 16. Februar 2013 um 21:12

    Eigentlich meiden wir, wenn es irgend geht, Assign und Eval. Das sind Befehle, die wirklich nur in extremen Ausnahmefällen zu nutzen sind. Meist gibt es jedoch bessere Lösungsvarianten.
    Deshalb würde ich empfehlen die Bsp. in Rosetta Code nicht damit zu "verschlimmbessern".
    Just my 2 Cent. ;)

  • Quizfrage (dt. Städte)

    • BugFix
    • 16. Februar 2013 um 10:33

    öhhhm - alle Städte liegen an einem Fluß/Bach/Wasserlauf?

  • If...Then Mehrere Statements per Zeile

    • BugFix
    • 15. Februar 2013 um 20:31

    Du kannst außer Schleifen und erzwungenermaßen mehrzeiligen Statements alles in AutoIt in einer Zeile ausführen. Z.B. indem du eine fortlaufende Variablendeklaration durchführst mit den Funktionen, die du aufrufst:

    [autoit]


    Global $a = InputBox(...Eingabe Zahl...), $b = InputBox(...Eingabe Zahl...), $c = $a + $b, $d = $a * $b, $gui = GuiCreate(..), $button = GuiCtrlCreateButton(..), ;....... usw. usf.

    [/autoit]
  • Umschreiben eines Strings

    • BugFix
    • 15. Februar 2013 um 17:22

    Oder so:

    [autoit]

    $s = "54°31.267'N 012°42.852'E"
    $rep = StringRegExpReplace($s, "(\d+)°(\d+\.\d+)'N (\d+)°(\d+\.\d+)'E", "N$1 $2" & @LF & "E$3 $4")
    ConsoleWrite($rep & @crlf)

    [/autoit]
  • SciTE - Variablen- und Funktions- Tipp (CallTipp oder Konsolenausgabe) per HotKey od. Kontextmenü, Suche nach Variable [v0.11]

    • BugFix
    • 11. Februar 2013 um 21:24

    Neue Version 0.10!

    - Anhand von (Teil-)Begriffen aus den Variablentipps läßt sich nach Variablen suchen.
    - Alle Variablen, in deren Beschreibung eine Übereinstimmung mit dem Suchbegriff gefunden wurde, werden mit Beschreibung in die Konsole oder in eine Userliste zur Auswahl ausgegeben
    Näheres s. Post #1

  • Press to Set Hotkey - Funktion (Hotkeyset)

    • BugFix
    • 11. Februar 2013 um 10:18

    Bischen Suchen hilft immer: ChooseHotKey UDF oder HotKey Control UDF
    ..und noch eins: HotKey Input UDF

  • Dynamisches ListView-Item

    • BugFix
    • 11. Februar 2013 um 09:38

    Wenn ich dich recht verstehe, willst du wissen, welche Item markiert sind und diese als kommagetrennten String ausgeben.

    Einfach so:

    [autoit]

    Global $array[5] = [4,'alpha','beta','gamma','delta']

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

    GUICreate("Kategorie", 220, 300, 200, 250)

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

    $listview = GUICtrlCreateListView("Kategorie 1", 10, 10, 200, 200, $LVS_SORTASCENDING, $LVS_EX_CHECKBOXES)
    $hLV = GUICtrlGetHandle($listview)
    $button = GUICtrlCreateButton("Auswählen", 75, 250, 70, 20)
    For $item = 1 To $array[0]
    $content = GUICtrlCreateListViewItem($array[$item], $listview)
    Next
    GUISetState()

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

    Do
    $msg = GUIGetMsg()
    Select
    Case $msg = $button
    $sChecked = ''
    For $i = 0 To _GUICtrlListView_GetItemCount($hLV) -1
    If _GUICtrlListView_GetItemChecked($hLV, $i) Then $sChecked &= _GUICtrlListView_GetItemText($hLV, $i) & ', '
    Next
    ConsoleWrite( 'Ausgewählt: ' & StringTrimRight($sChecked, 2) & @LF)
    EndSelect
    Until $msg = $GUI_EVENT_CLOSE
    Exit

    [/autoit]
  • Gui "durchlickbar" machen?

    • BugFix
    • 10. Februar 2013 um 20:49

    Schau dir das mal an: http://ipv4.autoit.de/index.php?page=Thread&postID=259668#post259668

  • Scite : Eigene Calltips und Syntax Highlights

    • BugFix
    • 8. Februar 2013 um 17:51

    Bitte poste keine EXE-Dateien, nur die au3-Datei gehört hierher.
    Hab mich schon gewundert, was das für ein riesen Skript sein soll mit 400 KB - dabei ist dein Skript tatsächlich nur 3 KB groß. Den Rest bringt die kompilierte Datei.

    Also 200 Zeilen Code kannst du auch getrost im Spoiler anzeigen lassen, dann braucht man nicht extra downloaden um sich das anzusehen.

  • Variable durchreichen

    • BugFix
    • 8. Februar 2013 um 14:01

    Und wozu willst du da mit mehreren Funktionen rumgurken?
    Das, was du soeben geschildert hast, kannst du doch mit einer Funktion erledigen:

    [autoit]

    #include <GuiListView.au3>
    #include <Array.au3>

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

    $Mein_Ergebnis = _GetPathes()
    _ArrayDisplay($Mein_Ergebnis)

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

    Func _GetPathes()
    Local $Gui = GUICreate('Auswahl', 365, 390)
    GUICtrlCreateLabel('Bitte erforderliche Dateien auswählen', 10, 10)
    Local $LV = GuiCtrlCreateListView('Ausgewählt', 10, 30, 250, 350)
    Local $btSelect = GUICtrlCreateButton('Hinzufügen', 275, 30, 80, 22)
    Local $sPath, $hLV = GUICtrlGetHandle($LV)
    _GUICtrlListView_SetColumnWidth($hLV, 0, $LVSCW_AUTOSIZE_USEHEADER)
    GUISetState(@SW_SHOW, $Gui)
    While True
    Switch GUIGetMsg()
    Case -3
    GUISetState(@SW_HIDE, $Gui)
    ExitLoop
    Case $btSelect
    $sPath = FileOpenDialog('Datei auswählen', "::{450D8FBA-AD25-11D0-98A8-0800361B1103}", '(*.*)', 3)
    If Not @error Then
    GUICtrlCreateListViewItem($sPath, $LV)
    EndIf
    EndSwitch
    WEnd
    If _GUICtrlListView_GetItemCount($hLV) = 0 Then Return ''
    $sPath = ''
    For $i = 0 To _GUICtrlListView_GetItemCount($hLV) -1
    $sPath &= _GUICtrlListView_GetItemText($hLV, $i) & '|'
    Next
    GUIDelete($Gui)
    Return StringSplit(StringTrimRight($sPath, 1), '|')
    EndFunc

    [/autoit]
  • registry in array laden

    • BugFix
    • 6. Februar 2013 um 23:19
    Zitat von Nachid

    Wird n regedit :D nur besser^^


    Dann versuch aber keinesfalls beim Aufruf sofort alle Schlüssel in ein Array zu lesen, sonst kannst du getrost Kaffee trinken gehen. Dynamisch Nachladen ist hier wohl angezeigt. ;)

  • Maus-Event wird nicht erkannt, wenn Child angezeigt

    • BugFix
    • 6. Februar 2013 um 18:14

    Danke!
    Manchmal fallen einem die einfachsten Dinge nicht ein.

  • Maus-Event wird nicht erkannt, wenn Child angezeigt

    • BugFix
    • 6. Februar 2013 um 12:01

    Hi,
    folgendes Problem:
    Auf einer Main-Gui blende ich ein Child ein. Jedoch sind dann die Events (MausUp/Down) nicht mehr verfügbar.
    Der Button hat mehrere, zeitgesteuerte Funktionen. Beschreibung auf GUI unter dem Button.
    Hat jemand vielleicht eine Idee, wie ich das Problem lösen kann?

    Hier der Code, beschränkt auf die Problemsituation:

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>

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

    Opt('GUIOnEventMode', 1)
    Opt('MustDeclareVars', 1)

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

    Global $Gui0, $btStartStop, $lbSnooze, $aChild[2] = [1]
    Global $TimerStart, $iTime, $EngineRun = 0, $iSnooze = 0

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

    _Create_Gui_0()
    _CreateChild($aChild[1])
    GUISetState(@SW_SHOW, $Gui0)
    ;~ GUISetState(@SW_SHOWNOACTIVATE, $aChild[1]) ; <=== Sowie das Child angezeigt wird, werden die Events ($GUI_EVENT_PRIMARYDOWN & $GUI_EVENT_PRIMARYUP) nicht mehr erkannt

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

    While 1
    Sleep(50)
    WEnd

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

    Func _Create_Gui_0()
    $Gui0 = GUICreate('Engine OFF', 400, 450)
    $lbSnooze = GUICtrlCreateLabel('SNOOZE', 280, 150)
    GUICtrlSetState(-1, $GUI_HIDE)
    $btStartStop = GUICtrlCreateButton('0 / I', 90, 280, 210, 25)

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

    GUICtrlCreateLabel('Button 1,5 sec gedrückt halten für Start / Stopp.' & @LF & 'Wenn gestartet mit kurzem Druck "SNOOZE" de/aktivieren.', 50, 310)

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

    ; == Events
    GUISetOnEvent(-3, '_close_Gui0', $Gui0)
    GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, '_MDown', $Gui0)
    GUISetOnEvent($GUI_EVENT_PRIMARYUP, '_MUp', $Gui0)
    EndFunc ;==>_Create_Gui_0

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

    Func _CreateChild(ByRef $_hWnd)
    $_hWnd = GUICreate('', 254, 130, 70, 60, 0x80000000, 0x00000040, $Gui0) ; WS_POPUP = 0x80000000, WS_EX_MDICHILD = 0x00000040
    GUISetBkColor(0x06A533, $_hWnd)
    EndFunc ;==>_CreateChild

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

    Func _MDown()
    Local $aInfo = GUIGetCursorInfo()
    If Not IsArray($aInfo) Then Return
    If $aInfo[4] = $btStartStop Then
    $TimerStart = TimerInit()
    AdlibRegister('_StartEngine')
    EndIf
    EndFunc ;==>_MDown

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

    Func _MUp()
    Local $aInfo = GUIGetCursorInfo()
    If Not IsArray($aInfo) Then Return
    Local $iState = $GUI_SHOW
    If $aInfo[4] = $btStartStop Then
    If $iTime <= 400 And $EngineRun = 1 Then
    If $iSnooze = 0 Then
    $iSnooze = 1
    Else
    $iState = $GUI_HIDE
    $iSnooze = 0
    EndIf
    GUICtrlSetState($lbSnooze, $iState)
    AdlibUnRegister('_StartEngine')
    ElseIf $iTime <= 1500 And $EngineRun = 0 Then
    AdlibUnRegister('_StartEngine')
    EndIf
    EndIf
    EndFunc ;==>_MUp

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

    Func _StartEngine()
    $iTime = TimerDiff($TimerStart)
    Local $iState = $GUI_SHOW, $aTitle[2] = ['Engine OFF','Engine ON']
    If $iTime >= 1500 And $iSnooze = 0 Then
    $EngineRun = Not $EngineRun
    Beep(1700)
    AdlibUnRegister('_StartEngine')
    WinSetTitle($Gui0, '', $aTitle[$EngineRun])
    EndIf
    EndFunc ;==>_StartEngine

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

    Func _close_Gui0()
    Exit
    EndFunc

    [/autoit]
  • Variable durchreichen

    • BugFix
    • 6. Februar 2013 um 11:55
    Zitat von Tigger1975

    Sorry bugfix, aber du hast leider nicht verstanden was ich vor habe.


    Das sagte ich doch in meinem Post: Durch deine Beschreibungen wird alles eher unklarer als verständlich. Auch deine jetzige Beschreibung hilft (mir zumindest) nicht wesentlich weiter dein Problem zu verstehen - sorry meinerseits.

  • Variable durchreichen

    • BugFix
    • 6. Februar 2013 um 09:44
    Zitat von Tigger1975

    Mein Problem ist das die Funktion Main eine Funktion ist die eine Teil einer GUI aufbaut. Und die Funktion Test1 gibt das ergebnis der GUI dann wieder zurück.
    Aber es soll so sein das wenn jemand die GUI Aufbaut er auch Festlegen kann in Welcher Variable das Ergebnis zu finden ist.


    Wie soll ich mir denn das vorstellen? "Jemand" kann den Aufbau der GUI nicht durchführen, das legst ausschließlich du mit deinem Skript fest und somit weißt du auch, welches Element im Array für welchen Wert zuständig ist.

    Ich habe eher den Eindruck, dass du den Ablauf deines Skriptes noch nicht klar formuliert hast und dadurch an auftretenden Symtomen herumdoktorst.
    Mein Tipp:
    Erstelle in Stichpunkten den Ablauf des Programms. Das könnte etwa so aussehen:
    - Start Programm
    - Anzeige Main-Gui
    - User kann Auswahl in Checkboxen vornehmen
    - Klick auf Start-Button ruft Auswertefunktion auf
    - Auswertefunktion setzt Parameter in Abhängigkeit zu angewählten Checkboxen
    - usw. usf.

    Mit dem, was du bis jetzt geschrieben hast, wird dein Anliegen von Post zu Post eher unverständlicher. :wacko:
    Du möchtest zwanghaft Werte hin- und herschieben, was u.U. überhaupt nicht notwendig ist. Doch um dir da weiter zu helfen, müssen wir verstehen können, was genau in deinem Skript passieren soll.

  • Maus flackert über Controls

    • BugFix
    • 4. Februar 2013 um 16:13

    Habe identisches System, wie du: Kein Flackern.

  • Msgbox auswahl berücksichtigen

    • BugFix
    • 4. Februar 2013 um 15:44

    Wenn Alt+W nicht funktioniert hast du nur die kastrierte Version von SciTE. :D
    Auf der Startseite (Portal) findest du im Downloadbereich den Link zu "SciTE4AutoIt" - das ist, was du brauchst.

  • Msgbox auswahl berücksichtigen

    • BugFix
    • 4. Februar 2013 um 15:37

    Öffne eine AutoIt-Datei in SciTE und gib den Hotkey "Alt+W" ein.
    Wähle die Messagebox deiner Wahl aus und füge das Ergebnis in den Editor ein, da siehst du alle Informationen.

    Oder..
    du schaust dir das hier mal an: MsgBox - alle Parameter auf einen Blick

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™