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

Beiträge von Schnitzel

  • Seitenspezifische Icons des Internet Explorer verwenden...

    • Schnitzel
    • 26. Mai 2014 um 14:29

    Das hat nicht direkt was mit dem Internet Explorer zu tun sondern das icon wird von der Webseite vergeben.
    z.B. hier auf autoit.de:

    Code
    <link rel="shortcut icon" href="wcf/icon/favicon/faviconDarkBlue.ico" type="image/x-icon" />

    Wenn du sie schon im IE Cache hast dann liegen sie hier

    [autoit]

    @UserProfileDir & "\AppData\Local\Microsoft\Windows\Temporary Internet Files"

    [/autoit]


    Ansonsten kannst du es dir im Quellcode raussuchen und runterladen ;)

  • Doppelte Einträge List

    • Schnitzel
    • 26. Mai 2014 um 11:58

    Hab ich aber auch erst so gelesen wie dus beantwortet hast :D

  • XML-Output auf Variablen schreiben

    • Schnitzel
    • 26. Mai 2014 um 11:54

    Recht simpel z.B. so:

    [autoit]

    #include <Array.au3>
    $s = '<?xml version="1.0" encoding="UTF-8"?>' & @CRLF & _
    '<returndata>' & @CRLF & _
    '<success code="200" remaining="998" resetdate="1401099136" />' & @CRLF & _
    '</returndata>'

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

    $a = StringRegExp($s, 'code="(\d+)" remaining="(\d+)" resetdate="(\d+)"', 3)
    _ArrayDisplay($a)

    [/autoit]

    Oder wenn die Reihenfolge der 3 Werte variieren kann dann wär das ne andere einfache Lösung:

    [autoit]

    $a = StringRegExp($s, '(code|remaining|resetdate)="(\d+)"', 3)

    [/autoit]
  • Doppelte Einträge List

    • Schnitzel
    • 26. Mai 2014 um 11:28

    Mars: schöne Antwort nur passt sie nicht zur Frage :P

    svart:
    Siehe Hilfe:
    Wenn "data" mit einem bereits existierenden Eintrag übereinstimmt, wird dieser als Standard (default) verwendet.
    Ich würde lieber eine Listview verwenden ;)

  • TXT Datei spinnt.....

    • Schnitzel
    • 22. Mai 2014 um 18:07

    Ich versteh schon dass du dir verwenden willst wenn es soviel schneller ist ;)
    Es gibt zwar bestimmt Wege mit denen Autoit mithalten kann aber dir ist zunächst mal der einfachere Weg für dich

    Über einzelne Befehle gibt es keine Tutorials, weil die Hilfe eigentlich alles abdeckt.
    Nicht bös gemeint aber kann es sein, dass dir einfach noch ein gewisses Grundwissen zu Autoit fehlt?
    Wie verwendet man verschiedene Funktionen, Parameter, Rückgabewerte usw?

    Wenn du Probleme mit englisch hast dann lade dir doch die deutsche Hilfe runter ;)
    Link ist Unter Wichtige Links oder auch in meiner Signatur

  • Problem mit Event-Aufruf beim einklappen eines TreeViewItems

    • Schnitzel
    • 22. Mai 2014 um 17:54

    Am besten immer ein lauffähiges Script posten (im Idealfall gekürzt sodass man sich voll auf das Problem konzentrieren kann ohne 1000 Zeilen Code durchzugehen)
    Das erspart echt viel Arbeit und Raten was du wie genau machst.

  • TXT Datei spinnt.....

    • Schnitzel
    • 22. Mai 2014 um 17:46

    _Rundos macht nichts anderes als die cmd.exe per RunWait mit dem übergebenen Befehl auszuführen.
    Du machst also

    [autoit]

    'cmd.exe /c cmd.exe /c dir "' & $Path & '" /a-d /s /b * >"' & $Liste & '"'

    [/autoit]


    Das ist das was AspirinJunkie schon zu anfangs erwähnt hatte.
    Deswegen ist _Rundos eigentlich total unnötig
    Wenn du gleich Run verwendest dann kannst du auch per StdoutRead den Output mitlesen (Dazu ruhig mal einen Blick in die Hilfe werfen!!!)
    Das Problem daran ist dass du du wahrscheinlich keine Umlaute mitbekommst

    Also ja man kann das ganze per StdOutRead lösen (wenn man die PID kennt, d.h. kein _RunDos sondern Run o.Ä.)

    Über die dir.exe ist das halt alles etwas umständlich, deswegen hatte AspirinJunkie auch zu Anfang gleich davon abgeraten.

  • TXT Datei spinnt.....

    • Schnitzel
    • 22. Mai 2014 um 17:21

    Ok machen wir es anders. Stdoutread bringt schon Text zurück aber halt auch wieder in Unicode.
    Wenn du wirklich dir nutzen willst dann würde ich dir vorschlagen den Output in eine Datei umzulenken und die dann mit Fileopen im Unicodemodus auszulesen.
    Beispiel:

    [autoit]

    #include <Array.au3>

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

    $Path = FileSelectFolder("","")
    $sOutputFile = @TempDir & '\test.txt'
    $pid = Run(@ComSpec & ' /u /c DIR "' & $Path & '" /a-d /s /b * > ' & $sOutputFile, $Path, @SW_HIDE)
    $hOpen = FileOpen($sOutputFile, 32)
    $sText = FileRead($hOpen)
    $aText = StringSplit(StringReplace($sText, @CR, ''), @LF)
    FileClose($hOpen)
    FileDelete($sOutputFile)
    _ArrayDisplay($aText)

    [/autoit]

    Wenn du wirklich sehr viele Daten in dem Pfad hast dann solltest du statt FileRead und Stringsplit lieber umsteigen auf filereadline in einer Schleife.

  • Rechtsklick auf Icon in SystemTray

    • Schnitzel
    • 22. Mai 2014 um 16:37

    Ich hab die Funktion etwas angepasst damit es funktioniert:

    Spoiler anzeigen
    [autoit]

    #include <GuiToolBar.au3>
    Global $hSysTray_Handle, $iSystray_ButtonNumber
    Global $sToolTipTitle = "VNC Server" ; <<<<<<<<<<<<<<<< Enter some tooltip text for the icon you want here
    $iSystray_ButtonNumber = Get_Systray_Index($sToolTipTitle)
    If $iSystray_ButtonNumber = -1 Then
    MsgBox(16, "Error", "Icon not found in system tray")
    Exit
    Else
    Sleep(500)
    _GUICtrlToolbar_ClickButton($hSysTray_Handle, $iSystray_ButtonNumber, "right")
    EndIf

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

    Func Get_Systray_Index($sToolTipTitle)
    ; Find systray handle
    $hSysTray_Handle = ControlGetHandle('[Class:Shell_TrayWnd]', '', '[Class:ToolbarWindow32;Instance:1]')
    If @error Then Return SetError(1, 0, -1)
    ; Get systray item count
    Local $iSystray_ButCount = _GUICtrlToolbar_ButtonCount($hSysTray_Handle)
    If $iSystray_ButCount = 0 Then Return SetError(2, 0, -1)
    ; Look for wanted tooltip
    For $iSystray_ButtonNumber = 0 To $iSystray_ButCount - 1
    If StringInStr(_GUICtrlToolbar_GetButtonText($hSysTray_Handle, $iSystray_ButtonNumber), $sToolTipTitle) = 1 Then ExitLoop
    Next
    If $iSystray_ButtonNumber = $iSystray_ButCount Then Return SetError(3, 0, -1)
    Return $iSystray_ButtonNumber
    EndFunc ;==>Get_Systray_Index

    [/autoit]

    Die Funktion Get_Systray_Index() ist etwas ungünstig geschrieben. Weil nämlich im Fehlerfall 0 zurück gegeben wird. Siehe:

    [autoit]

    Return 0 ; Not found

    [/autoit]


    0 kann aber auch eine gültige ID sein.
    Sieht man ja auf deinen Window Info Screenshot dass Novell Services die Command ID 0 hat ;)
    Deswegen hab ich den Fehlerfall auf -1 geändert und zusätzlich noch errorcodes eingefügt
    @error = 1 bedeutet das das TrayControl nicht gefunden wurde
    @error = 2 bedeutet dass keine TrayIcons gefunden wurden
    @error = 3 bedeutet dass das Trayicon mit dem Text nicht gefunden wurde

  • Skript pausieren bei Bestätigungsdialog

    • Schnitzel
    • 22. Mai 2014 um 16:22

    Schwirig zu sagen wie du es am besten machen kannst, weil da einiges an infos abgeht.
    Aber wenn diese zusätzlichen Abfrage ein eigenes fenster ist dann könnstes du einfach so lange pausieren bis das Fenster nicht mehr existiert.
    Also so z.B.:

    [autoit]


    While WinExists("Abfragefenster")
    Sleep(100)
    wend

    [/autoit]
  • TXT Datei spinnt.....

    • Schnitzel
    • 22. Mai 2014 um 16:16

    Sieh dir dazu doch mal StdoutRead an ;)

    [autoit]

    StdoutRead()

    [/autoit]
  • _ArrayFindall 2D Array - aus Excel File

    • Schnitzel
    • 22. Mai 2014 um 13:36

    Das gibt die Funktion leider nicht her.
    D.h. du musst in einer For Schleife alle Spalten durchgehen ( die anzahl mit UBound($xls, 2) abfragen)
    So bekommst du auch alle ergebnisse zusammen ;)

  • TXT Datei spinnt.....

    • Schnitzel
    • 21. Mai 2014 um 14:16

    Zu sagen die Textdatei spinnt ist schon sehr gewagt.
    Eine Textdatei enthält nur Informationen. Wenn du nicht die selbe Sprache sprichst kann die Textdatei nichts dafür :P

    Bestimmt hat es was mit der Kodierung zu tun. Du setzt ja diese Kodierung auch selbst (cmd.exe /u)
    Autoit default ist ANSI. Deswegen liefert dir FileReadToArray wahrscheinlich bei einigen Zeichen das falsche Ergebnis
    Abhilfe: verwende Fileopen, Filereadline und Fileclose statt FileReadToArray

    Auserdem ist deine Verschachtlung von cmd's mit _RunDos subobtimal (wie AspirinJunkie schon sagt)
    Mal davon abgesehn dass ich am Nutzen von _RunDos zweifle^^

  • Einzelnen Buchstaben in einem Wort färben

    • Schnitzel
    • 20. Mai 2014 um 16:29

    Mit Labels geht das nicht.
    Was du aber machen kannst ist ein Readonly Richedit verwenden
    Hier ein Beispiel ;)

    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiRichEdit.au3>

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

    $hGui = GUICreate('', 320, 350)
    $hRichEdit = _GUICtrlRichEdit_Create($hGui, "AutoIt.de", 10, 10, 300, 18, $ES_READONLY)
    _GUICtrlRichEdit_SetBkColor($hRichEdit, 0xF0F0F0)
    _GUICtrlRichEdit_SetSel($hRichEdit, 2, 1)
    _GUICtrlRichEdit_SetCharColor($hRichEdit, 0xFF0000)
    _GUICtrlRichEdit_SetSel($hRichEdit,0,0)
    GUISetState(@SW_SHOW)

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

    While True
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    _GUICtrlRichEdit_Destroy($hRichEdit)
    Exit
    EndSwitch
    WEnd

    [/autoit]
  • Endlosschleife beginnt nicht

    • Schnitzel
    • 20. Mai 2014 um 16:10

    Was lädt nicht richtig?
    Am besten postest du mal das Script so wie du es hast (mit richtigen link)

    Übrigens wäre ne For schleife sicher schöner ;)

  • Endlosschleife beginnt nicht

    • Schnitzel
    • 20. Mai 2014 um 15:38

    Ist alles in der hilfe zu finden. _IECreate erstellt ein neues fenster.
    Wenn du das nicht willst musst du vor der While Schleife dein _IECreate machen und innerhalb nur noch auf die Seite navigieren

  • share anlegen

    • Schnitzel
    • 20. Mai 2014 um 15:12
    Zitat

    komme aber nicht weiter ::


    Wo kommst du nicht weiter?
    Wo ist dein Versuch? Quellcode!!!

    Mit net share kannst du keine Shares anlegen sondern nur mounten.
    Das ist was ganz anderes als du beschreibst...
    Wenn du Dateifreigaben erstellen und NTFS Rechte editieren willst dann brauchst du was anderes (mal ganz davon abgesehn dass du in autoit DriveMapAdd statt net share verwenden kannst)

    Also bitte genau das beschreiben was du willst und beschreiben wo du Probleme hast
    Und damit man sieht was du machst auch den Quellcode anhängen...

  • Hello :D

    • Schnitzel
    • 20. Mai 2014 um 14:30

    Herzlich willkommen und viel Spaß im Forum ;)

  • Statusbar wird nicht angezeigt

    • Schnitzel
    • 19. Mai 2014 um 20:46

    Setz das

    [autoit]

    GUISetState(@SW_SHOW)

    [/autoit]


    direkt hinter dein _GUICtrlStatusBar_Create

    Auserdem ist das

    [autoit]

    Local $aParts[3] = [124, 124, 124]

    [/autoit]


    ganz falsch

    Wenn du jeweils eine breite von 124 haben willst musst du das aufaddieren ;)

    [autoit]

    Local $aParts[3] = [124, 248, 372]

    [/autoit]
  • Postbank Seite kann nicht aufgerufen werden

    • Schnitzel
    • 18. Mai 2014 um 14:32

    Deaktivier doch Antivirus und Firewall mal, dann siehst du obs daran liegt

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™