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

Beiträge von Scritch

  • Wie habe ich das @error zu interpretieren?

    • Scritch
    • 26. Mai 2011 um 15:50

    Hallo,

    wieder mal eine sicher ganz simple Frage: wenn ich einen _Arraysearch() mache und er das gesuchte value im Array nicht findet, wird @error gesetzt.
    Aber was gibt die Funktion denn zurück? -1? oder doch 6, weil das angegebene value nicht gefunden wurde?
    Die Funktion gibt ja den Index zurück, wo der Begriff gefunden wurde. Wurde er jetzt im Index 6 gefunden kann man das doch falsch interpretieren, weil
    das auch der Fehlercode dafür ist, dass das Value nicht gefunden wurde... Bin verwirrt... :wacko:

    Erfolg: Der Index wo $vValue gefunden wurde Fehler: -1, setzt @Error: @error: 1 - $avArray ist kein Array
    2 - $avArray ist kein 1-dimensionales oder 2-dimensionales Array
    4 - $iStart ist größer als $iEnd
    6 - $vValue wurde im Array nicht gefunden
    7 - $avArray hat zu viele Dimensionen
    (3, 5 - missbilligte Fehlercodes)

  • exe2au3

    • Scritch
    • 26. Mai 2011 um 10:33

    Es ist ja mein Script, was ich dekompilieren möchte :)

  • Eigene GUI's in KODA ändern

    • Scritch
    • 26. Mai 2011 um 09:56

    Alles klar, danke

  • exe2au3

    • Scritch
    • 26. Mai 2011 um 09:54

    *Räusper* Na klar habe ich mir das durchgelesen, hatte es nur vrgessen :thumbup:

  • Eigene GUI's in KODA ändern

    • Scritch
    • 26. Mai 2011 um 09:29

    Kann ich eigens erstellte GUI's in KODA oder einem ähnlichen Programm ändern?
    Ich möchte es bischen komfortabler haben, und nicht direkt im Code immer ändern.
    Ich erstelle mir die GUIs immer in KODA, wenn ich sie dann aber im Code nochmal anpasse,
    dann bekomme ich sie später nicht mehr geöffnet. habe ich da was übersehen?

  • exe2au3

    • Scritch
    • 26. Mai 2011 um 09:26

    Hallo,

    ich habe eine damals mit autoit erstellte .exe, wovon ich das Original leider nicht mehr habe,
    ich es aber ändern wollte. Ich habe gelesen dass es irgendwann in der 2er Version von
    Autoit mal möglich war, .exen zu decompilieren, dann mit den frühen 3er-Versionen wieder
    nicht (die Beiträge ware 2 1/2 Jahre alt) und daher wollte ich mal fragen obs derzeit
    möglich ist, eine .exe zu decompilieren.

  • Drucker über Konsole installieren

    • Scritch
    • 18. Mai 2011 um 11:25

    Super, jetzt funktionierts. Hat scheinbar wirklich an der Druckerwarteschlange gelegen. Vielen, vielen Dank :)

  • Heutiges Datum mit anderem Datum vergleichen

    • Scritch
    • 16. Mai 2011 um 16:47

    Ok, da hätte ich euch und mir wieder Zeit sparen können. Danke euch :)

  • Heutiges Datum mit anderem Datum vergleichen

    • Scritch
    • 16. Mai 2011 um 16:32

    Moin,

    ich möchte gerne das heutige Datum mit einem anderen Datum aus einer Logdatei vergleichen und als Ausgabe erhalten, wieviele Tage zwischen diesen liegen. Ich habe da schon ansatzmäßig im Kopf, wie ich das machen möchte, ist aber leider ziemlich komplex... Gibt es da eine 3-Zeilen-Lösung?

  • Drucker über Konsole installieren

    • Scritch
    • 16. Mai 2011 um 15:42

    Moin,
    danke für die Hilfe. Du hast Recht, die Anführungszeichen fehlen. Führe ich den Befehl mit " aus, dann sagt er mir, dass der D ruckerwarteschlangendienst nicht läuft. Starte ich ihn, probiers dann nochmal sagt er mir das gleiche! Ich möchte den Druckr auf meinen PC löschen, nicht auf einen einem entfernten. Wenn das lokal geschehen soll, muss die Remoteregistry ja nicht aktiviert sein, oder? Drucker über die Konsole zu installieren funktioniert einwandfrei.

  • Drucker über Konsole installieren

    • Scritch
    • 16. Mai 2011 um 10:21

    Ja, ich weiß ja auch dass es richtig ist und auch das Löschen über Konsole müsste funktionieren... Tuts aber mysteriöserweise nicht... Menno! :evil:

  • Verzeichnisstruktur in Array einlesen

    • Scritch
    • 16. Mai 2011 um 10:11

    Hat sich erledigt. _FileListToArray macht das, was ich möchte... Ich blindfisch :pinch:

  • Verzeichnisstruktur in Array einlesen

    • Scritch
    • 16. Mai 2011 um 10:06

    Hallo,
    ich möchte ein Verzeichnis samt aller Datei- und Ordnernamen in ein Array einlesen. Habe dazu folgendes gefunden:

    Spoiler anzeigen
    [autoit]

    #include <array.au3>
    #include <file.au3>

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

    $Anzahl = 1001 ; Size of the Array
    Global $filesarr[$Anzahl][$Anzahl][3]; 1.[]: Nummer des Verzeichnisses = number of the folder
    ; 2.[]: Nummer der Datei = number of the file in that folder
    ; 3.[]: 0=DateiName 1=relativer Odner 2=komplatter Pfad = 0=filename 1=relative_path 2=absolute_path
    ; $filesarr[0][0][0] = Anzahl aller Ordner = total number of all folders
    ; $filesarr[0][0][1] = Absolute Anzahl an Dateien = total number of all files
    ; $filesarr[x][0][0] = Anzahl der Unterordner in Ordner x = number of subfolders in folder x
    ; $filesarr[x][0][1] = Anzahl der Dateien im Ordner x = number of files in folder x
    ; $filesarr[x][0][2] = Hilfesvariabel für den Rücksprung = only help to find back to the richt folder
    For $i=0 to $Anzahl-1
    $filesarr[$i][0][0] = 0 ; Anzahl der Unterordner auf 0 setzen = all number of subfolders = 0
    $filesarr[$i][0][1] = 0 ; Anzahl der Dateien im Verzeichnis auf 0 setzen = all number of files = 0
    Next
    Global $search[$Anzahl]
    $folderID = 1
    $filesarr[0][0][0] = 1

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

    Global $choosefolder = FileSelectFolder("Zu bearbeitender Ordner:","") ; choose the folder

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

    Read_Folder_2_Array($choosefolder)

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

    show_all_FolderArray()

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

    show_Summery()

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

    Exit

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

    Func Read_Folder_2_Array($path)

    ;Local $path,$info,$file,$folder
    ;MsgBox(0,"Loop-Info","current ID = " & $folderID & @CRLF & "total ID = " & $filesarr[0][0][0])

    ; Grundannahme, daß das Verzeichnis leer ist = presumption that the folder is empty
    $file = "(leeres Verzeichnis)" ; = (empty folder)
    $folder = StringTrimLeft(StringReplace($path,$choosefolder,""),1)
    $filesarr[$folderID][1][0] = $file ; DateiName = "(leeres Verzeichnis)"
    $filesarr[$folderID][1][1] = $folder ; relativer Odner
    $filesarr[$folderID][1][2] = $path & "\" & $file ; kompletter Pfad mit "(leeres Verzeichnis)"

    $search[$folderID] = FileFindFirstFile($path & "\*.*")
    If $search[$folderID] <> -1 Then
    While 1
    ;MsgBox(0,"$folderID","$folderID = " & $folderID)
    $file = FileFindNextFile($search[$folderID])
    If @error Then
    ;MsgBox(0,"Dateien alle ausgelesen","$folderID = " & $folderID & @CRLF & "$file = " & $file)
    ExitLoop
    EndIf
    ;MsgBox(0,"File-Info","$folderID = " & $folderID & @CRLF & "$file = " & $file)
    If $file <> "." And $file <> ".." Then
    If StringInStr(FileGetAttrib($path & "\" & $file),"D") Then
    $filesarr[0][0][0] = $filesarr[0][0][0] + 1 ; Anzahl alle Ordner um 1 erhöhen
    $filesarr[$folderID][0][0] = $filesarr[$folderID][0][0] + 1 ; Anzahl der gefundenen Unterordner in diesem Ordner um 1 erhöhen
    $filesarr[ $filesarr[0][0][0] ][0][2] = $folderID ; Rücksprung festhalten
    $folderID = $filesarr[0][0][0]
    Read_Folder_2_Array($path & "\" & $file)
    $folderID = $filesarr[$folderID][0][2] ; Rücksprung in das vorher bearbeitete Verzeichnis
    Else
    $info = StringReplace($path & "\" & $file,$choosefolder,"")
    $folder = StringTrimLeft(StringReplace($path,$choosefolder,""),1) ; relativer Odner definieren
    If StringInStr($info,"\",0,-1) > 1 Then
    $singlefile = StringTrimLeft($info,StringLen($folder) + 1)
    Else
    $singlefile = $info
    EndIf
    $singlefile = StringTrimLeft($singlefile,1)
    $filesarr[0][0][1] = $filesarr[0][0][1] + 1 ; Absolute Anzahl an Dateien
    $filesarr[$folderID][0][1] = $filesarr[$folderID][0][1] + 1 ; Anzahl der Dateien in diesem Verzeichnis
    $filesarr[$folderID][$filesarr[$folderID][0][1]][0] = $singlefile ; DateiName
    $filesarr[$folderID][$filesarr[$folderID][0][1]][1] = $folder ; relativer Odner
    $filesarr[$folderID][$filesarr[$folderID][0][1]][2] = $path & "\" & $file; kompletter Pfad
    EndIf
    EndIf
    WEnd
    ;MsgBox(0,"Schleife schliessen","$folderID = " & $folderID & @CRLF & "$filesarr[0][0][0] = " & $filesarr[0][0][0])
    Else
    ;MsgBox(0,"Leeres Verzeichnis","$folderID = " & $folderID & @CRLF & "$search[$folderID] = " & $search[$folderID])
    EndIf
    FileClose($search[$folderID])

    EndFunc

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

    Func show_all_FolderArray()

    For $o=1 to $filesarr[0][0][0]
    $OrdnerInhalt = "Ordner " & $o & @CRLF & "Ordner : " & $filesarr[$o][1][1] & @CRLF & "Pfad : " & $filesarr[$o][1][2] & @CRLF & @CRLF & " enthält die folgenden " & $filesarr[$o][0][1] & " Dateien: " & @CRLF
    For $i=1 to $filesarr[$o][0][1]
    ;MsgBox(0,"Info","Ordner = " & $o & " Datei = " & $i & @CRLF & "$filesarr["&$o&"]["&$i&"][0] = " & $filesarr[$o][$i][0] & @CRLF & "$filesarr["&$o&"]["&$i&"][1] = " & $filesarr[$o][$i][1] & @CRLF & "$filesarr["&$o&"]["&$i&"][2] = " & $filesarr[$o][$i][2])
    $OrdnerInhalt = $OrdnerInhalt & $i & " = " & $filesarr[$o][$i][0] & @CRLF
    Next
    MsgBox(0,"Liste",$OrdnerInhalt)
    Next

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

    EndFunc

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

    Func show_Summery()

    $Info = "Anzahl der Ordner : " & $filesarr[0][0][0] & @CRLF & "Anzahl der Dateien : " & $filesarr[0][0][1] & @CRLF & @CRLF
    For $o=1 to $filesarr[0][0][0]
    $Info = $Info & "Ordner " & $o & " hat " & $filesarr[$o][0][1] & " Dateien und " &$filesarr[$o][0][0] & " Unterordner (" & $filesarr[$o][1][1] & ")"& @CRLF
    Next
    MsgBox(0,"Gesamt-Info",$Info)

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

    EndFunc

    [/autoit]


    Das scheint mir doch bischen kompliziert und daher wollte ich fragen, ob es nicht auch eine einfachere "3-Zeilen-Lösung" gibt?

  • Durchgänge zählen, Variable ändern

    • Scritch
    • 12. Mai 2011 um 11:23

    danke euch beiden, aber für mich war das von Prixma besser zu gebrauchen :)

  • Durchgänge zählen, Variable ändern

    • Scritch
    • 11. Mai 2011 um 11:05

    Hallo,

    ich möchte in einer Schleife gerne die Durchgänge zählen, die die Schleife gemacht hat und den aktuellen Durchgang dann in eine Variable schreiben. Diese Variable ändert sich ja jeden Durchgang. Wie kann ich also die Variable meinen Vorstellungen entsprechend ändern?
    Habs erst so getestet, aber das funktioniert leider nicht :(

    [autoit]

    local $aendern = ''
    while 1
    $aendern &= + 1
    msgbox(1, "seks.", $aendern)
    WEnd

    [/autoit]
  • Drucker über Konsole installieren

    • Scritch
    • 10. Mai 2011 um 15:07

    Zwar bekomme ich keine Fehlermeldung, aber funktionieren tut es auch nicht.

  • Problem mit _ArraySearch

    • Scritch
    • 10. Mai 2011 um 12:51
    Zitat von i2c

    Es ergibt für mich irgendwie keinen Sinn, ein Kreuz bei einem Index zu setzen, der rein garnichts mit dr Suche zu tun hat.

    Du hast Recht. Da bin ich gar nicht drüber gestolpert :pinch:
    Peinlich :D

    [autoit]

    $referenz = @scriptdir & "\referenz.txt"
    Global $areferenz
    _FileReadToArray($referenz, $areferenz)
    for $g = 1 to ubound($areferenz) - 1
    $swinreferenz = _ArraySearch($csv, $areferenz[$g])
    if not $swinreferenz = (-1) Then
    if $swinreferenz > 0 Then
    $csv[$swinreferenz][2] = "Ja"
    EndIf
    EndIf
    Next

    [/autoit]
  • Problem mit _ArraySearch

    • Scritch
    • 10. Mai 2011 um 12:18

    Verstehe ich trotzdem nicht: Wenn das zu durchsuchende Array ($aReferenz) größer als das andere Array ist, wo die "Sucbegriffe drinstehen,
    kann doch trotzdem in $aReferenz gesucht werden...
    Wenn $aReferen 1000 Einträge hat, kann ich doch trotzdem nach den Einträgen aus $aCSV suchen, auch wenn $aCSV nur 3 Einträge hat...
    Ich arbeite doch eig. gar nicht mit der Anzahl der Einträge in $aReferenz, außer bei der Ausgabe. Und diese Ausgabe benutze ich ja nicht
    in Verbindung mit $aCSV.


    Wenn $aReferenz größer ist als $aCSV, soll die Suche nicht abgebrochen werden. Was kann ich da machen, außer $aCSV neu zu dimensionieren?

  • Problem mit _ArraySearch

    • Scritch
    • 10. Mai 2011 um 11:20

    Keiner eine Idee?
    Habe gestern eine Alternativlösung gefunden:

    [autoit]

    $referenz = @scriptdir & "\referenz.txt"
    Global $areferenz
    _FileReadToArray($referenz, $areferenz)
    for $g = 1 to ubound($csv) - 1
    $swinreferenz = _ArraySearch($areferenz, $csv[$g][0])
    $swinreferenzanders = $swinreferenz
    if $swinreferenz > 0 Then
    $csv[$swinreferenz][2] = "X"
    EndIf
    Next

    [/autoit]


    Funktionierte gestern soweit, heute funktioniert es wieder nicht...

  • Problem mit _ArraySearch

    • Scritch
    • 9. Mai 2011 um 13:24

    Hallo,

    ich habe irgendwie ein kleines indirektes Problem mit Arraysearch. und zwar:

    [autoit]

    $referenz = @scriptdir & "\referenz.txt"
    Global $areferenz
    _FileReadToArray($referenz, $areferenz)
    for $g = 1 to ubound($csv) - 1
    $swinreferenz = _ArraySearch($areferenz, $csv[$g][0])
    if $swinreferenz > 0 Then
    if $swinreferenz < 100 Then
    $csv[$swinreferenz][2] = "X"
    EndIf
    EndIf
    Next

    [/autoit]

    Damit vergleich ich den Inhalt von einem 1D-Array und der ersten Spalte von einem 2D-Array.
    Wenn der Inhalt gefunden wurden, dann soll ein X in die 3. Spalte des Arrays ($csv) geschrieben werden.
    In welche Zeile geschrieben wird, bestimme ich ja durch _ArraySearch. Das funktioniert nur zum Teil.
    Wenn $swinreferenz = _ArraySearch($areferenz, $csv[$g][0]) größer als 99 wird (und das wird es)
    Dann gibt er mir aus:
    "Error: Array variable has incorrect number og subscripts or subscript dimension range exceeded."

    So wie oben, funktionierts halt. Aber das bringt mich nicht weiter, da ich auch Zeilen oberhalb der 99
    ändern möchte. Wenn ich jetzt $csv[$swinreferenz][2] = "X" in z. B. $csv[105][2] = "X" ändere, dann funktionierts...

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™