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

  • "Login" klicken

    • autoBert
    • 29. September 2016 um 15:51
    Zitat von HansJ54

    Da ich das Feld nicht "identifiziert" bekomme, da es aus meiner Sicht keine ansprechbare ID, Name oder URL hat, funktioniert bei mir keiner der üblichen Befehle:

    Damit sind wir genaus so schlau wie vorher und können keine gezielte Hilfe geben.

    Zitat von alpines

    Womit klickst du denn auf das Feld? Ein paar Infos und ein Script wären hilfreich.

    Ich geh noch etwas weiter, die URL der Website bzw. deren Sourcecode sind auch erforderlich.

  • Error: Subscript used on non-accessible variable.

    • autoBert
    • 28. September 2016 um 21:41

    mit dem ausgebesserten HTML-Code taucht der Fehler aber nicht auf. Schlage daher vor du postest die URL der Seite!

  • String nach letzem \ abschneiden

    • autoBert
    • 27. September 2016 um 17:20

    Und noch eine einfache Lösung ohne Schweinkram:

    AutoIt
    $sPfad = @ScriptDir
    $sNeuerPfad = StringLeft($sPfad,StringInStr($sPfad,'\',0,-1))
    ConsoleWrite($sNeuerPfad&@CRLF)
  • JavaFX in AutoIt? - Framework

    • autoBert
    • 27. September 2016 um 16:11
    Zitat von Make-Grafik

    Ich habe zudem folgendes beschlossen:
    - Ich werde nicht auf eine externe Bibliothek zugreifen, sondern das Alles von Grund auf aufsetzen. Alleine die WinAPI dient als Basis.
    - Die Bibliothek werde ich in FreeBASIC verfassen und dann via DLL Aufrufe verfügbar machen. So kann sie auch in anderen Sprachen genutzt werden.

    Wenn es so ist werde ich es zumindest testen. Bei benötigter Java-Runtime hätte ich verweigert.

  • FileReadToArray mit Wordpad

    • autoBert
    • 25. September 2016 um 01:51

    Schau dir _GUICtrlRichEdit_Create und die damit verwandten Funktionen an.

  • FileCopy erst dann ausführen, wenn Scan-Datei fertiggestellt ist.

    • autoBert
    • 24. September 2016 um 21:15
    Zitat von nwmbd

    Aus deine Sicht, wie fängt man am besten damit an, welche Bücher / Videos sind besonders für das verstehen wie das ganze aufgebaut ist besonders hilfreich.

    Ich hatte zwar 1986 meinen 1.PC zu Hause (vom damals zukünfigem Chef) hatte aber vorher nur etwas mit verschieden Basic Dialekten (auch mit C64) am Hut. Die dort eingesetzte DB-Sprache kam (zumindest in meiner Erinnerung) inkl. UI mit <60 Wörtern aus um mächtige Programme zu schreiben.
    Imho ist logisches Denken, ein durchtesten der zur Verfügung stehenden Funktionen am wichtigsten, danach geht es darum diese mit eigener Logik zu einem sinnvollen Programm zu kombinieren. Hier im Forum lese ich >90% aller Beiträge (verstehe zwar nicht unbedingt alle) die interessanten teste ich. Damit weis ich im Regelfall auch welche Mitglieder in bestimmten Teilbereich(en) die besten Lösungen haben. Habe ich dann ein spezielles Problem suche ich speziell nach Lösungen von diesen Autoren, hier und mittlerweile auch im Entwicklerforum. @Oscar hat mir als AutoIt-Frischling 2009 geduldig meine speziellen Fragen zu LV und TV beantwortet, war wichtig für ein Projekt für das ich AutoIt ins Auge gefasst hatte. Es wäre zwar auch Lazarus in Frage gekommen, aber ~12 MB Standardgröße pro EXE waren mir doch zu viel, obwohl ich durch Delphierfahrung einen leichten Einstieg gehabt hätte.
    Das sich hinter dem "Lehrling im 8. Lehrjahr @UEZ" ein echter GDI Meister versteckt weis ich mittlerweile auch.
    Das man sich sobald es um Array geht zuerst bei @BugFix umschaut und auch seine Tut's liest weiß wohl jeder, genauso wie: daß er seinem Namen große Ehre macht.
    Wenns um Sound geht sollte man zuerst bei @eukalyptus nachschauen. Er und @Mars sind natürlich auch in GDI Fragen eine gute Wahl
    Was ich mit dem ganzen sagen will, es gibt nicht wichtigeres als 1. Übúng, 2. Übung, 3. Übung und 4. notfalls zu Wissen wo du nachschauen kannst (und wenn es bei dir selbst ist). Meine Grundlage ist die Hilfedatei und die beiden Foren. Mittlerweile leider die engl. Hilfe da (obwohl @Tweaky genügend trommelt) die dt. zu viele Versionen hinten dran ist.

    Entschuldigung an alle die ich nicht erwähnt habe,

    mfg (auto)Bert

  • Hilfe Digitaluhr veschwunden

    • autoBert
    • 24. September 2016 um 13:17
    Zitat von Oscar

    - Einstellungen werden in einer Inidatei im Anwendungsverzeichnis des angemeldeten Benutzers gespeichert

    also einfach die INI Datei löschen, danach sollte sie wieder vorhanden sein.

  • Prüfung einer Datei

    • autoBert
    • 24. September 2016 um 07:40
    AutoIt: ändern zu
    Global $sSep=@TAB ;Trennzeichen zwischen Spalten in der Tabelle
  • Mail versenden

    • autoBert
    • 22. September 2016 um 15:30

    Das Skript funktioniert bei mir nachdem ich den port auf 465 und ssl auf 1 gesetzt habe. Evtl, muß du noch deine EMail Einstellungen bei GMX ändern: https://hilfe.gmx.net/pop-imap/einschalten.html

  • Mail versenden

    • autoBert
    • 22. September 2016 um 13:06

    Stell mal dein komplettes Skript ein (Anmeldedaten USER, PASSWORD ='***') damit man testen kann.

  • Mail versenden

    • autoBert
    • 22. September 2016 um 12:04

    Benutze _inetsmtpmailcom von Original von @Jos, imho hat auch @Schnuffel ein Emailprogramm mit GUI in seiner Signatur verlinkt das diese udf nutzt.

  • Bluetooth-Geräte in der Nähe mit MAc-Adresse auflisten

    • autoBert
    • 21. September 2016 um 15:44
    Zitat von olruebe

    Wo ist das Limit hinsichtlich anzahl der Geräte in der Nähe? Funktioniert das noch wenn 10, 20, 50, 100 Bluetooth-Devices in der Nähe sind?

    Lies: https://de.wikipedia.org/wiki/Bluetooth

    Andere Frage hast du denn soviel Bluetoothgeräte?

  • Mail versenden

    • autoBert
    • 21. September 2016 um 15:06

    Benutze doch die OutlookEx.au3 von @water. In seiner Signatur solltest du den Link dazu finden.

  • Link in Statusbar

    • autoBert
    • 21. September 2016 um 10:34
    Zitat von BugFix

    Ich hatte es doch beschrieben.

    Îch hatte angefangen zu antworten, dachte eigentlich ein einfaches Label als embeded Control würde genügen. Ein lauffähiges Beispiel hat aber leider nicht geklappt. Dann habe ich mein 1. Skript genommen und dort die "Statusbar" abgeändert. Nach dem Posten habe ich dann erst deinen Beitrag gesehen. Hab deine Lösung gerade getestet und bekomme diese Fehlermeldungen:

    Code
    >Running AU3Check (3.3.14.2)  from:C:\Program Files\AutoIt3  input:C:\Users\Bert\AutoIt3.My\Temp\temp.au3
    "C:\Users\Bert\AutoIt3.My\Temp\temp.au3"(33,27) : warning: $WM_NOTIFY: possibly used before declaration.
    	GUIRegisterMsg($WM_NOTIFY,
    	~~~~~~~~~~~~~~~~~~~~~~~~~^
    "C:\Users\Bert\AutoIt3.My\Temp\temp.au3"(65,77) : warning: $WM_LBUTTONUP: possibly used before declaration.
                        If DllStructGetData($tMsgFilter, "msg") = $WM_LBUTTONUP Then
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    "C:\Users\Bert\AutoIt3.My\Temp\temp.au3"(33,27) : error: $WM_NOTIFY: undeclared global variable.
    	GUIRegisterMsg($WM_NOTIFY,
    	~~~~~~~~~~~~~~~~~~~~~~~~~^
    "C:\Users\Bert\AutoIt3.My\Temp\temp.au3"(65,77) : error: $WM_LBUTTONUP: undeclared global variable.
                        If DllStructGetData($tMsgFilter, "msg") = $WM_LBUTTONUP Then
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Bert\AutoIt3.My\Temp\temp.au3 - 2 error(s), 2 warning(s)
    !>10:31:22 AU3Check ended. Press F4 to jump to next error.rc:2
    +>10:31:22 AutoIt3Wrapper Finished.
    >Exit code: 2    Time: 1.933
    Alles anzeigen
  • DotNETExporter

    • autoBert
    • 21. September 2016 um 07:36

    Du solltest direkt zum Beitrag verlinken, manche (ich auch) lassen sich nur 5 Beiträge pro Seite anzeigen.

  • DotNETExporter

    • autoBert
    • 21. September 2016 um 00:13
    Zitat von Leo.1906

    Das Programm funktioniert mit Visual Studio 2015 nicht mehr, oder?

    Hat es jemals funktioniert? Lies mal das Thema von Anfang an, ich kann keinen Hinweis dazu finden. Nur der Autor behauptet es.

  • Link in Statusbar

    • autoBert
    • 20. September 2016 um 22:19

    In einer echten Statusbar ist mir keine Möglichkeit bekannt. Hier aber ein LookLike Workaround:

    AutoIt
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_UseUpx=n
    #AutoIt3Wrapper_Add_Constants=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <StaticConstants.au3>
    #include <Date.au3>
    #include <DateTimeConstants.au3>
    #include <EditConstants.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include<WindowsConstants.au3>
    #include <GuiListView.au3>
    #include <ListviewConstants.au3>
    
    
    #include<Easter.au3>
    
    
    Opt('GUIOnEventMode', 1)
    Opt('MustDeclareVars', 1)
    
    
    Global $iColHover=0xAA0000, $iColNormal=0x000000,$iOldHovered=0
    Global $aHover[1]
    
    
    Global $hlstvwHoly = 0
    Global $sTitel = 'Beispiele zur Nutzung der UDF _Easter'
    
    
    Local $hMainGui = GUICreate($sTitel, 400, 280, 140, 150, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
    ;erzeugt eine GUI die zurückgebebene ID wird in der Variablen $hMainGui gespeichert
    ;die GUI hat BOXen für Mininmieren, Maximieren und ist in der Größe frei änderbar
    GUISetOnEvent($GUI_EVENT_CLOSE, '_End')
    ;GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, '_PDOWN')
    ;Verknüpft dem Event $Gui_Event_Close mit der Funktion _End
    
    
    ;Local $hedtYear = GUICtrlCreateInput("", 10, 10, 200, 25, $ES_NUMBER)
    ;Die Eingabe wird für das zuletzt erstellte Steuerelement auf 4 Zeichen begrenzt
    ;diese Schreibweise ist auch zulässig: GUICtrlSetLimit($hedtYear, 4)
    ;GUICtrlSetLimit(-1, 4)
    ;erzeugt ein Input Steuerelement die zurückgegebe ID wird in der Variablen $hedtYear gespeichert
    ;es sind nur Zahlen für die Eingabe zugelassen
    Local $hedtYear = GUICtrlCreateDate(@YEAR, 110, 10, 90, 25, $DTS_UPDOWN)
    ;erzeugt ein Date Steuerelement die zurückgegebene ID wird in der Variablen $hedtYear gespeichert
    GUICtrlSetFont(-1, 12)
    Local $DTM_SETFORMAT_ = 0x1032
    Local $style = "yyyy"
    GUICtrlSendMsg($hedtYear, $DTM_SETFORMAT_, 0, $style)
    ;es werde nur Jahreszahlen für die Eingabe angezeigt zugelassen 1752 - 9999
    ;GUICtrlSetTip($hedtYear, "bitte Jahreszahl nach 1582 eingeben")
    ;setzt den Tooltip für das InputField
    ;_getHolyDay (eine vom Skript benutzte UserDefinedFunction funktioniert erst ab dem Jahr 1000
    ;ab 1583 sind die Rückgabe-Werte auch sinvoll (Kalenderreform in 1582)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKTOP + $GUI_DOCKHEIGHT)
    ;verankert das Inputfield Links, rechts, oben und fixiert die Höhe
    ;beim Resizen bleibt es dadurch auf seiner Position und ändert nur die Breite
    
    
    GUICtrlCreateButton('&zeigen (eigenes Fenster)', 220, 10, 150, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    ;verankert den Button "Zeigen" rechts und oben und fixiert die Größe
    ;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand
    GUICtrlSetOnEvent(-1, '_CallEaster')
    ;Beim Klicken des Buttons wird die Funktion _CallEaster aufgerufen
    
    
    Local $hlblErgebnis = GUICtrlCreateLabel("hier steht danach das Ergebnis", 12, 50, 200)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    ;verankert das Label links und oben und fixiert die Größe
    ;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand
    
    
    GUICtrlCreateButton('&berechnen (Label links)', 220, 45, 150, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    ;verankert den Button "Zeigen" rechts oben und fixiert die Größe
    ;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand
    GUICtrlSetOnEvent(-1, '_CallEasterQ')
    
    
    GUICtrlCreateButton('&in ListView', 220, 80, 150, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    GUICtrlSetOnEvent(-1, '_CallEasterA')
    
    
    GUICtrlCreateButton('Be&enden', 220, 115, 150, 25)
    GUICtrlSetOnEvent(-1, '_END')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    
    
    $hlstvwHoly = GUICtrlCreateListView("Feiertag | Datum ", 12, 80, 200, 140, $LVS_REPORT, $LVS_EX_GRIDLINES)
    GUICtrlSetResizing($hlstvwHoly, $GUI_DOCKBORDERS)
    ;verankert das Listview per Namen an allen Ecken, alle Größenänderungen
    ;der Abstand nach Links,rechts,oben und unten bleibt immer gleich
    GUICtrlSetState($hlstvwHoly, $GUI_HIDE + $GUI_DISABLE)
    
    
    GUICtrlCreateGraphic(0, 230, 400, 2, $SS_BLACKRECT)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKLEFT + $GUI_DOCKBOTTOM)
    Global $hStatus = GUICtrlCreateLabel("https://autoit.de/index.php/Thread/84607-Link-in-Statusbar/?postID=676895#post676895", 5, 235, 400, 25)
    GUICtrlSetOnEvent(-1, '_WWW')
    
    
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKLEFT + $GUI_DOCKBOTTOM)
    ;verankert das Label Links, rechts und unten; fixiert die Höhe
    ;beim Resizen bleibt es dadurch auf seiner Position und ändert nur die Breite wird angepasst
    GUISetState()
    $aHover[0]=$hStatus
    
    
    While 1
    	_IsWWW()
    	Sleep(120)
    WEnd
    
    
    Func _www()
    	ShellExecute(GUICtrlRead($hStatus))
    EndFunc
    
    
    Func _End()
    	GUIDelete($hMainGui)
    	Exit
    EndFunc   ;==>_End
    
    
    Func _CallEaster()
    	Local $iYear, $iDay
    	GUICtrlSetState($hlstvwHoly, $GUI_HIDE + $GUI_DISABLE)
    	;if $hlstvwHoly<>0 Then
    	; GUICtrlDelete($hlstvwHoly)
    	; $hlstvwHoly=0
    	;EndIf
    	$iYear = GUICtrlRead($hedtYear)
    	If $iYear = "" Then $iYear = "0"
    	If $iYear < 1582 Then
    		GUICtrlSetData($hlblErgebnis, "")
    		GUICtrlSetData($hStatus, "Das Jahr muss größer als 1582 sein! (Kalenderreform)")
    		Return ;_getHolyDay liefert vorher immer den gleichen Wert , ab 1583 sind die Werte auch sinnvoll
    	EndIf
    	GUICtrlSetData($hStatus, "")
    	$iDay = _Easter($iYear, False, 'Osterberechnung für Jahr: ' & $iYear, $hMainGui, $WS_VSCROLL)
    	;zeigt die eingebaut GUI in :Easter
    	GUICtrlSetData($hlblErgebnis, "Ostersonntag ist der " & $iDay & ".Tag im Jahr " & $iYear)
    	;$hlblErgebnis wird upgedatet
    	Opt('GuiEventOptions', 1)
    EndFunc   ;==>_CallEaster
    
    
    Func _CallEasterQ()
    	Local $iOS, $iYear
    	GUICtrlSetState($hlstvwHoly, $GUI_HIDE + $GUI_DISABLE)
    	;if $hlstvwHoly<>0 Then
    	; GUICtrlDelete($hlstvwHoly)
    	; $hlstvwHoly=0
    	;EndIf
    	$iYear = GUICtrlRead($hedtYear)
    	If $iYear = "" Then $iYear = "0"
    	If $iYear = "" Then $iYear = "0"
    	$iOS = _Easter($iYear, '' & $iYear, True)
    	;ruft nur die Anzahl der Tage (1.Jan =1) ab und speichert weist diese der Variablen $iOS zu
    	GUICtrlSetData($hlblErgebnis, "Ostersonntag ist der " & $iOS & ".Tag im Jahr " & $iYear)
    	;dem Steuerelement mit der ID:$hlblErgebnis wird der Wert der Variablen $iOS zugewiesen
    	If $iYear < 1582 Then GUICtrlSetData($hStatus, "Der Tag entspricht unserem heutigen Kalender!")
    EndFunc   ;==>_CallEasterQ
    
    
    Func _CallEasterA()
    	Local $iOS, $iYear
    	$iYear = GUICtrlRead($hedtYear)
    	If $iYear = "" Then $iYear = "0"
    	If $iYear < 1582 Then
    		GUICtrlSetData($hlblErgebnis, "")
    		GUICtrlSetData($hStatus, "Das Jahr muss größer als 1582 sein! (Kalenderreform)")
    		Return ;_getHolyDay liefert vorher immer den gleichen Wert , ab 1583 sind die Werte auch sinnvoll
    	EndIf
    	GUICtrlSetData($hStatus, "")
    	;$hlstvwHoly=GUICtrlCreateListView("Feiertag | Datum ",5, 75, 200, 200)
    	;GUICtrlSetResizing($hlstvwHoly, $GUI_DOCKBORDERS)
    	_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($hlstvwHoly))
    	;alle Einträhe im ListView werden gelöscht
    	GUICtrlSetState($hlstvwHoly, $GUI_SHOW + $GUI_ENABLE)
    	$iOS = _Easter($iYear, 'Osterberechnung für Jahr: ' & $iYear, True)
    	;ruft nur die Tageszahl ab
    	GUICtrlSetData($hlblErgebnis, "Ostersonntag ist der " & $iOS & ".Tag im Jahr " & $iYear)
    	GUICtrlCreateListViewItem(_getHolyday("Karfreitag:|", $iOS - 2, $iYear), $hlstvwHoly)
    	;fügt der Listview di mit Hilfe der in $hlstvwHoly gesoeicherten ID angesprochen werden kann
    	;mit dem zurückgegbenen Wert von _getHolyday($sHT,$iDate,$iYear) einen Listeneintrag hinzu
    	;der Separator ist kann in $sHT entahlten sein, wenn nicht wird er angehängt
    	GUICtrlCreateListViewItem(_getHolyday("Ostersamstag:|", $iOS - 1, $iYear), $hlstvwHoly)
    	GUICtrlCreateListViewItem(_getHolyday("Ostersontag:|", $iOS, $iYear), $hlstvwHoly)
    	GUICtrlCreateListViewItem(_getHolyday("Ostermontag:|", $iOS + 1, $iYear), $hlstvwHoly)
    	GUICtrlCreateListViewItem(_getHolyday("Christi Himmelfahrt:|", $iOS + 39, $iYear), $hlstvwHoly)
    	GUICtrlCreateListViewItem(_getHolyday("Pfingstsonntag:|", $iOS + 49, $iYear), $hlstvwHoly)
    	GUICtrlCreateListViewItem(_getHolyday("Pfingstmontag:|", $iOS + 50, $iYear), $hlstvwHoly)
    	GUICtrlCreateListViewItem(_getHolyday("Fronleichnam:|", $iOS + 60, $iYear), $hlstvwHoly)
    EndFunc   ;==>_CallEasterA
    
    
    Func _IsWWW()
    	Local $aInfo = GUIGetCursorInfo()
    	If @error Then Return
    	GUICtrlSetColor($iOldHovered,$iColNormal)
    	GUICtrlSetFont($hStatus,12,400,0)
    	if _ArraySearch($aHover,$aInfo[4]) =-1 Then Return
    	;If $aInfo[4] = $iOldHovered Then Return
    	GUICtrlSetColor($aInfo[4],$iColHover)
    	GUICtrlSetFont($aInfo[4],12,400,4)
    	$iOldHovered=$aInfo[4]
    EndFunc   ;==>_IsWWW
    Alles anzeigen

    Achtung: Easter.au3 wird benötigt. Nur für dieses Skript, interessant für dich sind die Zeilen 20-21, 86-89, 95, 98, 102-104 und 181-191.

  • Install mehrere msu Dateien

    • autoBert
    • 20. September 2016 um 20:51
    Zitat von Holzmichel

    Hallo an alle ich habe ein Programm in VB6 das alle Updates in einem Ordner (msu Dateien) installiert

    du meinst wohl msi?

    Benötigt wird _FileListToArray, For...Next Loop, Run oder Runwait und Grundwissen über Arrays.

  • GUICtrlCreateEdit nimmt keinen Text mehr auf

    • autoBert
    • 20. September 2016 um 12:49

    Lies https://www.autoitscript.com/forum/topic/18…dit_appendtext/

  • Hilfe bei winSAT.exe

    • autoBert
    • 18. September 2016 um 22:58
    Zitat von alpines

    Oder du nutzt ShellExecute und nutzt StdOutRead, dazu gibts ein paar Beispiele.

    Also ich habe bisher nur Run zusammen mit StdOutRead gesehen.

    AutoIt: StdOutRead Example from Helpfile
    #include <AutoItConstants.au3>
    #include <MsgBoxConstants.au3>
    #include <Array.au3> ; Required for _ArrayDisplay only.
    
    
    ; Recursively display a list of files in a directory.
    Example()
    
    
    Func Example()
        Local $sFilePath = @ScriptDir ; Search the current script directory.
        Local $sFilter = "*.*" ; Search for all files in the current directory. For a list of valid wildcards, search for 'Wildcards' in the Help file.
    
    
        ; If the file path isn't a directory then return from the 'Example' function.
        If Not StringInStr(FileGetAttrib($sFilePath), "D") Then
            Return SetError(1, 0, 0)
        EndIf
    
    
        ; Remove trailing backslashes and append a single trailing backslash.
        $sFilePath = StringRegExpReplace($sFilePath, "[\\/]+\z", "") & "\"
    
    
        #cs
            Commandline parameters for DIR:
            /B - Simple output.
            /A-D - Search for all files, minus folders.
            /S - Search within subfolders.
        #ce
        Local $iPID = Run(@ComSpec & ' /C DIR "' & $sFilePath & $sFilter & '" /B /A-D /S', $sFilePath, @SW_HIDE, $STDOUT_CHILD)
        ; If you want to search with files that contains unicode characters, then use the /U commandline parameter.
    
    
        ; Wait until the process has closed using the PID returned by Run.
        ProcessWaitClose($iPID)
    
    
        ; Read the Stdout stream of the PID returned by Run. This can also be done in a while loop. Look at the example for StderrRead.
        Local $sOutput = StdoutRead($iPID)
    
    
        ; Use StringSplit to split the output of StdoutRead to an array. All carriage returns (@CRLF) are stripped and @CRLF (line feed) is used as the delimiter.
        Local $aArray = StringSplit(StringTrimRight(StringStripCR($sOutput), StringLen(@CRLF)), @CRLF)
        If @error Then
            MsgBox($MB_SYSTEMMODAL, "", "It appears there was an error trying to find all the files in the current script directory.")
        Else
            ; Display the results.
            _ArrayDisplay($aArray)
        EndIf
    EndFunc   ;==>Example
    Alles anzeigen

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™