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

  • X-Mas

    • BugFix
    • 23. Dezember 2013 um 20:51

    Ich bin der leibhaftige Grinch, ich kann Weihnachten nicht ausstehen.
    Nichtsdestotrotz wünsche ich euch Fehlgeleiteten ein paar schöne Tage. :rofl:

  • Internetadresse, Email und Zahl aus EINEM String abfragen?!?

    • BugFix
    • 23. Dezember 2013 um 20:43

    eMail regexen ist eklig. Du solltest dazu im Vorfeld schon definieren, welches reguläre Mailadressen sein können. Ein Pattern, dass so ziemlich alle Adressvarianten abdeckt ist mal eben locker 1000 Zeichen lang.

    Aber mit dem hier sollte das meiste abgedeckt sein: ^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$

    Edit: Kurze Erklärung warum das so lang sein könnte. Das gilt dann, wenn du gleich auf Gültigkeit der Adressen prüfst (also keine Trash- od. Fakemails)

  • Gui Resizing

    • BugFix
    • 22. Dezember 2013 um 15:16

    Soweit ich beim Rumprobieren mit dem Resizing erfahren habe, wird das Resize-Verhalten nicht nur auf die Ctrl sondern auch auf den gesamten GUI-Hintergrund angewendet. Somit kannst du einen fixen Abstand zw. Ctrls aber dynamische Änderung der Ctrl selbst nicht realisieren.

  • Mit Auto IT Batch Prozesse von verschiedenen Programmen steuern?

    • BugFix
    • 22. Dezember 2013 um 15:08

    Verwende doch die Acrobat API für den Direktzugriff.
    Wenn du Programme automatisieren möchtest empfiehlt es sich immer zuerst nach einer API zu suchen. Das vereinfacht die Kommunikation mit Programmen ungemein.

    PS: Es gibt auch eine Matlab-API

  • Control-oder Advanced-Class auslesen lassen?

    • BugFix
    • 22. Dezember 2013 um 14:52
    [autoit]

    _WinAPI_GetClassName($WindowHandle)

    [/autoit]
  • Mit Auto IT Batch Prozesse von verschiedenen Programmen steuern?

    • BugFix
    • 22. Dezember 2013 um 11:26
    Zitat von Nidgo

    MatLab und Adobe besitzen bereits Batch Prozesse aber diese würde ich gerne mit Auto IT aufeinander abtimmen


    Im Allgemeinen ist es recht unproblematisch, Batch nach AutoIt zu portieren. Denn du hast damit ja schon eine existierende Ablauflogik, die Basis eines jeden Skriptes. Nun muss also nur die Batch-Syntax auf AutoIt-Syntax umgerubelt werden, beileibe kein Hexenwerk.

  • .cfg Datei auslesen und ändern

    • BugFix
    • 20. Dezember 2013 um 17:33

    Der Aufbau deiner Datei ist eindeutig INI - also nutze die Ini-Funktionen von AutoIt dafür. Musst aber wohl die Datei dann auch umbenennen zur *.ini damit die Funktionen nutzbar sind.

  • Zeit-Diff farblich in einem Listview

    • BugFix
    • 20. Dezember 2013 um 16:44

    Hier hast du ein prinzipielles Beispiel:

    Spoiler anzeigen
    [autoit]

    #include <GuiListView.au3>

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

    GUICreate('Test')
    $cLV = GuiCtrlCreateListView('Spalte1|Spalte2', 10, 10, 300, 200)
    $hLV = GUICtrlGetHandle($cLV)
    $btCheck = GUICtrlCreateButton('Check', 10, 240, 80, 20)

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

    Global $aLVItem[10]
    For $i = 1 To 10
    $aLVItem[$i-1] = GUICtrlCreateListViewItem($i & '|' & $i+10, $cLV)
    Next

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

    GUISetState()

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

    While 1
    Switch GUIGetMsg()
    Case -3
    Exit
    Case $btCheck
    If Number(_GUICtrlListView_GetItemText($hLV, 7, 1)) - Number(_GUICtrlListView_GetItemText($hLV, 1, 1)) > 5 Then GUICtrlSetBkColor($aLVItem[7], 0xFF0000)
    EndSwitch
    WEnd

    [/autoit]
  • Menü Item Check

    • BugFix
    • 19. Dezember 2013 um 16:32
    Zitat von DasIch

    Sowas gibt es doch bei vielen Programmen.


    Mag ja sein - aber nochmal: Mit den Standard-AutoIt-Funktionen ist das nicht realisierbar.

  • Menü Item Check

    • BugFix
    • 19. Dezember 2013 um 16:23
    Zitat von DasIch

    P.S.: Ich glaube, ihr missversteht mein Problem ein bisschen


    Da hilft besseres Beschreiben? :P

    Also MenuItem können m.W. mit Standardfunktionen keine Checkbox erhalten, nur RadioItem sind möglich.

  • Menü Item Check

    • BugFix
    • 19. Dezember 2013 um 15:57
    Zitat von NightmarePhoenix

    Checkbox = 4 (deaktiviert) dann soll sie auf 1 (aktiviert)


    NEIN, nein und nochmals nein!! Das haben wir schon so oft thematisiert.
    NIEMALS sollte man Checkboxen so abfragen. Eine Checkbox kann auch andere Werte ausgeben, wenn sie de/aktiviert ist.
    Einfach der Hilfeempfehlung folgen und den Status mit

    [autoit]

    If BitAnd(GuiCtrlRead($Checkbox), $GUI_CHECKED) Then

    [/autoit]

    prüfen.
    Nur so ist gewährleistet, dass der korrekte Status abgefragt wird.

  • 2 Diminsonale Array Einträge verschieben

    • BugFix
    • 16. Dezember 2013 um 13:47

    Die Fehlermeldung besagt, dass du auf ein Arrayelement verweisen willst, das gar nicht existiert. Indexfehler.
    Lass dir einfach beim Abarbeiten des Arrays in jedem Durchlauf den Index und zugehörige Werte ausgeben. Du wirst sehen das läuft durch und dann bricht es mit besagter Fehlermeldung ab, weil du plötzlich ausserhalb des Arrays adressierst.
    Verwende einfach mal Ubound($Array) -1 als letzten Index ;), dann kannst du nicht ausserhalb landen.

  • Programm im UNC Pfad öffnen

    • BugFix
    • 16. Dezember 2013 um 12:22

    Du möchtest ein Programm remote ausführen. Schau mal, ob das passt: [ gelöst ] User Eingabe auf Remote-Maschine

  • Übergabe von Listview funktioniert nicht

    • BugFix
    • 15. Dezember 2013 um 22:07

    Bei der Listview-UDF ist es empfehlenswert, das Handle statt der ID zu verwenden.

    [autoit]

    $hListview = GuiCtrlGetHandle($ID_Listview)

    [/autoit]
  • autohotkey in autoit

    • BugFix
    • 15. Dezember 2013 um 20:19

    Wozu kann man sowas brauchen? - Genau! Und nun wirf einen Blick auf unsere Forenregeln!

    Wird nicht freigegeben.

  • Nutzt ihr die Deutsche Hilfe von AutoIt?

    • BugFix
    • 15. Dezember 2013 um 13:23

    Als wir vor Jahren angefangen haben ins Deutsche zu übersetzen, hatte ich zig Dateien übersetzt und auch häufig Korrektur gelesen. Somit hat sich auch der engl. Teil dermassen gefestigt, dass ich die deutsche Hilfe gar nicht benötige.
    Sollte doch mal ein Passus unklar sein, schau ich kurz ins Wörterbuch.
    Das Übersetzen hatte aber einen angenehmen Nebeneffekt: Man lernte Funktionen kennen, von denen man vorher nicht wusste, dass sie existieren. :D

  • GUI innerhalb eines Tabs?

    • BugFix
    • 15. Dezember 2013 um 09:41

    Bevor ich mir Gedanken mache ob ein GUI in ein TAB integriert werden kann, stellt sich mir die Frage: "Warum soll da ein GUI rein?"
    Du kannst doch auf dem TAB Controls platzieren, weshalb also eine GUI?

    Edit:
    Hier mal eine Lösungsvariante

    Spoiler anzeigen
    [autoit]

    #include <GuiTab.au3>
    #include <WindowsConstants.au3>

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

    Global $xTab = 10, $yTab = 10

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

    $hMain = GUICreate('Test', 420, 400)
    $cTab = GUICtrlCreateTab($xTab, $yTab, 400, 300)
    $hTab = GUICtrlGetHandle($cTab)
    $cTabItem1 = GUICtrlCreateTabItem('Item_1')
    $cTabItem2 = GUICtrlCreateTabItem('Item_2')

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

    $aTabDisp = _GUICtrlTab_GetDisplayRect($hTab)
    $hChild = GUICreate('Child', $aTabDisp[2]-$aTabDisp[0], $aTabDisp[3]-$aTabDisp[1], $aTabDisp[0]+$xTab, $aTabDisp[1]+$yTab, $WS_POPUP, $WS_EX_MDICHILD, $hMain)
    GUICtrlCreateLabel('Das ist ein Child-GUI', 100, 50)
    GUICtrlCreateLabel('Aber genausogut lassen sich Controls direkt auf dem TAB platzieren. :P', 25, 100)

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

    GUISetState(@SW_SHOW, $hMain)

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

    While 1
    Switch GUIGetMsg()
    Case -3
    Exit
    Case $cTab
    If GUICtrlRead($cTab) = 1 Then
    GUISetState(@SW_SHOWNA, $hChild)
    Else
    GUISetState(@SW_HIDE, $hChild)
    EndIf
    EndSwitch
    WEnd

    [/autoit]
  • Inputbox stottert

    • BugFix
    • 14. Dezember 2013 um 11:27

    Nun, bei mir passiert da nichts ungewöhnliches.
    Was bleibt:
    - Mausproblem?
    - anderes Hardwareproblem?

  • Inputbox stottert

    • BugFix
    • 14. Dezember 2013 um 10:56

    Dann zeig mal Code, wo das auftritt. Habe identisches System und kann dieses Verhalten nicht bestätigen.

  • RegExp loop um XSD Schemata auszulesen

    • BugFix
    • 13. Dezember 2013 um 16:23

    Hi Spider,

    du kannst auch die ReplaceCallback-Funktion von Taz77 dazu mißbrauchen:

    Spoiler anzeigen
    [autoit]

    $string = '<xs:complexType name="cmplx1">' & @CRLF & _
    '<xs:sequence>' & @CRLF & _
    '<xs:element name="name1" type="type1"/>' & @CRLF & _
    '<xs:element name="nameN" type="typeN"/>' & @CRLF & _
    '</xs:sequence>' & @CRLF & _
    '</xs:complexType>' & @CRLF & _
    '<xs:complexType name="cmplxN">' & @CRLF & _
    '<xs:sequence>' & @CRLF & _
    '<xs:element name="name2" type="type2"/>' & @CRLF & _
    '<xs:element name="nameX" type="typeX"/>' & @CRLF & _
    '</xs:sequence>' & @CRLF & _
    '</xs:complexType>'

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

    $patt = '(?:complexType name="(.*?)">)|(?:<xs:element name="(.*?)")|(?: type="(.*?)")'

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

    Global $aMatch[1] = [0]
    _StringRegExpReplace_Callback($string, $patt, '_AddMatch("$1","$2","$3")')

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

    For $i = 1 To $aMatch[0]
    ConsoleWrite($aMatch[$i] & @LF)
    Next

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

    Func _AddMatch($1,$2,$3)
    $aMatch[0] += 1
    ReDim $aMatch[$aMatch[0]+1]
    If $1 <> '' Then
    $aMatch[$aMatch[0]] = $1
    ElseIf $2 <> '' Then
    $aMatch[$aMatch[0]] = $2
    ElseIf $3 <> '' Then
    $aMatch[$aMatch[0]] = $3
    EndIf
    EndFunc

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

    ; #FUNCTION# ====================================================================================================================
    ; Name ..........: _StringRegExpReplace_Callback
    ; Description ...: Replaces ByRef all matches in a string by manipulation of the matches in a callback function
    ; Parameters ....: $sString String to manipulate
    ; ...............: $sPattern RegExp pattern for the match
    ; ...............: $sCallback Callback function as string, i.e. "MyCallback('$1')" -- '$1' represents the match
    ; .....optional..: $sBefore String to insert before the manipulated match
    ; .....optional..: $sAfter String to insert after the manipulated match
    ; Return values .: Success 1
    ; ...............: Failure 0 set error = 1
    ; Author ........: Taz77
    ; ===============================================================================================================================
    Func _StringRegExpReplace_Callback(ByRef $sString, $sPattern, $sCallback, $sBefore = '', $sAfter = '')
    $sString = Execute("'" & StringRegExpReplace(StringReplace($sString, "'", Chr(26), 0, 2), $sPattern, $sBefore & "'&" & $sCallback & "&'" & $sAfter) & "'")
    If @error Then
    ConsoleWrite('_StringRegExpReplace_Callback error! Pattern: "' & $sPattern & '", Callback: "' & $sCallback & '"' & @LF)
    Return SetError(1,0,0)
    EndIf
    $sString = StringReplace($sString, Chr(26), "'", 0, 2)
    Return 1
    EndFunc ;==>_StringRegExpReplace_Callback

    [/autoit]

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™