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

Beiträge von DeepRed92

  • AutoIt Editor

    • DeepRed92
    • 14. April 2009 um 13:07

    @Yakumo500

    Könntest du auch evtl eine Portable Version machen?

  • Plug-In Schnittstelle

    • DeepRed92
    • 14. April 2009 um 13:03

    So läuft es etwas besser:

    Spoiler anzeigen
    [autoit]

    $Source = FileRead(@ScriptDir&"\Plug-In.au3")

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

    _RunPlugIn($Source)

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

    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _RunPlugIn
    ; Description ...: Führt einen Plug-In aus
    ; Syntax.........: _RunPlugIn($Source)
    ; Parameters ....: $Source - Source in AutoIt
    ; Author ........: Burak Keskin <[email='Burak.keskin@arcor.de'][/email]>
    ; ===============================================================================================================================
    Func _RunPlugIn($Source)

    Local $Timer, $Loop, $Real_Timer

    $Split = StringSplit($Source, @CRLF)

    For $NextLoop1 = 1 To $Split[0]

    If Not $Split[$NextLoop1] = "" Then

    $Split2 = StringSplit($Split[$NextLoop1], "=")
    $Split3 = StringSplit($Split[$NextLoop1], " ")
    $Split4 = StringSplit($Source, @CRLF)

    If $Split3[1] <> "For" Then
    If $Split2[0] > 1 Then
    Assign(StringTrimLeft(StringTrimRight($Split2[1], 1), 1), Execute(StringTrimLeft($Split2[2], 1)))
    ElseIf $Split2[0] = 1 Then
    Execute($Split[$NextLoop1])
    EndIf
    ElseIf $Split3[1] = "For" Then

    ;~ $Lines = _GetLines($Split4)
    $AllLines = $Split[0]
    $VarName = $Split3[2]

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

    For $NextLoop2 = 1 To $AllLines
    If Not $Split[$NextLoop2] = "" Then
    $Timer += 1
    If StringInStr($Split[$NextLoop2], "For") Then
    $StartLoop_Line = $Timer
    $Real_StartLoop_Line = $NextLoop2
    EndIf
    If StringInStr($Split[$NextLoop2], "Next") Then
    $EndLoop_Line = $Timer
    $Real_EndLoop_Line = $NextLoop2
    ExitLoop
    EndIf
    EndIf
    Next

    $StartLoop_Line += 1
    $EndLoop_Line -= 1

    Assign(StringTrimLeft($VarName, 1), $Split3[4])

    For $Loop = $Split3[4] To $Split3[6]


    For $NextLoop3 = $StartLoop_Line To $EndLoop_Line
    Execute(_ReadLine($Split, $NextLoop3))

    ;~ MsgBox(0,"",$Split3[0])
    Next

    Next


    ;~ For $Loop = $Split3[4] To $Split3[6]
    ;~ For $NextLoop3 = $StartLoop_Line To $EndLoop_Line
    ;~ Execute(_ReadLine($Split4, $NextLoop3))
    ;~ Next
    ;~ Next

    ;~ MsgBox(0,"",$Split3[4])

    EndIf
    EndIf
    Next
    EndFunc ;==>_RunPlugIn

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

    Func _GetLines($Value)
    Local $Lines
    For $NextLoop = 1 To $Value[0]
    If Not $Value[$NextLoop] = "" Then
    $Lines += 1
    EndIf
    Next
    Return $Lines
    EndFunc ;==>_GetLines

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

    Func _ReadLine($Value, $Line)
    Local $Lines = ""
    For $NextLoop = 1 To $Value[0]
    If Not $Value[$NextLoop] = "" Then
    $Lines += 1
    If $Lines = $Line Then
    Return $Value[$NextLoop]
    ExitLoop
    EndIf
    EndIf
    Next
    EndFunc ;==>_ReadLine

    [/autoit]

    Edit: Es führt nur die ersten 2 Schleifen korrekt aus und bei der 3. wird nur eine 5 eingetragen.

  • Icon Changer

    • DeepRed92
    • 14. April 2009 um 09:21

    Hallo,

    ich hab einen Programm geschrieben, mit den nun die Besitzer von USB Sticks endlich die Ordnericons beliebig verändern können.
    Man kann es vom Kontextmenü des Explorers starten. Source & Exe sind im Anhang.

    Info:
    Beim start des Scriptes wird folgendes in die Registry geschrieben:
    HKEY_CLASSES_ROOT\Folder\shell\Ordnericon ändern\command\
    Das wird aber nach dem start der Datei Uninstall.bat wieder gelöscht.

  • Plug-In Schnittstelle

    • DeepRed92
    • 14. April 2009 um 08:52

    Weiß denn keiner wie man es nur mit den For & Next - Schleifen machen könnte? :huh:

  • Icon auswählen - Dialog

    • DeepRed92
    • 14. April 2009 um 00:28

    Damit gehts 100%-ig:

    [autoit]

    Func _PickIconDlg($sFileName, $nIconIndex = 0, $hWnd = 0)
    Local $nRet, $aRetArr[2]

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

    $nRet = DllCall("shell32.dll", "int", "PickIconDlg", _
    "hwnd", $hWnd, _
    "wstr", $sFileName, "int", 1000, "int*", $nIconIndex)

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

    If Not $nRet[0] Then Return SetError(1, 0, -1)

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

    $aRetArr[0] = $nRet[2]
    $aRetArr[1] = $nRet[4]

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

    Return $aRetArr
    EndFunc ;==>_PickIconDlg

    [/autoit]
  • Icon auswählen - Dialog

    • DeepRed92
    • 13. April 2009 um 23:45
    Zitat von Schnuffel

    wie kommst Du an diesen Dialog
    (ist das Vista?)

    Wenn man mit der rechten Maustaste auf einem Ordner klickt, befindet sich unter Eigenschaften das Tab "Anpassen" und dann auf "anderes Symbol" klicken (Nein das ist WinXp).

    Zitat von Fisch

    Ich glaube das könnte dir helfen:
    Icon Auswählen-Dialog


    Das kenn ich schon. Habs damit schon versucht, aber ab der 3. Seite stimmen die ausgewälten Icons nicht. Wähle ich z.b. Icon -71 aus (Textdatei), bekomme ich das Icon "unbekanntes Dateiformat" zurück.

  • Icon auswählen - Dialog

    • DeepRed92
    • 13. April 2009 um 23:27

    Ja schon aber man kann dort keinen Icon auswählen.

  • Icon auswählen - Dialog

    • DeepRed92
    • 13. April 2009 um 23:10

    Hallo,

    wie kann man mit AutoIt diesen Dialog aufrufen?

    [Blockierte Grafik: http://download.lima-city.de/deepred/Bilder/133746578738606574.jpg]

  • Kontexmenü

    • DeepRed92
    • 13. April 2009 um 23:07

    Danke für die Hilfe.

    Zitat

    Aber ich warne schonmal vor... wenn du vorhast, das in ein Script von dir zu schreiben und das online postest, musst du vorher groß und sichtbar davor >warnen<, dass Änderungen an der registry vorgenommen werden.. im englischen Forum gabs deswegen schon Aufstände :D

    Ok. Merk ich mir ;) .

  • Desktop Radio 3.9

    • DeepRed92
    • 13. April 2009 um 22:38
    Zitat

    Achso also Soundplac ins i-net

    Ja. Aber halt nur mit dem wmp.


    Sithlord95: Ich kann den Sender rpr1leider nicht einbauen, weil der Link einen Hashcode enthält. Dadurch kann man den Link nur ca. 3x benutzen. So sehen die Links aus:

    http://lsd.newmedia.tiscali-business.com/bb/redirect.ls…media=ms&token= ef4a22049b7159ceb646b548236bd587

  • Kontexmenü

    • DeepRed92
    • 13. April 2009 um 22:25

    Hallo,

    wenn man auf einem Ordner mit der rechten Maustaste klickt wird ja ein Menü angezeigt. Wie kann ich dort einen eigenen Eintrag mit Autoit machen?

  • Text zählen

    • DeepRed92
    • 13. April 2009 um 22:14

    Schau dir mal Stringsplit und die Forschleifen an. Damit sollte es gehen.

  • Rechtliche Frage (Videos von YouTube downloaden)

    • DeepRed92
    • 13. April 2009 um 21:34

    Ich würde sagen das Programm selbst ist legal aber die nutzung wohl eher weniger :D .

  • Ini2Au3 Konverter

    • DeepRed92
    • 13. April 2009 um 21:26

    Hallo,

    ich habe mal einen Ini zu AutoIt Konverter geschrieben.

    Funktion:

    Es liest eine Ini-Datei aus und generiert damit einen Au3 Code. Es kann z.b. dazu dienen die Standardeinstellungen in einem
    Programm wiederherzustellen. Es sind folgende Einstellungsmöglichkeiten enthalten:
    Die Variablenamen lassen sich verändern und der Speicherort.

    Source und Kompliertes Script ist in der Zip-Datei enthalten.

    Ich hoffe es funktioniert reibungslos. :D

  • Plug-In Schnittstelle

    • DeepRed92
    • 13. April 2009 um 19:50

    Ja stimmt. Man kann die While- Schleifen auch Parallel abarbeiten lassen.

    Also ich hab jetzt mal versucht es mit den Next-Schleifen irgendwie zu schaffen. Sieht zwar nicht so Professionell aus aber darum kann man sich später kümmern:

    Spoiler anzeigen
    [autoit]

    $Source = 'For $Loop = 1 To 10' & @CRLF _
    & 'MsgBox(0,"",$Loop)' & @CRLF _
    & 'Next'

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

    _RunPlugIn($Source)

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

    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _RunPlugIn
    ; Description ...: Führt einen Plug-In aus
    ; Syntax.........: _RunPlugIn($Source)
    ; Parameters ....: $Source - Source in AutoIt
    ; Author ........: Burak Keskin <[email='Burak.keskin@arcor.de'][/email]>
    ; ===============================================================================================================================
    Func _RunPlugIn($Source)
    $Split = StringSplit($Source, @CRLF)
    For $NextLoop = 1 To $Split[0]
    If Not $Split[$NextLoop] = "" Then
    $Split2 = StringSplit($Split[$NextLoop], "=")
    $Split3 = StringSplit($Split[$NextLoop], " ")

    If $Split2[0] > 1 Then
    Assign(StringTrimLeft(StringTrimRight($Split2[1], 1), 1), Execute(StringTrimLeft($Split2[2], 1)))
    EndIf

    If $Split2[0] = 1 Then
    Execute($Split[$NextLoop])
    EndIf

    If $Split3[1] = "For" Then ;For/Next - Schleife
    $Loop2 = ""
    $VarName = $Split3[2]
    $VarName2 = "Loop2"
    $NextLoop = True
    $VarName = StringTrimLeft($VarName, 1)
    $Loop1 = Assign($VarName, $Split3[3])
    Assign($VarName2, $Split3[6])
    $Zeilen = ""
    For $Split[$NextLoop] = 1 To $Split[0]
    If Not $Split[$Split[$NextLoop]] = "" Then
    $Zeilen = $Zeilen + 1
    EndIf
    If $Split[$Split[$NextLoop]] = "Next" Then
    ExitLoop
    EndIf
    Next

    $Zeilenstart = $Zeilen - $Zeilen + 2
    $Zeilenend = $Zeilen - 1

    For $NextLoop2 = $Loop1 To $Loop2
    For $NextLoop3 = $Zeilenstart To $Zeilenend + 1
    If Not $Split[$NextLoop3 + 1] = "" Then
    Assign($VarName, $NextLoop2)
    Execute($Split[$NextLoop3 + 1])
    Else
    EndIf
    Next
    Next
    EndIf
    EndIf
    Next
    EndFunc ;==>_RunPlugIn

    [/autoit]

    Aber irgendwie stimmt da etwas nicht so richtig und ich weiß nicht woran das liegen könnte :pinch: .
    Die Msgboxen werden 1x zu oft angezeigt.

  • MathEx UDF

    • DeepRed92
    • 13. April 2009 um 19:23

    Ich hab hier noch eine Primzahl UDF:

    [autoit]

    Func IsPrime2($iValue)
    Switch IsNumber($iValue)
    Case False
    $iValue = Number($iValue)
    EndSwitch
    Switch True
    Case $iValue = 2
    Return True
    Case $iValue < 2 Or Mod($iValue,2) = 0 Or IsFloat($iValue)
    Return False
    EndSwitch
    $maxTest = Floor(Sqrt($iValue))
    For $i = 3 To $maxTest Step 2
    If Mod($iValue, $i) = 0 Then Return False
    Next
    Return True
    EndFunc ;==>IsPrime2

    [/autoit]
  • Plug-In Schnittstelle

    • DeepRed92
    • 13. April 2009 um 11:13

    Ja das funktioniert gut. Aber so gehts auch:

    [autoit]

    $Source = '$Form1 = GUICreate("Form1", 377, 160, 192, 124)' & @CRLF _
    & '$Button1 = GUICtrlCreateButton("Button1", 0, 0, 75, 25, 0)' & @CRLF _
    & '$Button2 = GUICtrlCreateButton("Button2", 0, 32, 75, 25, 0)' & @CRLF _
    & '$Button3 = GUICtrlCreateButton("Button3", 0, 64, 75, 25, 0)' & @CRLF _
    & '$Button4 = GUICtrlCreateButton("Button4", 0, 96, 75, 25, 0)' & @CRLF _
    & '$Button5 = GUICtrlCreateButton("Button5", 0, 128, 75, 25, 0)' & @CRLF _
    & '$Edit1 = GUICtrlCreateEdit("", 80, 0, 289, 153)' & @CRLF _
    & 'GUISetState(@SW_SHOW, $Form1)' & @CRLF _
    & '$x = InputBox("Hallo", "Irgendwas")' & @CRLF _
    & 'GUICtrlSetData($Edit1, $x)' & @CRLF _
    & 'Sleep(3000)' & @CRLF _
    & '$Form2 = GUICreate("Form2", 700, 700)' & @CRLF _
    & 'GUISetState(@SW_SHOW, $Form2)' & @CRLF _
    & 'WinSetOnTop($Form2, "", 1)' & @CRLF _
    & 'GUIDelete($Form1)' & @CRLF _
    & 'WinSetOnTop($Form2, "", 0)' & @CRLF _
    & 'Sleep(1000)' & @CRLF _
    & 'GUIDelete($Form2)' & @CRLF _
    & 'MsgBox(0, "", "Ende")' & @CRLF _

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

    _RunPlugIn($Source)

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

    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _RunPlugIn
    ; Description ...: Führt einen Plug-In aus
    ; Syntax.........: _RunPlugIn($Source)
    ; Parameters ....: $Source - Source in AutoIt
    ; Author ........: Burak Keskin <[email='Burak.keskin@arcor.de'][/email]>
    ; ===============================================================================================================================
    Func _RunPlugIn($Source)
    $Split = StringSplit($Source, @CRLF)
    For $NextLoop = 1 To $Split[0]
    If Not $Split[$NextLoop] = "" Then
    $Split2 = StringSplit($Split[$NextLoop], "=")
    If $Split2[0] > 1 Then
    Assign(StringTrimLeft(StringTrimRight($Split2[1], 1), 1), Execute(StringTrimLeft($Split2[2], 1)))
    ElseIf $Split2[0] = 1 Then
    Execute($Split[$NextLoop])
    EndIf
    EndIf
    Next
    EndFunc ;==>_RunPlugIn

    [/autoit]

    Wie mache ich da nun For -Next Schleifen rein?

  • Execute

    • DeepRed92
    • 13. April 2009 um 00:12

    Ja.

  • Execute

    • DeepRed92
    • 13. April 2009 um 00:03

    Ja so gehts auch, aber wie macht man es ohne die AutoIt3.exe?

  • Execute

    • DeepRed92
    • 12. April 2009 um 23:42

    Weil es eine Schleife auslesen soll. Z.b: Ich habe eine Textdatei, wo drinne steht:

    While 1
    Wend

    Wie kann ich dies ausführen? Mit Execute müsste es ja irgendwie gehen oder kann man das auch anders machen?

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™