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

Beiträge von Kleiner

  • FileListToArray im gesamten Verzeichnisbaum aber nicht rekursiv

    • Kleiner
    • 3. Februar 2011 um 09:02

    Guten Morgen!

    AspirinJunkie
    Bei deinen Funktionen ist ein grundsätzlicher Abfrage Fehler bei der REPARSE_POINT abfrage.

    [autoit]

    If @error And BitAND($aD[0],0x400) Then ContinueLoop

    [/autoit]


    End weder, was ich nicht empfehle würde

    [autoit]

    If @error Or BitAND($aD[0],0x400) Then ContinueLoop

    [/autoit]


    Eher

    [autoit]

    If @error Then Return ;.....
    If BitAND($aD[0],0x400) Then ContinueLoop

    [/autoit]


    Lg Kleiner

  • Nun bin auch ich hier...

    • Kleiner
    • 2. Februar 2011 um 10:19

    Willkommen im AutoIt-Forum .
    veil Spass. ;)


    Lg Kleiner

  • adlerkalle stellt sich vor

    • Kleiner
    • 2. Februar 2011 um 10:18

    Willkommen im AutoIt-Forum .
    veil Spass. ;)


    Lg Kleiner

  • Celtic Woman

    • Kleiner
    • 2. Februar 2011 um 10:08

    Hi!

    Sehr schön, gefühlsvolle Musik klasse die Frauen! :thumbup:


    Lg Kleiner

  • DoubleClick lässt Programm hängen

    • Kleiner
    • 30. Januar 2011 um 17:49

    Hi!

    Nutzt du dein OS auf Englisch?
    Wenn nicht änder bitte "Untitled - Notepad" in "Unbenannt - Editor" und in der schleife ExitLoop zu verwenden ist nicht ganz nachvollziehbar.
    Nutz für deine Codedarstellung Spoiler und AutoIt Tag.

    Spoiler anzeigen
    [autoit]

    ; Hir kommt der Code rein ; )

    [/autoit]

    Lg Kleiner

  • Datei in einem "Unbekannten Ordner" löschen

    • Kleiner
    • 30. Januar 2011 um 12:47

    Hi!

    Funktioniert nicht auf der Windows Partition = REPARSE_POINT

    Spoiler anzeigen
    [autoit]

    Func _WinAPI_SearchTreeForFile($RootPath, $InputPathName, $OutputPathBuffer = 255)
    Dim $aResult = DllCall('imagehlp.dll', 'bool', 'SearchTreeForFile', 'str', $RootPath, 'str', $InputPathName, 'str', $OutputPathBuffer)
    If @error Then Return SetError(@error, @extended, False)
    Return $aResult[3]
    EndFunc ;==>_WinAPI_SearchTreeForFile

    [/autoit]

    o.

    Spoiler anzeigen
    [autoit]

    ;===================================================================================================================================#
    ;Function Name....: _FileListToRekursiv($Pfad, $Wildc = '*', $Flag = 0, $TB = 0, $Mehr = 0)
    ;Description......: Auflistung von Dateien
    ;$Pfad............: Pfad
    ;$Wildc...........: '*' (Standart) Suchbegrif u. o. Wildcards bei Wildcards mit o. suchbegriff $_Flag_ auf '3' setzen es ist auch
    ; möglich mehrere suchbegriffe zu suchen z.B (*wma,*mp3,*txt) o. (wma,mp3,txt) getrennt mit ','
    ;$Flag............: '0' (Standart) Datein u. Ordner '1' nur Datein '2' nur Ordner '3' um mit suchbegriffen zu suchen wie (*.txt)
    ;$TB..............: '0' (Standart) für alle Unter-Verzeichnisse
    ;$Mehr............: '0' (Standart) Ein duchlauf dann wird $RAS gelöscht : '1' Ein Speicher für wiederholten aufruf.
    ;Return Value(s)..: Array mit den gefundenen Dateien u. o Ordner Array[0] endhält die anzahl (Fund)
    ;Author(s)........: Kleiner (http://www.autoit.de) # 21.12.2010 00:00 #
    ;====================================================================================================================================#
    Global Static $K32 = DllOpen('Kernel32.dll')
    Global $F
    Global $FN
    Global $FL
    Global $RP
    Global $RAS
    Global $Expan
    Global Const $IHV = -1
    Global Const $Wstr = 'wstr'
    Global Const $Dword = 'dword'
    Global Const $REPARSE_POINT = 0x400
    Global Const $sDelim = '\', $sDelim1 = '|', $sW = '*'
    Global Const $GetFileAttributesW = 'GetFileAttributesW'

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

    Func _FileListToRekursiv($Pfad, Const $Wildc = '*', Const $Flag = 0, Const $TB = 0, Const $Mehr = 0)
    If Not $Mehr Then $RAS = ''
    $Pfad = StringRegExpReplace($Pfad, '[\\/]+\z', $sDelim) & $sDelim
    If Not FileExists($Pfad) Then Return SetError(1, 0, '')
    If StringRegExp($Wildc, '[\\/:><\|]|(?s)\A\s*\z') Then Return SetError(2, 0, '')
    If Not ($Flag = 0 Or $Flag = 1 Or $Flag = 2 Or $Flag = 3) Then Return SetError(3, 0, '')
    ToRekursiv($Pfad, StringReplace(StringReplace($Wildc, $sW, ''), ',', '$' & $sDelim1) & '$', $Flag, $TB, $Pfad)
    If Not $RAS Then Return SetError(4, 0, '')
    Return StringSplit(StringTrimLeft($RAS, 1), $sDelim1, 2)
    EndFunc ;==>_FileListToRekursiv

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

    Func ToRekursiv($Pfad, $Wildc, $Flag, $TB, $ConstPfad)
    $FL = ''
    If StringInStr($Pfad, $sDelim, 0, $TB, StringLen($ConstPfad) + 1) Then Return True
    $F = FileFindFirstFile($Pfad & $sW)
    If ($F <> $IHV) Then
    Do
    $FN = FileFindNextFile($F)
    If @error Then ExitLoop
    $Expan = @extended
    Switch $Flag
    Case 0
    $RAS &= $sDelim1 & $Pfad & $FN
    If $Expan Then $FL &= $sDelim1 & $Pfad & $FN & $sDelim
    Case 1
    Switch $Expan
    Case 0
    $RAS &= $sDelim1 & $Pfad & $FN
    Case 1
    $FL &= $sDelim1 & $Pfad & $FN & $sDelim
    EndSwitch
    Case 2
    If Not $Expan Then ContinueLoop
    $RAS &= $sDelim1 & $Pfad & $FN
    $FL &= $sDelim1 & $Pfad & $FN & $sDelim
    Case 3
    If $Expan Then $FL &= $sDelim1 & $Pfad & $FN & $sDelim
    If StringRegExp($FN, $Wildc) Then $RAS &= $sDelim1 & $Pfad & $FN
    EndSwitch
    Until False
    EndIf
    FileClose($F)
    If Not $FL Then Return True
    For $For In StringSplit(StringTrimLeft($FL, 1), $sDelim1, 2)
    $RP = DllCall($K32, $Dword, $GetFileAttributesW, $Wstr, $For)
    If @error Then Return True
    If Not BitAND($RP[0], $REPARSE_POINT) Then ToRekursiv($For, $Wildc, $Flag, $TB, $ConstPfad)
    Next
    EndFunc ;==>ToRekursiv

    [/autoit]

    Lg Kleiner

  • class FileSystemWatcher

    • Kleiner
    • 30. Januar 2011 um 11:16

    Hi!


    Schau mal SHChangeNotifyRegister/


    Lg Kleiner

  • Multidownloader

    • Kleiner
    • 30. Januar 2011 um 09:28

    Hi!

    Eine Anmerkung das was hier nicht stehen darf ist das du wirbst das man von YouTube usw. die Videos laden kann.
    Das Prog kann Videos aus den Netz laden in Mp3 Wandel, die Aussage reicht aus was der Nutzer mit die Möglichkeiten anstellt ist dann nicht mehre deine Sache ‘‘ WAS GANZ WICHIG IST DIE ANLEITUNG DIE IST STRAFBAR [VORSATZ] NENNT MAN SOWAS‘‘.

    Mit der Aussage verstößt du gegen die Forenregeln u. dem Post Zeitriss .

    Bitte entferne die Anmerkung aus dein Anschreiben und deiner Signatur.


    Lg Kleiner

  • sapi.spvoice aud deutsche Stimme einstellen

    • Kleiner
    • 25. Januar 2011 um 19:02

    Hi!


    Hast du mal geschaut ob Steffi auf deim System ist?


    Lg Kleiner

  • Funktion Stringreplace

    • Kleiner
    • 25. Januar 2011 um 12:24

    Hi!


    vieleicht so?

    Spoiler anzeigen
    [autoit]

    Func _Dateinamenfiltern($textopen)
    Return StringReplace($textopen, "9935_txt_", "")
    EndFunc ;==>_Dateinamenfiltern

    [/autoit]


    Lg Kleiner

  • Optimierung einer Funktion (zum Errechnen der Differenz zweier Felder bei einem Spiel)

    • Kleiner
    • 21. Januar 2011 um 14:21

    Hi!

    Mir fällt da gerade noch was ein, horizontal u. vertikal sind gleich wenn jetzt noch die Logik der horizontal Berechnung angepasst wird würde Theoretisch der Code doppelt so schnell sein oder schneller.

    Wie hier schon angemerkt muss ja nicht jedes Mal berechnet werden.


    Lg Kleiner

  • Array oder non-Array - das ist hier die Frage

    • Kleiner
    • 21. Januar 2011 um 13:09

    Hi!


    ungetestet:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <File.au3>

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

    Dim $pcname[1] = ["pcname"]
    Global $log = @ScriptDir & "\log_HDD-Partition.csv"
    If _FileCreate($log) Then
    Local $Path, $ahdd, $ahddfrei
    Local $File_Open = FileOpen($log, 1)
    FileWrite($File_Open, "PC" & ";" & "Freier Speicher C:" & @CRLF)
    For $z = 0 To UBound($pcname) - 1
    $Path = "\\" & $pcname[$z] & "\d$\partitionen.ini"
    If FileExists($Path) Then
    _FileReadToArray($Path, $ahdd)
    For $y = 1 To $ahdd[0]
    $ahddfrei = StringSplit($ahdd[$y], 'frei:', 2)
    If IsArray($ahddfrei) Then
    ;For $i = 1 To 2
    ; _ArrayDelete($ahddfrei, 0)
    ;Next
    For $For In $ahddfrei
    FileWrite($log, $pcname[$z] & ";" & $For & @CRLF)
    Next
    EndIf
    ;_ArrayDisplay($ahddfrei)
    Next
    EndIf
    Next
    FileClose($log)
    EndIf

    [/autoit]

    Lg Kleiner

  • Happy Birthday Oscar :)

    • Kleiner
    • 19. Januar 2011 um 09:24

    Hi Oscar!


    Alles Gute nachträglich :party:


    Lg Kleiner

  • Optimierung einer Funktion (zum Errechnen der Differenz zweier Felder bei einem Spiel)

    • Kleiner
    • 18. Januar 2011 um 11:03

    Hi GtaSpider!


    Du könntes noch abfragen einsparen und zeit rasuholen.
    Skript angepasst.

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    Opt("TrayIconDebug", 1)
    #Region Variablen
    Global $SC_ARR_PLACES[65][5]
    $SC_ARR_PLACES[0][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[0][1] = 5; 1. Nachbar von Feld 0
    $SC_ARR_PLACES[0][2] = 20; 2. Nachbar von Feld 0
    $SC_ARR_PLACES[0][3] = 10; 3. Nachbar von Feld 0
    $SC_ARR_PLACES[0][4] = 15; 4. Nachbar von Feld 0
    $SC_ARR_PLACES[1][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[1][1] = 51; 1. Nachbar von Feld 1
    $SC_ARR_PLACES[1][2] = 64; 2. Nachbar von Feld 1
    $SC_ARR_PLACES[1][3] = 52; 3. Nachbar von Feld 1
    $SC_ARR_PLACES[1][4] = 9; 4. Nachbar von Feld 1
    $SC_ARR_PLACES[2][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[2][1] = 34; 1. Nachbar von Feld 2
    $SC_ARR_PLACES[2][2] = 33; 2. Nachbar von Feld 2
    $SC_ARR_PLACES[2][3] = 62; 3. Nachbar von Feld 2
    $SC_ARR_PLACES[2][4] = 14; 4. Nachbar von Feld 2
    $SC_ARR_PLACES[3][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[3][1] = 19; 1. Nachbar von Feld 3
    $SC_ARR_PLACES[3][2] = 42; 2. Nachbar von Feld 3
    $SC_ARR_PLACES[3][3] = 43; 3. Nachbar von Feld 3
    $SC_ARR_PLACES[3][4] = 63; 4. Nachbar von Feld 3
    $SC_ARR_PLACES[4][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[4][1] = 25; 1. Nachbar von Feld 4
    $SC_ARR_PLACES[4][2] = 24; 2. Nachbar von Feld 4
    $SC_ARR_PLACES[4][3] = 61; 3. Nachbar von Feld 4
    $SC_ARR_PLACES[4][4] = 60; 4. Nachbar von Feld 4
    $SC_ARR_PLACES[5][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[5][1] = 0; 1. Nachbar von Feld 5
    $SC_ARR_PLACES[5][2] = 6; 2. Nachbar von Feld 5
    $SC_ARR_PLACES[6][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[6][1] = 5; 1. Nachbar von Feld 6
    $SC_ARR_PLACES[6][2] = 7; 2. Nachbar von Feld 6
    $SC_ARR_PLACES[7][0] = "SAVE"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[7][1] = 6; 1. Nachbar von Feld 7
    $SC_ARR_PLACES[7][2] = 8; 2. Nachbar von Feld 7
    $SC_ARR_PLACES[8][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[8][1] = 7; 1. Nachbar von Feld 8
    $SC_ARR_PLACES[8][2] = 9; 2. Nachbar von Feld 8
    $SC_ARR_PLACES[9][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[9][1] = 1; 1. Nachbar von Feld 9
    $SC_ARR_PLACES[9][2] = 8; 2. Nachbar von Feld 9
    $SC_ARR_PLACES[10][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[10][1] = 0; 1. Nachbar von Feld 10
    $SC_ARR_PLACES[10][2] = 11; 2. Nachbar von Feld 10
    $SC_ARR_PLACES[11][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[11][1] = 10; 1. Nachbar von Feld 11
    $SC_ARR_PLACES[11][2] = 12; 2. Nachbar von Feld 11
    $SC_ARR_PLACES[12][0] = "SAVE"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[12][1] = 11; 1. Nachbar von Feld 12
    $SC_ARR_PLACES[12][2] = 13; 2. Nachbar von Feld 12
    $SC_ARR_PLACES[13][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[13][1] = 12; 1. Nachbar von Feld 13
    $SC_ARR_PLACES[13][2] = 14; 2. Nachbar von Feld 13
    $SC_ARR_PLACES[14][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[14][1] = 2; 1. Nachbar von Feld 14
    $SC_ARR_PLACES[14][2] = 13; 2. Nachbar von Feld 14
    $SC_ARR_PLACES[15][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[15][1] = 0; 1. Nachbar von Feld 15
    $SC_ARR_PLACES[15][2] = 16; 2. Nachbar von Feld 15
    $SC_ARR_PLACES[16][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[16][1] = 17; 1. Nachbar von Feld 16
    $SC_ARR_PLACES[16][2] = 15; 2. Nachbar von Feld 16
    $SC_ARR_PLACES[17][0] = "SAVE"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[17][1] = 16; 1. Nachbar von Feld 17
    $SC_ARR_PLACES[17][2] = 18; 2. Nachbar von Feld 17
    $SC_ARR_PLACES[18][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[18][1] = 17; 1. Nachbar von Feld 18
    $SC_ARR_PLACES[18][2] = 19; 2. Nachbar von Feld 18
    $SC_ARR_PLACES[19][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[19][1] = 18; 1. Nachbar von Feld 19
    $SC_ARR_PLACES[19][2] = 3; 2. Nachbar von Feld 19
    $SC_ARR_PLACES[20][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[20][1] = 0; 1. Nachbar von Feld 20
    $SC_ARR_PLACES[20][2] = 21; 2. Nachbar von Feld 20
    $SC_ARR_PLACES[21][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[21][1] = 20; 1. Nachbar von Feld 21
    $SC_ARR_PLACES[21][2] = 22; 2. Nachbar von Feld 21
    $SC_ARR_PLACES[22][0] = "SAVE"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[22][1] = 21; 1. Nachbar von Feld 22
    $SC_ARR_PLACES[22][2] = 23; 2. Nachbar von Feld 22
    $SC_ARR_PLACES[23][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[23][1] = 22; 1. Nachbar von Feld 23
    $SC_ARR_PLACES[23][2] = 24; 2. Nachbar von Feld 23
    $SC_ARR_PLACES[24][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[24][1] = 4; 1. Nachbar von Feld 24
    $SC_ARR_PLACES[24][2] = 23; 2. Nachbar von Feld 24
    $SC_ARR_PLACES[25][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[25][1] = 4; 1. Nachbar von Feld 25
    $SC_ARR_PLACES[25][2] = 26; 2. Nachbar von Feld 25
    $SC_ARR_PLACES[26][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[26][1] = 25; 1. Nachbar von Feld 26
    $SC_ARR_PLACES[26][2] = 27; 2. Nachbar von Feld 26
    $SC_ARR_PLACES[27][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[27][1] = 26; 1. Nachbar von Feld 27
    $SC_ARR_PLACES[27][2] = 28; 2. Nachbar von Feld 27
    $SC_ARR_PLACES[28][0] = "SAVE"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[28][1] = 27; 1. Nachbar von Feld 28
    $SC_ARR_PLACES[28][2] = 29; 2. Nachbar von Feld 28
    $SC_ARR_PLACES[29][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[29][1] = 28; 1. Nachbar von Feld 29
    $SC_ARR_PLACES[29][2] = 30; 2. Nachbar von Feld 29
    $SC_ARR_PLACES[30][0] = "SAVE"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[30][1] = 29; 1. Nachbar von Feld 30
    $SC_ARR_PLACES[30][2] = 31; 2. Nachbar von Feld 30
    $SC_ARR_PLACES[31][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[31][1] = 32; 1. Nachbar von Feld 31
    $SC_ARR_PLACES[31][2] = 30; 2. Nachbar von Feld 31
    $SC_ARR_PLACES[32][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[32][1] = 33; 1. Nachbar von Feld 32
    $SC_ARR_PLACES[32][2] = 31; 2. Nachbar von Feld 32
    $SC_ARR_PLACES[33][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[33][1] = 32; 1. Nachbar von Feld 33
    $SC_ARR_PLACES[33][2] = 2; 2. Nachbar von Feld 33
    $SC_ARR_PLACES[34][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[34][1] = 35; 1. Nachbar von Feld 34
    $SC_ARR_PLACES[34][2] = 2; 2. Nachbar von Feld 34
    $SC_ARR_PLACES[35][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[35][1] = 34; 1. Nachbar von Feld 35
    $SC_ARR_PLACES[35][2] = 36; 2. Nachbar von Feld 35
    $SC_ARR_PLACES[36][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[36][1] = 35; 1. Nachbar von Feld 36
    $SC_ARR_PLACES[36][2] = 37; 2. Nachbar von Feld 36
    $SC_ARR_PLACES[37][0] = "SAVE"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[37][1] = 38; 1. Nachbar von Feld 37
    $SC_ARR_PLACES[37][2] = 36; 2. Nachbar von Feld 37
    $SC_ARR_PLACES[38][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[38][1] = 39; 1. Nachbar von Feld 38
    $SC_ARR_PLACES[38][2] = 37; 2. Nachbar von Feld 38
    $SC_ARR_PLACES[39][0] = "SAVE"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[39][1] = 38; 1. Nachbar von Feld 39
    $SC_ARR_PLACES[39][2] = 40; 2. Nachbar von Feld 39
    $SC_ARR_PLACES[40][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[40][1] = 39; 1. Nachbar von Feld 40
    $SC_ARR_PLACES[40][2] = 41; 2. Nachbar von Feld 40
    $SC_ARR_PLACES[41][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[41][1] = 42; 1. Nachbar von Feld 41
    $SC_ARR_PLACES[41][2] = 40; 2. Nachbar von Feld 41
    $SC_ARR_PLACES[42][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[42][1] = 3; 1. Nachbar von Feld 42
    $SC_ARR_PLACES[42][2] = 41; 2. Nachbar von Feld 42
    $SC_ARR_PLACES[43][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[43][1] = 3; 1. Nachbar von Feld 43
    $SC_ARR_PLACES[43][2] = 44; 2. Nachbar von Feld 43
    $SC_ARR_PLACES[44][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[44][1] = 43; 1. Nachbar von Feld 44
    $SC_ARR_PLACES[44][2] = 45; 2. Nachbar von Feld 44
    $SC_ARR_PLACES[45][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[45][1] = 46; 1. Nachbar von Feld 45
    $SC_ARR_PLACES[45][2] = 44; 2. Nachbar von Feld 45
    $SC_ARR_PLACES[46][0] = "SAVE"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[46][1] = 47; 1. Nachbar von Feld 46
    $SC_ARR_PLACES[46][2] = 45; 2. Nachbar von Feld 46
    $SC_ARR_PLACES[47][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[47][1] = 48; 1. Nachbar von Feld 47
    $SC_ARR_PLACES[47][2] = 46; 2. Nachbar von Feld 47
    $SC_ARR_PLACES[48][0] = "SAVE"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[48][1] = 49; 1. Nachbar von Feld 48
    $SC_ARR_PLACES[48][2] = 47; 2. Nachbar von Feld 48
    $SC_ARR_PLACES[49][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[49][1] = 50; 1. Nachbar von Feld 49
    $SC_ARR_PLACES[49][2] = 48; 2. Nachbar von Feld 49
    $SC_ARR_PLACES[50][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[50][1] = 51; 1. Nachbar von Feld 50
    $SC_ARR_PLACES[50][2] = 49; 2. Nachbar von Feld 50
    $SC_ARR_PLACES[51][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[51][1] = 50; 1. Nachbar von Feld 51
    $SC_ARR_PLACES[51][2] = 1; 2. Nachbar von Feld 51
    $SC_ARR_PLACES[52][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[52][1] = 1; 1. Nachbar von Feld 52
    $SC_ARR_PLACES[52][2] = 53; 2. Nachbar von Feld 52
    $SC_ARR_PLACES[53][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[53][1] = 54; 1. Nachbar von Feld 53
    $SC_ARR_PLACES[53][2] = 52; 2. Nachbar von Feld 53
    $SC_ARR_PLACES[54][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[54][1] = 55; 1. Nachbar von Feld 54
    $SC_ARR_PLACES[54][2] = 53; 2. Nachbar von Feld 54
    $SC_ARR_PLACES[55][0] = "SAVE"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[55][1] = 54; 1. Nachbar von Feld 55
    $SC_ARR_PLACES[55][2] = 56; 2. Nachbar von Feld 55
    $SC_ARR_PLACES[56][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[56][1] = 55; 1. Nachbar von Feld 56
    $SC_ARR_PLACES[56][2] = 57; 2. Nachbar von Feld 56
    $SC_ARR_PLACES[57][0] = "SAVE"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[57][1] = 58; 1. Nachbar von Feld 57
    $SC_ARR_PLACES[57][2] = 56; 2. Nachbar von Feld 57
    $SC_ARR_PLACES[58][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[58][1] = 59; 1. Nachbar von Feld 58
    $SC_ARR_PLACES[58][2] = 57; 2. Nachbar von Feld 58
    $SC_ARR_PLACES[59][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[59][1] = 58; 1. Nachbar von Feld 59
    $SC_ARR_PLACES[59][2] = 60; 2. Nachbar von Feld 59
    $SC_ARR_PLACES[60][0] = "GRASS"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[60][1] = 4; 1. Nachbar von Feld 60
    $SC_ARR_PLACES[60][2] = 59; 2. Nachbar von Feld 60
    $SC_ARR_PLACES[61][0] = "HOME2"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[61][1] = 4; 1. Nachbar von Feld 61
    $SC_ARR_PLACES[62][0] = "HOME1"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[62][1] = 2; 1. Nachbar von Feld 62
    $SC_ARR_PLACES[63][0] = "HOME2"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[63][1] = 3; 1. Nachbar von Feld 63
    $SC_ARR_PLACES[64][0] = "HOME1"; Dieser Wert ist irrelevant
    $SC_ARR_PLACES[64][1] = 1; 1. Nachbar von Feld 64
    Global $SC_ARR[65][65]
    #EndRegion Variablen

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

    $hTi = TimerInit()
    _SC_DifferenceBetweenPlaces()
    ConsoleWrite(TimerDiff($hTi) & "ms" & @CRLF)
    _ArrayDisplay($SC_ARR)

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

    Func _SC_DifferenceBetweenPlaces()
    Local $iDiff, $iToDo, $Ub
    For $i = 0 To 64
    For $e = 0 To 64
    $SC_ARR[$i][$e] = 100
    Next
    Next
    For $i = 0 To 64
    $iDiff = 0
    $iToDo = 64
    $SC_ARR[$i][$i] = $iDiff
    While $iToDo
    For $e = 0 To 64
    Switch $SC_ARR[$i][$e]
    Case $iDiff
    Switch $e
    Case 0 To 4
    $Ub = 4
    Case 4 To 60
    $Ub = 2
    Case 60 To 64
    $Ub = 1
    If $SC_ARR[$i][$SC_ARR_PLACES[$e][1]] < 100 Then ContinueLoop
    EndSwitch
    For $j = 1 To $Ub
    Switch $SC_ARR[$i][$SC_ARR_PLACES[$e][$j]]
    Case 100
    $SC_ARR[$i][$SC_ARR_PLACES[$e][$j]] = $iDiff + 1
    $iToDo -= 1
    EndSwitch
    Next
    EndSwitch
    Next
    $iDiff += 1
    WEnd
    Next
    EndFunc ;==>_SC_DifferenceBetweenPlaces

    [/autoit]

    Lg Kleiner

  • Switch - Case - EndSwitch

    • Kleiner
    • 2. Januar 2011 um 15:47

    Hi Leute!


    Ist es möglich den Fall"(Fallen)" Index einer Switch Anweisung zu rekennen oder aus geben zu lassen z.B bei übereinstimmung (True - Wahr) ?

    [autoit]

    Local $vZahl = 5

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

    Switch $vZahl
    Case 0 To 20
    MsgBox(0,0,'Hallo Welt!')
    EndSwitch

    [/autoit]

    Lg Kleiner

  • Komplexeres? schnelles durchsuchen größerer Arrays

    • Kleiner
    • 2. Januar 2011 um 00:40

    Hi!


    @ bernd670
    Danke dir.

    autoBert
    Kann ich nachvollziehen in manchen fällen kommt solch eine zeit zusammen warum auch immer die Func nicht gleich schnell ist, ist mir ein Rätsel!

    Lg Kleiner

  • Komplexeres? schnelles durchsuchen größerer Arrays

    • Kleiner
    • 1. Januar 2011 um 23:48

    Hi!


    @Großvater 

    Spoiler anzeigen
    [autoit]

    $DefaultCaseSense = "AHK" ; oder auch "AU3"

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

    $Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    $aChars = StringSplit($Chars, "", 2)
    $Len = StringLen($Chars)
    $string = @CRLF

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

    For $I = 0 To $Len - 1
    For $J = 0 To $Len - 1
    For $K = 0 To $Len - 1
    $string &= $aChars[$I] & $aChars[$J] & $aChars[$K] & @CRLF
    Next
    Next
    Next

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

    $Find = "ZAB"

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

    If $DefaultCaseSense = "AU3" Then
    $CaseSense = 0
    Else
    $CaseSense = 2
    EndIf

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

    $OuterLoop = 5
    $InnerLoop = 200
    $Dauer = 0

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

    For $C = 1 To $OuterLoop ; --------> 5x wird die äußere schleife aufgerufen
    $Start = TimerInit()
    For $I = 1 To $InnerLoop ;-----> 200x wird die innere schleife aufgerufen
    $Index = StringInStr($string, @CRLF & $Find & @CRLF, $CaseSense)
    Next
    $Dauer += TimerDiff($Start)
    Next

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

    ; Wehr dann nicht die Rechnung [ $Dauer / ($OuterLoop * $InnerLoop) ] bei mein Senilen Rechner komm ich auf 10 ms

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

    $Found = StringMid($string, $Index + 2, StringLen($Find))
    MsgBox(0, "AU3-Ergebnis:", "Dauer (" & $InnerLoop & " Durchläufe): " & Round($Dauer / ($OuterLoop * $InnerLoop)) & " ms - Treffer: " & $Found)
    Exit

    [/autoit]

    ;)

    Lg Kleiner

  • Komplexeres? schnelles durchsuchen größerer Arrays

    • Kleiner
    • 1. Januar 2011 um 23:10

    Hi!

    Habe mich ein wenig durch Wiki gelesen und habe das Thema gefunden Grover-Algorithmus.
    Dabei kam mir die Idee das zu durchsuchende Array aufzuteilen und rasugekommen ist für mich eine Vergleichbare Funktion zu Sortierten Unsortierten Array´s. ^^

    _ArraySearchQuad:

    Spoiler anzeigen
    [autoit]

    ;===================================================================================================================================#
    ;Function Name....: _ArraySearchQuad($vArray, $key)
    ;Description......: Dateien Finden
    ;$vArray..........: Array 1D
    ;$key........... : Gesuch
    ;
    ;Return Value(s)..: Fund/Not Fund
    ; @error -1 wenn kein Array oder kein Fund
    ;
    ;Author(s)........: Kleiner (http://www.autoit.de) # 01.01.2011 00:00 #
    ;====================================================================================================================================#
    Func _ArraySearchQuad(Const $vArray, Const $key)
    If IsArray($vArray) Then
    Local Const $Ub = UBound($vArray)
    Local $RD = Random(2, ($Ub - 1), 1)
    Local Const $1V = Int($Ub / 6) + 4
    Local Const $2V = Int($Ub / 3) + 6
    Local Const $3V = Int($Ub / 2) + 11
    Local Const $4V = Int($Ub - $2V) + 22
    Local Const $5V = Int(($1V / 2))
    Local Const $6V = ($4V + $5V) - 1
    Local Const $7V = ($4V + $1V) - 1
    If $vArray[0] = $key Then Return 0
    If $Ub <= 270 Then
    For $i = 0 To $Ub - 1
    If $vArray[$i] = $key Then Return $i
    Next
    Return SetError(1, 0, -1)
    EndIf
    For $i = 1 To $5V
    Switch $key
    Case $vArray[$i]
    Return $i
    Case $vArray[(($1V - 1) + $i)]
    Return (($1V - 1) + $i)
    Case $vArray[($1V - $i)]
    Return ($1V - $i)
    Case $vArray[(($2V - 1) + $i)]
    Return (($2V - 1) + $i)
    Case $vArray[($2V - $i)]
    Return ($2V - $i)
    Case $vArray[(($3V - 1) + $i)]
    Return (($3V - 1) + $i)
    Case $vArray[($3V - $i)]
    Return ($3V - $i)
    Case $vArray[(($4V - 1) + $i)]
    Return (($4V - 1) + $i)
    Case $vArray[($4V - $i)]
    Return ($4V - $i)
    Case $vArray[($6V + $i)]
    Return ($6V + $i)
    Case $vArray[($7V + $i)]
    Return ($7V + $i)
    Case $vArray[($Ub - $i)]
    Return ($Ub - $i)
    Case $vArray[$RD]
    Return ($RD)
    EndSwitch
    $RD = Random(2, ($Ub - 1), 1)
    Next
    EndIf
    Return SetError(1, 0, -1)
    EndFunc ;==>_ArraySearchQuad

    [/autoit]

    Lg Kleiner

  • Komplexeres? schnelles durchsuchen größerer Arrays

    • Kleiner
    • 31. Dezember 2010 um 09:26

    Hi!

    autoBert
    Du hast ein kleinen Schönheitsfehler!

    [autoit]

    $low = 1;

    [/autoit]


    ist nicht gut, Array 0 basierend ;)

    Ich habe in der Funktion Ceiling verwendet.

    Lg Kleiner

  • _FileReadToArray ???Fehler???

    • Kleiner
    • 25. Dezember 2010 um 23:01

    Hi!


    Leute ist mir kla, das ist mir halt aufgefallen

    Durch machne Optimierungen der UDF-Funktionen bin ich heute an _FileReadToArray hängen geblieben .


    Edit:/ Ich schlisse das Thema, auch wenn diese Funktion daruf ausgelegt ist hat sie bei der Einfachen Datei ein Fehler die manchen User nicht bewust ist.

    Lg Kleiner

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™