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

Beiträge von i2c

  • _FileListToArray

    • i2c
    • 23. Dezember 2011 um 13:56

    Das geht schon. Aber du wirst da vlt. was falsches eingeben!?

    [autoit]

    #include <File.au3>

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

    Global $dateipfad = InputBox("Dateipfad", "Geben Sie den Dateipfad an")
    Global $pattern = InputBox("Pattern", "Geben Sie das Pattern an")
    Global $dateien = _FileListToArray($dateipfad, $pattern, 1) ; funktioniert nicht
    Global $anzahlDat = $dateien[0]
    For $i = 0 To $dateien[0]
    ConsoleWrite($dateien[$i] & @CRLF)
    Next

    [/autoit]
  • Zeile mit FileReadLine einlesen, nur bestimmte Werte in txt schreiben

    • i2c
    • 23. Dezember 2011 um 07:10

    (?:.*?) findet alle Zeichen, zeichnet diese aber nicht im Ergebnis-Array auf.

    Wenn PLZ und Ort immer durch ein Komma getrennt werden, könnte das so aussehen:

    [autoit]

    '(?s)"fname">(.*?)<(?:.*?)"spotft">(.*?),(.*?)<br>(?:.*?)Tel:(.+?)<br>'

    [/autoit]


    Dafür muss aber auch wirklich immer das Komma vorhanden sein, sonst geht es schief.

    Du könntest alternativ auch einfach nachträglich den String im Arrayelement per StringSplit() am Komma teilen.

  • Zeile mit FileReadLine einlesen, nur bestimmte Werte in txt schreiben

    • i2c
    • 23. Dezember 2011 um 01:53

    http://unicode.e-workers.de/entities.php
    StringReplace()

  • Zeile mit FileReadLine einlesen, nur bestimmte Werte in txt schreiben

    • i2c
    • 22. Dezember 2011 um 22:07
    [autoit]

    $aResult = StringRegExp($sText, '(?s)"fname">(.*?)<(?:.*?)"spotft">(.*?)<br>(?:.*?)Tel:(.+?)<br>', 1, 1)

    [/autoit]


    Wenn da nix mit EMail ist, kann regexp auch keine Mail finden ;)

  • Zeile mit FileReadLine einlesen, nur bestimmte Werte in txt schreiben

    • i2c
    • 22. Dezember 2011 um 22:03

    Bitte mal ausführen und und Konsole beobachten:

    Spoiler anzeigen
    [autoit]


    #include <array.au3>
    #include <string.au3>
    Global $sText, $aResult, $file, $sString
    $sText = FileReadLine("C:\Users\testuser\Documents\Folder\test.htm", 82)
    $sText &= FileReadLine("C:\Users\testuser\Documents\Folder\test.htm", 83)
    ConsoleWrite("$sText: " & $sText & @CRLF)
    Sleep(3000)
    $aResult = StringRegExp($sText, '(?s)"fname">(.*?)<(?:.*?)"spotft">(.*?)<br>(?:.*?)Tel:(.*?),<br>.*?mailto:(.*?)<br>', 1, 1)
    If IsArray($aResult) Then
    For $i = 0 To UBound($aResult) - 1
    ConsoleWrite($aResult[$i] & @CRLF)
    Next
    Else
    ConsoleWrite("$aResult ist kein Array" & @CRLF)
    EndIf

    [/autoit]
  • Zeile mit FileReadLine einlesen, nur bestimmte Werte in txt schreiben

    • i2c
    • 22. Dezember 2011 um 21:29

    Ein Blick in die Hilfe hätte nochmal bestätigt, was ich oben schrieb - der zu durchsuchende String. Also das, was du in $sText hast.

    [autoit]

    #include <array.au3>
    #include <string.au3>
    Global $sText, $aResult, $file, $sString
    $sText = FileReadLine("C:\Users\testuser\Documents\Folder\test.htm",82)
    $sText &= FileReadLine("C:\Users\testuser\Documents\Folder\test.htm",83)
    Sleep(3000)
    $aResult = StringRegExp($sText, '(?s)"fname">(.*?)<.*?"spotft">(.*?)<br>.*?Tel:(.*?),<br>.*?mailto:(.*?)<br>', 1,1)
    For $i = 0 To UBound($aResult) -1
    ConsoleWrite($aResult[$i] & @CRLF)
    Next

    [/autoit]
  • Zeile mit FileReadLine einlesen, nur bestimmte Werte in txt schreiben

    • i2c
    • 22. Dezember 2011 um 21:11

    Das ist der zu durchsuchende String. Ich seh aber grad, das du die Zeilen einzeln einliest. Häng die 2te Zeile mit an die Variable der ersten Zeile.

  • Zeile mit FileReadLine einlesen, nur bestimmte Werte in txt schreiben

    • i2c
    • 22. Dezember 2011 um 21:03

    Versuch's mal so:

    [autoit]

    $aResult = StringRegExp($sString, '(?s)"fname">(.*?)<.*?"spotft">(.*?)<br>.*?Tel:(.*?),<br>.*?mailto:(.*?)<br>', 1,1)
    For $i = 0 To UBound($aResult) -1
    ConsoleWrite($aResult[$i] & @CRLF)
    Next

    [/autoit]
  • Zeile mit FileReadLine einlesen, nur bestimmte Werte in txt schreiben

    • i2c
    • 22. Dezember 2011 um 20:44

    So in etwa:

    [autoit]

    $aResult = StringRegExp($sString, '"fname">(.*?)<.*?"spotft">(.*?)<br>.*?Tel:(.*?),<br>.*?mailto:(.*?)<br>', 1,1)
    For $i = 0 To UBound($aResult) -1
    ConsoleWrite($aResult[$i] & @CRLF)
    Next

    [/autoit]
  • LB-T3ch(Paar Programme)

    • i2c
    • 19. Dezember 2011 um 22:16

    Dann ist's aber mehr ein Projekt als ein Skript.

    AUf den ersten Blick fällt auf, das du Ratschläge scheinbar konsequent misachtest. Das fällt jetzt ganz spontan bei den includes auf.

    Ich schau mir das Skript jetzt nicht mehr an, ist schon spät aber auf Dauer würde sich meiner Meinung nach der OnEvent Modus mehr anbieten.

  • StringSplit String enthält Eingabezeichen (ENTER) somit funktioniert die Aufteilung nicht richtig

    • i2c
    • 18. Dezember 2011 um 20:24

    Unmittelbar nach einlesen der Zeile einfügen, um die CRLFs im String noch vor dem Splitten zu entfernen.

  • Netzwerkänderung per WM_Command

    • i2c
    • 17. Dezember 2011 um 14:52

    SENS (System Event Notification Service) könnte dir helfen.
    http://msdn.microsoft.com/en-us/library/…9(v=VS.85).aspx

    http://msdn.microsoft.com/en-us/library/…9(v=VS.85).aspx

  • Eine If-Funktion??

    • i2c
    • 16. Dezember 2011 um 18:08

    Lass das bitte den ersten und letzten Beitrag sein, den du bereits nach so kurzer Zeit hochschubst.

    Erstell eine globale Variable der du als Wert false zuweist. Wenn du eine Anmeldung erfolgreich auswertest, setz sie auf true. Dann nurnoch ein If $login = true then ... endif um das GUI deines PC-Info Tool und fertig.

  • Func beim Wechsel nicht anzeigen

    • i2c
    • 16. Dezember 2011 um 10:04

    Kleines Beispiel ...

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>

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

    Global $state = True
    Dim $aLabels[3][2] = [[0, "eins"],[0, "zwei"],[0, "drei"]]
    #Region - GUI Create
    GUICreate('', 500, 500)
    $iButton = GUICtrlCreateButton("toggle", 4, 4)
    GUISetState()
    #EndRegion - GUI Create

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

    _toggleCOntrols($aLabels, $state)

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

    #Region - GUI SelectLoop
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $iButton
    If $state = True Then
    $state = False
    ElseIf $state = False Then
    $state = True
    EndIf
    _toggleCOntrols($aLabels, $state)
    EndSelect
    WEnd
    #EndRegion - GUI SelectLoop

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

    Func _toggleCOntrols(ByRef $aLabels, $state)
    ConsoleWrite($state & @CRLF)
    If $state = True Then
    $top = 40
    For $i = 0 To UBound($aLabels) - 1
    $aLabels[$i][0] = GUICtrlCreateLabel($aLabels[$i][1], 4, $top)
    $top += 30
    Next
    ElseIf $state = False Then
    For $i = 0 To UBound($aLabels) - 1
    GUICtrlDelete($aLabels[$i][0])
    Next
    EndIf
    EndFunc ;==>_toggleCOntrols

    [/autoit]
  • Func beim Wechsel nicht anzeigen

    • i2c
    • 15. Dezember 2011 um 23:23

    Lass im Case des Buttons eine Variable $state zwischen true und false wechseln und übergib sie als weiteren Parameter an deine Funktion. In der Funktion prüfst du dann den Parameter in einer If Anweisung und führst entweder deine FOR-Schleife zum erstellen der Controlls aus oder eine, die sie wieder löscht.

  • Happy Birthday pee, funkey und Co.

    • i2c
    • 4. Dezember 2011 um 12:45

    Herzlichen Glückwunsch und alles Gute euch Vielen!

  • Texturenpack Downloader

    • i2c
    • 1. Dezember 2011 um 16:05

    Jep, und du verwendest $NM_DBLCLK. :)
    Tu mir 'nen Gefallen - führ mal dein Skript aus und beobachte beim durchklicken der Items den DebugPrint. Speziell index und subitem.

  • Texturenpack Downloader

    • i2c
    • 1. Dezember 2011 um 15:49

    Hier braucht's keine Schleife.

    Spoiler anzeigen
    [autoit]


    #region - Timestamp
    ;2011-12-01 15:46:09
    #endregion - Timestamp

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

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #include <GuiImageList.au3>
    #include <ListViewConstants.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    $pingcheck = Ping("www.google.de")
    If @error Then
    MsgBox(0, "Internet", "Du hast keine verbindung zum Internet! Bitte verbinde dich mit dem Internet um dieses Tool zu benutzen!")
    Exit

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

    EndIf

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

    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

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

    $GUI = GUICreate("Form1", 547, 513, 192, 117)
    $Button1 = GUICtrlCreateButton("Donate", 352, 464, 65, 25, $WS_GROUP)
    $Progress1 = GUICtrlCreateProgress(24, 392, 497, 25)
    $Group1 = GUICtrlCreateGroup("Vorschau", 24, 112, 497, 257)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button2 = GUICtrlCreateButton("Download", 24, 448, 97, 25, $WS_GROUP)
    $Label1 = GUICtrlCreateLabel("Texturenpack #", 24, 424, 80, 17)
    $Label2 = GUICtrlCreateLabel("Größe #", 120, 424, 43, 17)
    $Label3 = GUICtrlCreateLabel("# %", 256, 424, 30, 17)
    $hListView = _GUICtrlListView_Create($GUI, "", 24, 16, 497, 89)
    _GUICtrlListView_SetExtendedListViewStyle($hListView, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES))
    _GUICtrlListView_InsertColumn($hListView, 0, "Name", 165)
    _GUICtrlListView_InsertColumn($hListView, 1, "Auflösung", 165)
    _GUICtrlListView_InsertColumn($hListView, 2, "Größe", 165)
    ; Fügt die Items hinzu
    _GUICtrlListView_AddItem($hListView, "Texturenpack1", 0)
    _GUICtrlListView_AddSubItem($hListView, 0, "32x32", 1)
    _GUICtrlListView_AddSubItem($hListView, 0, "20 MB", 2)
    _GUICtrlListView_AddItem($hListView, "Texturenpack2", 1)
    _GUICtrlListView_AddSubItem($hListView, 1, "64x64", 1)
    _GUICtrlListView_AddSubItem($hListView, 1, "20 MB", 2)
    GUISetState(@SW_SHOW)

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

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

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

    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo
    $hWndListView = $hListView
    If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)

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

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hWndListView
    Switch $iCode
    Case $NM_CLICK
    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    ConsoleWrite("lade Bild für Index " & DllStructGetData($tInfo, "Subitem") & @CRLF)
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]


    Weis den Einträgen irgendwie zum Skriptstart die passenden Bilder zu und entscheide dann an Stelle des Consolewrite(), welches geladen werden soll.

  • Kinder Kinder ;-)

    • i2c
    • 1. Dezember 2011 um 09:55

    Das klingt wieder so typisch für einen Fachinformatiker. Die totale Planung. Selbst dem Zeugungsakt wird jegliche Spontanität entzogen ^^

  • Verhindern das ein Befehl doppelt ausgeführt wird.

    • i2c
    • 30. November 2011 um 23:05

    Weil mir da nichts praktikables einfällt, würde ich die beiden Skripte vlt. über _WinAPI_RegisterWindowMessage() kommunizieren lassen.

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™