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

Beiträge von Bitnugger

  • Zeilen tauschen und hinzufügen

    • Bitnugger
    • 21. September 2018 um 17:06
    Zitat von AutoMit

    Gibt es eine vereinfachte Lösung in AutoIt, die so lautet:


    Daher

    Finde eine Zeile die mit X beginnt, prüfe dann, ob die nächste Zeile mit Y beginnt und wenn ja, dann tausche beide Zeilen und füge eine weitere Zeile Z hinzu.

    ( klingt einfach, aber irgendwie beiße ich mir daran die Zähne aus )

    So in etwa...

    AutoIt
    ;-- TIME_STAMP   2018-09-21 17:04:11   v 0.1
    
    #include <Array.au3>
    
    Local $sPath = 'm:\Zeilen.txt'
    
    ;~ Local $aFile = FileReadToArray($sPath)
    Local $aFile = [ _
        '# 2 beliebiger Text', _
        '# 1 juhu ein Sandkorn', _
        '... viele Zeilen', _
        '# 2 beliebiger Text', _
        '# 1 juhu ein Korn', _
        '... viele Zeilen']
    
    For $i = 0 To UBound($aFile) -1 Step 1
        If $i < UBound($aFile) -1 And StringLeft($aFile[$i], 3) = '# 2' And StringLeft($aFile[$i + 1], 3) = '# 1' Then
            _ArraySwap($aFile, $i, $i + 1)
            _ArrayInsert($aFile, $i + 2, '# 3' & StringMid($aFile[$i], 4))
        EndIf
    Next
    
    _ArrayDisplay($aFile, '$aFile')
    
    ;~ Local $hFile = FileOpen($sPath, $FO_OVERWRITE) ; $FO_APPEND (1), $FO_OVERWRITE (2), $FO_CREATEPATH (8), $FO_BINARY (16), $FO_UTF8 (128), $FO_UTF8_NOBOM (256), $FO_ANSI (512)
    ;~ Local $iWrite = FileWrite($hFile, '') + FileClose($hFile) ? FileGetSize($sPath) : -1
    ;~ If $iWrite < 1 Then
    ;~     ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : Error $hFile = ' & $hFile & ' $iWrite = ' & $iWrite & ' FileWrite('&$sPath&')' & @CRLF)
    ;~     ; Exit 1
    ;~ EndIf
    Alles anzeigen
  • _WinAPI_ThemeSetProgress

    • Bitnugger
    • 20. September 2018 um 16:38

    WinAPI_ThemeSetProgress_WIN_10.pngWinAPI_ThemeSetProgress_WIN_10_Def.png

  • GUIs IM Hintergrund halten

    • Bitnugger
    • 17. September 2018 um 20:32
    Zitat von autoiter

    damit Größe und Position nicht geändert werden und bei den entsprechenden Angaben (X,Y, ..) auch 0 eintragen.

    Durch $SWP_NOMOVE und $SWP_NOSIZE werden die Parameter für Position und Größe ignoriert...

    _WinAPI_SetWindowPos($hWnd, $HWND_BOTTOM, 'AutoIt', 'ist', 'echt', 'cool ;-)', BitOR($SWP_NOACTIVATE, $SWP_NOMOVE, $SWP_NOSIZE))

    ...du kannst da also angeben was immer du willst. ;)

  • ISN AutoIt Studio

    • Bitnugger
    • 17. September 2018 um 20:17
    Zitat von ISI360

    #Region wird nur vervollständigt, wenn diese auch einen Namen zugewiesen bekommt. (Wie es sein soll)

    Alles was hinter dem Schlüsselwort #Region steht, ist optional... deshalb solltest du es auch dann vervollständigen, wenn nichts dahinter steht.

  • Windows 10 Lizenz vorhanden?

    • Bitnugger
    • 17. September 2018 um 16:02

    Bei mir (habe kein UEFI) funktioniert der Befehl nicht, auch nicht die folgende Variante mit wmic...

    wmic path softwarelicensingservice get OA3xOriginalProductKey

  • Windows 10 Lizenz vorhanden?

    • Bitnugger
    • 17. September 2018 um 15:46

    Eigentlich will er ja nur wissen, ob sein installiertes Windows lizenziert ist... und das zeigt mein Script auch unter Windows 7 korrekt an.

    Edit:

    Zitat von alpines

    Ich dachte auch daran, aber warum nicht direkt @OSVersion?

    Was soll er mit der Version, wenn er den Lizenzstatus benötigt? ;)

  • Windows 10 Lizenz vorhanden?

    • Bitnugger
    • 17. September 2018 um 15:09

    So...

    AutoIt
    ;-- TIME_STAMP   2018-09-17 15:08:10   v 0.1
    
    #include <Array.au3>
    
    Global $g_aLizenzstatus = _Get_Lizenzstatus()
    
    ;~ Name: Windows(R), Professional edition
    ;~ Beschreibung: Windows(R) Operating System, RETAIL channel
    ;~ Teil-Product Key: XXXXX
    ;~ Lizenzstatus: Lizenziert
    
    ;~ _ArrayDisplay($g_aLizenzstatus, '$g_aLizenzstatus')
    If UBound($g_aLizenzstatus) = 4 And $g_aLizenzstatus[3][1] = 'Lizenziert' Then
        MsgBox(64, @ScriptName, _ArrayToString($g_aLizenzstatus, ': '))
        ; ...
    EndIf
    
    Func _Get_Lizenzstatus()
        Local $iPID, $sText, $aText, $aSplit
        $iPID = Run('cscript //nologo C:\Windows\System32\slmgr.vbs -dli', '', @SW_HIDE, $STDOUT_CHILD)
        If Not $iPID Then Return SetError(1, 0, False)
        ProcessWaitClose($iPID)
    
        $sText = StdoutRead($iPID)
        If $sText Then
            $aText = StringSplit($sText, @CRLF, 3)
            _ArrayColInsert($aText, 1)
            For $i = UBound($aText) -1 To 0 Step -1
                If $aText[$i][0] = '' Then
                    _ArrayDelete($aText, $i)
                Else
                    $aSplit = StringSplit($aText[$i][0], ': ', 3)
                    $aText[$i][0] = $aSplit[0]
                    $aText[$i][1] = $aSplit[1]
                EndIf
            Next
            Return $aText
        EndIf
    
        Return SetError(2, 0, False)
    EndFunc
    Alles anzeigen
  • Fehler in der deutschen Hilfe bitte hier melden (Hilfedatei 3.3.14.5 2018.08.04)

    • Bitnugger
    • 17. September 2018 um 13:53
    Zitat von BigRox

    Kleiner Tipp: "$SW_Hide" und "$SW_Show" funktionieren.

    Du meinst @SW_HIDE und @SW_SHOW...

    Dazu schaue ich dann einfach in den Includes nach...

    AutoIt
    Func _GUICtrlIpAddress_ShowHide($hWnd, $iState)
        If $iState <> @SW_HIDE And $iState <> @SW_SHOW Then Return SetError(1, 1, 0)
        Return _WinAPI_ShowWindow($hWnd, $iState) <> 0
    EndFunc   ;==>_GUICtrlIpAddress_ShowHide
  • Fehler in der deutschen Hilfe bitte hier melden (Hilfedatei 3.3.14.5 2018.08.04)

    • Bitnugger
    • 13. September 2018 um 17:31
    Zitat von BigRox

    Irgenwie meine ich, dass es nur Konstanten oder Variablen gibt und eine Konstante nicht variablel ist.

    Der Meinung bin ich auch... wenn du mich fragst, ist eine Konstante das Pendant zu einer Variable...

  • Downloadbox veraltet

    • Bitnugger
    • 1. September 2018 um 16:18
    Zitat von water

    BTW: Die aktuellste Beta Version ist doch die 3.3.15.1, oder?
    https://www.autoitscript.com/autoit3/files/beta/autoit/

    Dein Link ist wohl durch irgendeinen Grund fehlerhaft eingetragen worden... denn er zeigt hier hin: http://https//www.autoitscr…es/beta/autoit/

    Richtig ist: https://www.autoitscript.com/autoit3/files/beta/autoit/

  • AutoIt 3.3.14.5 deutsch / englische Hilfe verfügbar - Stand 2018.08.04

    • Bitnugger
    • 30. August 2018 um 19:48
    Zitat von Tweaky

    soll ich diese Hinweise irgendwo vermerken oder warum hast du es gepostet?

    Ja, ich dachte, dass sollte mit in die README.md rein...

  • Fehler in der deutschen Hilfe bitte hier melden (Hilfedatei 3.3.14.5 2018.08.04)

    • Bitnugger
    • 29. August 2018 um 15:52

    #OnAutoItStartRegister

    Bemerkungen

    Da die Funktion ausgeführt wird, bevor der Hauptskriptcode ausgeführt wird, kann die Funktion keine Variablen referenzieren, die in #include oder im Skript als Dlobal deklariert sind.

    Dieser Fehler wurde aus der englischen Hilfe 1:1 übernommen... 8o

  • AutoIt 3.3.14.5 deutsch / englische Hilfe verfügbar - Stand 2018.08.04

    • Bitnugger
    • 29. August 2018 um 15:35

    NTFS-Streams entfernen - das ist nötig, wenn da, wo die Hilfetexte stehen sollten, nichts angezeigt wird.

    pasted-from-clipboard.png

  • Windows 7 Lockscreen

    • Bitnugger
    • 29. August 2018 um 14:01

    Oder du machst es so... dass du die Rechner nach x Minuten nicht durch Windows sperren läßt, sondern mit einem eigenen AutoIt-Script. Denn dann kannst du dir auch beliebige Infos bei gesperrtem Bildschirm anzeigen lassen.

    Die BlockInputEx-UDF ist dafür sicher gut geeignet...

  • SciTE - Skriptaufrufe anpassen an geänderte SciTE Version

    • Bitnugger
    • 28. August 2018 um 14:05

    Du kannst in der SciTEUser.properties angeben, welches Startup-Script ausgeführt werden soll, um beim Start von SciTE die globalen Einstellungen für Lua zu initialisieren.

    Gucks du Bild, sagt alles...

    SciTEStartup.png

  • Ladebalken mit Funktion laufen lassen

    • Bitnugger
    • 22. August 2018 um 16:52

    Schau dir dieses Beispiel mal an... evtl. ist das ja was für dich.

    AutoIt
    ;-- TIME_STAMP   2017-05-12 21:48:19
    
    #Region    ;************ Includes ************
    #include-once
    #Include <FileConstants.au3>
    #include <WinAPIShPath.au3>
    #EndRegion ;************ Includes ************
    
    Local $iCopy = Example()
    If @error Then MsgBox(262160, '_CopyWhithProgress', "$iCopy --> " & $iCopy & @CRLF & "!@ " & @TAB & "#Error: " & @error & @TAB & "#Extended: " & @extended & @CRLF)
    
    Func Example()
        Local $sCopyFrom = FileOpenDialog('Was soll kopiert werden?', @DesktopDir, 'All (*.*)', $FD_PATHMUSTEXIST) ; $hWnd)
        If @error Then Return SetError(@error +1, 1, '$sCopyFrom = ' & $sCopyFrom)
        Local $sCopyTo   = FileSaveDialog('Wohin soll es kopiert werden?', @DesktopDir, 'All (*.*)', $FD_PATHMUSTEXIST, StringInStr(FileGetAttrib($sCopyFrom), 'D') ? $sCopyFrom : _WinAPI_PathStripPath($sCopyFrom)) ; $hWnd)
        If @error Then Return SetError(@error +2, 2, '$sCopyTo = ' & $sCopyTo)
    
        _CopyWhithProgress($sCopyFrom, $sCopyTo)
        If @error Then Return SetError(@error +3, 3, '_FileCopy()')
    EndFunc
    
    ; Windows - copy with progress
    ; Author - JdeB
    
    ;~    4 Do not display a progress dialog box.
    ;~    8 Give the file being operated on a new name in a move, copy, or rename operation if a file with the target name already exists.
    ;~   16 Respond with "Yes to All" for any dialog box that is displayed.
    ;~   64 Preserve undo information, if possible.
    ;~  128 Perform the operation on files only if a wildcard file name (*.*) is specified.
    ;~  256 Display a progress dialog box but do not show the file names.
    ;~  512 Do not confirm the creation of a new directory if the operation requires one to be created.
    ;~ 1024 Do not display a user interface if an error occurs.
    ;~ 2048 Version 4.71. Do not copy the security attributes of the file.
    ;~ 4096 Only operate in the local directory. Don't operate recursively into subdirectories.
    ;~ 8192 Version 5.0. Do not copy connected files as a group. Only copy the specified files.
    Func _CopyWhithProgress($sCopyFrom, $sCopyTo)
        Local $FOF_RESPOND_YES = 16
        Local $FOF_SIMPLEPROGRESS = 256
        $oShell = ObjCreate("shell.application")
        If Not IsObj($oShell) Then Return SetError(3, 3, '$oShell = ' & $oShell)
    
        Local $iDirCreate, $sCopyTargetDir = StringInStr(FileGetAttrib($sCopyTo), 'D') ? $sCopyTo : _WinAPI_PathStripPath($sCopyTo)
        If Not FileExists($sCopyTargetDir) Then $iDirCreate = DirCreate($sCopyTargetDir)
        If $iDirCreate = 0 Then Return SetError(4, 4, '$iDirCreate = ' & $iDirCreate)
    
        $oShell.namespace($sCopyTo).CopyHere($sCopyFrom, $FOF_RESPOND_YES)
    
        Return True
    EndFunc
    Alles anzeigen
  • Fenster ohne Fenstertitel mit "OK" bestätigen. Wie denn?

    • Bitnugger
    • 21. August 2018 um 17:17

    So etwa...

    AutoIt
    Local $sRegValue, $hTimer = TimerInit(), $hWnd, $hBtnOK
    Do
        Sleep(150)
        $sRegValue = RegRead('key', 'valuename')
    Until $sRegValue = 'match' Or TimerDiff($hTimer) > 10000 ; warten bis Registry-Key gesetzt ist oder Timer > 10000
    
    If $sRegValue = 'match' Then ; wurde der Registry-Key gesetzt?
        $hWnd = WinGetHandle('[CLASS:#32770]') ; Handle des Fenster holen... hat kein Title, deshalb versuchen wir es mit dem ClassName
        If IsHWnd($hWnd) Then
            $hBtnOK = ControlGetHandle($hWnd, 'OK', '') ; Handle des OK-Buttons holen
            If IsHWnd($hBtnOK) Then ControlClick($hBtnOK, '', '') ; Button klicken
        EndIf
    EndIf
    ConsoleWrite("@@ Debug line" & @TAB & @ScriptLineNumber & "   var: $sRegValue --> " & $sRegValue & @CRLF)
    ConsoleWrite("@@ Debug line" & @TAB & @ScriptLineNumber & "   var: $hWnd      --> " & $hWnd & @CRLF)
    ConsoleWrite("@@ Debug line" & @TAB & @ScriptLineNumber & "   var: $hBtnOK    --> " & $hBtnOK & @CRLF)
    Alles anzeigen
  • Daten aus einer XML Datei lesen und in eine andere Schreiben

    • Bitnugger
    • 14. August 2018 um 15:07
    Zitat von mgertzen

    Kann man so etwas mit Autoit realisieren?

    Ja sicher doch...

    Zitat von mgertzen

    Gibt es eventuell schon ein fertiges Script welches ich mir anpassen kann?

    Ich denke nicht, doch evtl. hilft dir das hier weiter: https://www.autoitscript.com/forum/files/fi…mlwrapperexau3/

    Wenn du ziehlführende Hilfe haben willst, muss du schon ein wenig mehr an Informationen rausgeben.

    Wie sehen die Quelldateien aus und was willst du extrahieren und wie bzw. wo soll es in die Zieldatei eingefügt werden... ein paar Beispiele wären hilfreich.

  • Wie führe ich mit der Datenträgerverwaltung zwei Partitionen zusammen?

    • Bitnugger
    • 13. August 2018 um 15:25

    Hier habe ich etwas dazu gefunden: https://www.easeus.de/partitionieren…s-loeschen.html

  • Anzeigen einstellen

    • Bitnugger
    • 13. August 2018 um 13:09

    Schau mal, ob dir das Tool von Oscar weiterhilft...

    https://autoit.de/index.php?thread/85574-changedisplayresolution/&postID=685812&highlight=ChangeDisplayResolution#post685812


    Edit: Link korrigiert - Danke autoiter

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™