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

  • Problem mit for...next

    • i2c
    • 12. März 2012 um 14:45

    Der Zähler fehlte ...

    [autoit]

    $i = 1
    Do
    $var = RegEnumKey("HKCU\Software\Microsoft\Windows\Currentversion\Explorer\Mountpoints2", $i)
    If StringLeft($var, 2) = "##" Then
    $iDel = RegDelete("HKCU\Software\Microsoft\Windows\Currentversion\Explorer\Mountpoints2\" & $var)
    EndIf
    $i += 1
    Until $iDel = 0

    [/autoit]
  • Problem mit for...next

    • i2c
    • 12. März 2012 um 14:25
    Zitat

    -1 wenn der gewünschte Wert nicht gelöscht werden konnte

    Wenn dir das mit der FOR Schleife nich gefällt, kannst du's ja auch in eine DO-UNTIL verpflanzen:

    [autoit]

    Do
    $var = RegEnumKey("HKCU\Software\Microsoft\Windows\Currentversion\Explorer\Mountpoints2", $i)
    If StringLeft($var, 2) = "##" Then
    $iDel = RegDelete("HKCU\Software\Microsoft\Windows\Currentversion\Explorer\Mountpoints2\" & $var)
    EndIf
    Until $iDel = 0

    [/autoit]
  • GUI - Mehrere Forms

    • i2c
    • 12. März 2012 um 07:56

    Simples Beispiel zum ein- und ausblenden von Controls.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    #region - GUI Create
    GUICreate("", 400, 400, -1, -1)
    $idCombo = GUICtrlCreateCombo("eins", 4, 4)
    GUICtrlSetData(-1, "zwei")
    GUICtrlSetData(-1, "drei")
    #endregion - GUI Create
    GUISetState(@SW_SHOW)

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

    _createControls()

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

    #region - GUI SelectLoop
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = -3 ;$GUI_EVENT_CLOSE
    Exit
    Case $msg = $idCombo
    Select
    Case GUICtrlRead($idCombo) = "eins"
    For $i = 0 To UBound($aEins) - 1
    GUICtrlSetState($aEins[$i], $GUI_SHOW)
    Next
    For $i = 0 To UBound($aZwei) - 1
    GUICtrlSetState($aZwei[$i], $GUI_HIDE)
    Next
    For $i = 0 To UBound($aDrei) - 1
    GUICtrlSetState($aDrei[$i], $GUI_HIDE)
    Next
    Case GUICtrlRead($idCombo) = "zwei"
    For $i = 0 To UBound($aEins) - 1
    GUICtrlSetState($aEins[$i], $GUI_HIDE)
    Next
    For $i = 0 To UBound($aZwei) - 1
    GUICtrlSetState($aZwei[$i], $GUI_SHOW)
    Next
    For $i = 0 To UBound($aDrei) - 1
    GUICtrlSetState($aDrei[$i], $GUI_HIDE)
    Next
    Case GUICtrlRead($idCombo) = "drei"
    For $i = 0 To UBound($aEins) - 1
    GUICtrlSetState($aEins[$i], $GUI_HIDE)
    Next
    For $i = 0 To UBound($aZwei) - 1
    GUICtrlSetState($aZwei[$i], $GUI_HIDE)
    Next
    For $i = 0 To UBound($aDrei) - 1
    GUICtrlSetState($aDrei[$i], $GUI_SHOW)
    Next
    EndSelect
    EndSelect
    WEnd
    #endregion - GUI SelectLoop

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

    Func _createControls()
    Global $aEins[2], $aZwei[2], $aDrei[2]
    $aEins[0] = GUICtrlCreateButton("eins", 4, 40)
    $aEins[1] = GUICtrlCreateInput("eins", 4, 80)
    $aZwei[0] = GUICtrlCreateButton("zwei", 4, 40)
    GUICtrlSetState(-1, $GUI_HIDE)
    $aZwei[1] = GUICtrlCreateInput("zwei", 4, 80)
    GUICtrlSetState(-1, $GUI_HIDE)
    $aDrei[0] = GUICtrlCreateButton("drei", 4, 40)
    GUICtrlSetState(-1, $GUI_HIDE)
    $aDrei[1] = GUICtrlCreateInput("drei", 4, 80)
    GUICtrlSetState(-1, $GUI_HIDE)
    EndFunc ;==>_createControls

    [/autoit]
  • Wie sieht euer Desktop aus?

    • i2c
    • 12. März 2012 um 07:37

    [Blockierte Grafik: http://h11.abload.de/img/12.03qgke8.png]

  • Bug in Autoit 3.3.8.1 der in 3.3.6.1

    • i2c
    • 9. März 2012 um 15:47

    http://www.autoitscript.com/trac/autoit/newticket ;)

  • Array in GUI darstellen?

    • i2c
    • 8. März 2012 um 11:07

    Denk doch bitte mal kurz nach bevor du so eine Behauptung in den Raum wirfst. :)

    Natürlich kannst du die Arraydeklaration aus meinem Beispiel nicht in dein Skript übernehmen. Du hast schliesslich dein eigenes. Ich hab dieses Array doch nur erstellt, um überhaupt was zu haben, das ich in meinem Beispiel in die Listview eintragen kann ^^

  • Array in GUI darstellen?

    • i2c
    • 8. März 2012 um 10:17

    Bitte was?
    Wenn du die "Dim Zeile" entfernst, gibt es in meinem Beispiel kein Array und es läuft in einen Error.

    Das ist ein Beispiel! Das einzige was du im Endeffekt in deinem Skript tun musst, ist eine Listview erstellen (_GUICtrlListView_Create()) und diese dann mit _GUICtrlListView_AddArray() befüllen.

  • Array in GUI darstellen?

    • i2c
    • 7. März 2012 um 21:43
    Spoiler anzeigen
    [autoit]

    #include <GuiListView.au3>

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

    Dim $aArray[2][2] = [[1, 2],[3, 4]]

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

    $hGUI = GUICreate("",400,400, -1,-1)
    $hListview = _GUICtrlListView_Create($hGUI,"Spalte1|Spalte2",4,4)
    GUISetState()

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

    _GUICtrlListView_AddArray($HListview, $aArray)

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

    Do
    Until GUIGetMsg() = -3

    [/autoit]


    Beim nächsten mal wärs schön, wenn du deinen Versuch mal zeigen würdest.

  • 2D Array in txt Datei speichern

    • i2c
    • 7. März 2012 um 21:28

    Da hat die Funktion meiner Meinung nach einen Fehler.

    Original

    Spoiler anzeigen
    [autoit]

    Func _FileWriteFromArray($File, $a_Array, $i_Base = 0, $i_UBound = 0, $s_Delim = "|")
    ; Check if we have a valid array as input
    If Not IsArray($a_Array) Then Return SetError(2, 0, 0)
    Local $iDims = UBound($a_Array, 0)
    If $iDims > 2 Then Return SetError(4, 0, 0)

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

    ; determine last entry
    Local $last = UBound($a_Array) - 1
    If $i_UBound < 1 Or $i_UBound > $last Then $i_UBound = $last
    If $i_Base < 0 Or $i_Base > $last Then $i_Base = 0

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

    ; Open output file for overwrite by default, or use input file handle if passed
    Local $hFile
    If IsString($File) Then
    $hFile = FileOpen($File, $FO_OVERWRITE)
    Else
    $hFile = $File
    EndIf
    If $hFile = -1 Then Return SetError(1, 0, 0)

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

    ; Write array data to file
    Local $ErrorSav = 0
    Switch $iDims
    Case 1
    For $x = $i_Base To $i_UBound
    If FileWrite($hFile, $a_Array[$x] & @CRLF) = 0 Then
    $ErrorSav = 3
    ExitLoop
    EndIf
    Next
    Case 2
    Local $s_Temp
    For $x = $i_Base To $i_UBound
    $s_Temp = $a_Array[$x][0]
    For $y = 1 To $iDims
    $s_Temp &= $s_Delim & $a_Array[$x][$y]
    Next
    If FileWrite($hFile, $s_Temp & @CRLF) = 0 Then
    $ErrorSav = 3
    ExitLoop
    EndIf
    Next
    EndSwitch

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

    ; Close file only if specified by a string path
    If IsString($File) Then FileClose($hFile)

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

    ; Return results
    If $ErrorSav Then Return SetError($ErrorSav, 0, 0)
    Return 1
    EndFunc ;==>_FileWriteFromArray

    [/autoit]


    Das Problem dürfte im Case 2 Block liegen. Die FOR-Schleife läuft bei einem 2D Array von 1 bis 2 ($iDims) und schon wird eine Spalte angesprochen, die es nicht gibt.

    Ungetestet aber so sollte es funktionieren

    Spoiler anzeigen
    [autoit]

    Func _FileWriteFromArray($File, $a_Array, $i_Base = 0, $i_UBound = 0, $s_Delim = "|")
    ; Check if we have a valid array as input
    If Not IsArray($a_Array) Then Return SetError(2, 0, 0)
    Local $iDims = UBound($a_Array, 0)
    If $iDims > 2 Then Return SetError(4, 0, 0)

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

    ; determine last entry
    Local $last = UBound($a_Array) - 1
    If $i_UBound < 1 Or $i_UBound > $last Then $i_UBound = $last
    If $i_Base < 0 Or $i_Base > $last Then $i_Base = 0

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

    ; Open output file for overwrite by default, or use input file handle if passed
    Local $hFile
    If IsString($File) Then
    $hFile = FileOpen($File, $FO_OVERWRITE)
    Else
    $hFile = $File
    EndIf
    If $hFile = -1 Then Return SetError(1, 0, 0)

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

    ; Write array data to file
    Local $ErrorSav = 0
    Switch $iDims
    Case 1
    For $x = $i_Base To $i_UBound
    If FileWrite($hFile, $a_Array[$x] & @CRLF) = 0 Then
    $ErrorSav = 3
    ExitLoop
    EndIf
    Next
    Case 2
    Local $s_Temp
    For $x = $i_Base To $i_UBound
    $s_Temp = $a_Array[$x][0] & $s_Delim & $a_Array[$x][1]
    If FileWrite($hFile, $s_Temp & @CRLF) = 0 Then
    $ErrorSav = 3
    ExitLoop
    EndIf
    Next
    EndSwitch

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

    ; Close file only if specified by a string path
    If IsString($File) Then FileClose($hFile)

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

    ; Return results
    If $ErrorSav Then Return SetError($ErrorSav, 0, 0)
    Return 1
    EndFunc ;==>_FileWriteFromArray

    [/autoit]
  • Happy Birthday eukalyptus

    • i2c
    • 7. März 2012 um 12:22

    Eijeijei ... wiedermal 'nen Geburtstag verpennt.

    Alles Gute nachträglich eukalyptus!

  • Wie sieht euer Desktop aus?

    • i2c
    • 2. März 2012 um 21:26

    @Matze: Das ist openSUSE mit ner selbt modifizierten gnome-shell und ein paar Extensions.

  • Wie sieht euer Desktop aus?

    • i2c
    • 29. Februar 2012 um 09:39

    Auch wenn das jetzt nichts besonderes ist .... ich würd nur gern mal wieder ein paar nette Desktops sehen :)

    [Blockierte Grafik: http://h11.abload.de/img/02wkkhn.png]

    [Blockierte Grafik: http://www.abload.de/img/04emi09.png]

    [Blockierte Grafik: http://h11.abload.de/img/04evk2y.png]

    [Blockierte Grafik: http://h11.abload.de/img/28wmjm3.png]

  • Datei in externes Programm droppen

    • i2c
    • 27. Februar 2012 um 15:18

    Dann solltest du dich vielleicht klarer ausdrücken. Was genau dein Vorhaben ist, kann man aus dem Startbeitrag nicht ersehen. Lediglich, das du offenbar das Rad neu erfinden willst.

    Wenn es dir konkret um VirtualDub(Mod) geht ... afaik unterstützt VDM eigene Skripte zum Abarbeiten von Jobs, falls das so eine Art Stapelverabeitung werden soll. Solche Skripte lassen sich auch per Kommandozeile übergeben und von AutoIt erstellen.

    Aber alles nur Mutmaßungen. Beschreib, wofür du das benötigst dann findet sich sicher auch eine bessere Lösung als ein automatisiertes drag&drop.

  • Datei in externes Programm droppen

    • i2c
    • 27. Februar 2012 um 15:07

    Ich kann lesen! :rolleyes:
    Dann schliess halt die vorherige Programminstanz mit ProcessClose()

  • Datei in externes Programm droppen

    • i2c
    • 27. Februar 2012 um 14:27

    Warum nicht das Programm gleich per shellexecute() und dem Dateipfad im Aufruf starten?

  • Problem eim Absenden eines Befehls inklusive Variabeln in CMD

    • i2c
    • 24. Februar 2012 um 09:59

    Du musst die Variable mit dem String verknüpfen

    [autoit]

    $rc = "_RunDos(tsdiscon[" & $ID & "])"

    [/autoit]


    Warum du das Ganze überhaupt in einen String speicherst, sei mal dahingestellt.

  • AutoIt zu PHP

    • i2c
    • 24. Februar 2012 um 07:57

    Nunja, aber dann enthält der Rückgabewert wieder nur das erste match. Gewollt war aber ein array of matches wie bei _StrinBetween().

    Das preg_match_all() wird so auch unnötig. Wozu alle Übereinstimmungen suchen, wenn am Ende doch nur die Erste zurück gegeben wird.

  • Homepage: MP3-Player: Livestream

    • i2c
    • 23. Februar 2012 um 09:50

    Googlen macht Spass!
    Nur zwei von vielen Möglichkeiten - http://blog.codingexpert.de/?p=66 - http://www.wavestreaming.com/player/free-shoutcast-flash-player

  • CD Lade | Virtueller CDladenknopf | Script für Faule

    • i2c
    • 22. Februar 2012 um 18:14

    Ich würd meinen Browser mal aktualisieren.

  • Wie steht ihr zu Fasching?

    • i2c
    • 21. Februar 2012 um 19:30

    Um die Einheitlichkeit zu wahren ... Würd ich in Köln oder in einer der "Hochburgen" wohnen, wär jetzt der richtige Zeitpunkt für einen ausgedehnten Auslandsurlaub. Madagaskar oder sowas.

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™