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

Beiträge von teh_hahn

  • RegExp Frage bezüglich Zeichen

    • teh_hahn
    • 15. Februar 2008 um 20:06

    Hi,

    kurze Frage:
    Ich möchte im folgenden "^°!'das.cmd|" aus dem String entfernen, weiß aber nicht, wie ich angeben kann das ALLE Zeichen entfernt werden sollen!

    [autoit]

    Local $s_r = "abriss.exe|^°!'das.cmd|meister.txt|"
    MsgBox(64, "", StringRegExpReplace($s_r, "(?i)[[:alnum:]]+.(cmd)\|", ""))

    [/autoit]
  • Schlanke und schnelle Überprüfung eines Wertes

    • teh_hahn
    • 14. Februar 2008 um 21:59

    Ok, danke für die Hinweise, auf die Sache mit dem Array bin ich auch schon von alleine gekommen. Denke aber mal, dass das wohl insgesamt langsamer sein dürfte. (in diesem Beispiel natürlich relativ egal!):

    [autoit]

    Local $ai_ok[20] = [1, 2, 9, 10, 17, 18, 25, 26, 33, 34, 41, 42, 65, 66, 72, 74, 129, 130, 137, 138]
    Local $i_err = 1
    For $i = 0 To 19
    If $ai_ok[$i] = $I_MODE Then
    $i_err = 0
    ExitLoop
    EndIf
    Next
    If $i_err Then Return SetError(6, 0, 0)

    [/autoit]


    ergibt 248 Bytes Code - Zweiter!

    Oscars Ansatz fand ich sehr interessant, er war jedoch unsauber umgesetzt, da ja z.B. die 3 auch in 132 vorkommt. Ich habe daraus mal folgendes gebaut:

    [autoit]

    If Not StringInStr("|1|2|9|10|17|18|25|26|33|34|41|42|65|66|72|74|129|130|137|138|", "|" & $I_MODE & "|") Then Return SetError(6, 0, 0)

    [/autoit]


    ergibt 135 Bytes Code - Erster!

    Mein erstes Beispiel:

    [autoit]

    If $I_MODE <> 1 And $I_MODE <> 2 And $I_MODE <> 9 And $I_MODE <> 10 And $I_MODE <> 17 And $I_MODE <> 18 And $I_MODE <> 25 And $I_MODE <> 26 And _ $I_MODE <> 33 And $I_MODE <> 34 And $I_MODE <> 41 And $I_MODE <> 42 And $I_MODE <> 65 And $I_MODE <> 66 And $I_MODE <> 72 And _ $I_MODE <> 74 And $I_MODE <> 129 And $I_MODE <> 130 And $I_MODE <> 137 And $I_MODE <> 138 Then Return SetError(6, 0, 0)

    [/autoit]


    ergibt 399 Bytes Code - Dritter!

    Würde man nun noch die Variable auf ein Zeichen kürzen, wären das 299 Bytes Code. Nennt es Haarspalterei, aber zum Test hab ich es mal durch eine große Anzahl von Durchläufen mit einem Timer geschickt:

    Spoiler anzeigen
    [autoit]

    ;===============================================================================
    ; Function Name.....: _ArrayAverage
    ; Description.......: Returns the average of all values held in an array.
    ; Version...........: 1.0.1
    ; Change Date.......: 2008-02-05
    ; AutoIt Version....: 3.2.10.0
    ;
    ; Parameter(s)......: $AV_ARRAY - The array to scan.
    ; $I_START - [optional] Integer specifying the array index to start with (default = 0).
    ; $i_end - [optional] Integer specifying the array index to end with (default = 0, for the upper bound of the array).
    ; Requirements(s)...: None
    ; Return Value(s)...: Success: Returns a numeric value containing the average of all values held in the array.
    ; Failure: Returns 0 and sets @error to:
    ; 1 = $I_START is higher than $i_end.
    ; 2 = $I_START exceeds the upper bound of the array.
    ; 3 = $i_end index exceeds the upper bound of the array.
    ; 4 = $AV_ARRAY has more than one dimension.
    ; 5 = $AV_ARRAY is not an array.
    ;
    ; Author(s).........: teh_hahn <[email='sPiTsHiT@gmx.de'][/email]>
    ; Company...........: None
    ; URL...............: None
    ; Note(s)...........: None
    ;===============================================================================
    Func _ArrayAverage(ByRef Const $av_array, Const $I_START = 0, $i_end = 0)
    Local Const $I_SIZE = (UBound($av_array) - 1)
    If @error Then Return (SetError(5, 0, 0))

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

    If UBound($av_array, 0) > 1 Then Return (SetError(4, 0, 0))

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

    If $i_end > $I_SIZE Then Return (SetError(3, 0, 0))
    If Not $i_end Then $i_end = $I_SIZE

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

    If $I_START > $I_SIZE Then Return (SetError(2, 0, 0))
    If $I_START > $i_end Then Return (SetError(1, 0, 0))

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

    Local $n_ave = 0
    For $i = $I_START To $i_end
    $n_ave += $av_array[$i]
    Next

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

    Return ($n_ave / $i)
    EndFunc ;==>_ArrayAverage

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

    main()

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

    Func main()
    Local Const $i_end = 15000
    Local Const $I_MODE = 1

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

    Local $n_timer = 0, $an_time0[($i_end + 1)], $an_time1[($i_end + 1)], $an_time2[($i_end + 1)]
    For $j = 1 To $i_end
    $n_timer = TimerInit()
    If $I_MODE <> 1 And $I_MODE <> 2 And $I_MODE <> 9 And $I_MODE <> 10 And $I_MODE <> 17 And $I_MODE <> 18 And $I_MODE <> 25 And $I_MODE <> 26 And _
    $I_MODE <> 33 And $I_MODE <> 34 And $I_MODE <> 41 And $I_MODE <> 42 And $I_MODE <> 65 And $I_MODE <> 66 And $I_MODE <> 72 And _
    $I_MODE <> 74 And $I_MODE <> 129 And $I_MODE <> 130 And $I_MODE <> 137 And $I_MODE <> 138 Then Return SetError(6, 0, 0)
    $an_time0[$j] = TimerDiff($n_timer) * 1000

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

    $n_timer = TimerInit()
    Local $ai_ok[20] = [1, 2, 9, 10, 17, 18, 25, 26, 33, 34, 41, 42, 65, 66, 72, 74, 129, 130, 137, 138]
    Local $i_err = 1
    For $i = 0 To 19
    If $ai_ok[$i] = $I_MODE Then
    $i_err = 0
    ExitLoop
    EndIf
    Next
    If $i_err Then Return SetError(6, 0, 0)
    $an_time1[$j] = TimerDiff($n_timer) * 1000
    $i_err = 1

    $n_timer = TimerInit()
    If Not StringInStr("|1|2|9|10|17|18|25|26|33|34|41|42|65|66|72|74|129|130|137|138|", "|" & $I_MODE & "|") Then Return SetError(6, 0, 0)
    $an_time2[$j] = TimerDiff($n_timer) * 1000
    Next

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

    Exit MsgBox(64, "Debug", "Or-Mode: " & _ArrayAverage($an_time0) & @CR & "Array-Mode: " & _ArrayAverage($an_time1) & @CR & "String-Mode: " & _ArrayAverage($an_time2))
    EndFunc ;==>main

    [/autoit]

    Beim Versuch mit 1 (erster Treffer)
    1. Or-Methode (ca. 11ms)
    2. String-Methode (ca. 13ms)
    3. Array-Methode (ca. 36ms)

    Beim Versuch mit 138 (letzter Treffer)
    1. String-Methode (ca. 19ms)
    2. Or-Methode (ca. 29ms)
    3. Array-Methode (ca. 100ms)

    Bin von der String-Methode stark begeistert! Wenig Code, aber im Schnitt am schnellsten. Mal wieder was dazu gelernt!
    Mir fällt grade auf, wie krank das ist, für sowas überhaupt Zeit zu investieren, aber nun gut!

    Vielen Dank für alle Vorschläge!

  • Schlanke und schnelle Überprüfung eines Wertes

    • teh_hahn
    • 14. Februar 2008 um 20:40

    Hi,

    habe mal wieder eine eher kosmetische Frage (ich bin ja immer darauf erpicht, Code so schlank wie möglich und dabei effizient zu halten):
    WIe bekomme ich folgende Überprüfung eleganter hin (wenn es überhaupt eine Möglichkeit gibt)?

    [autoit]

    Local Const $I_MODE = 131
    If $I_MODE <> 1 And $I_MODE <> 2 And $I_MODE <> 9 And $I_MODE <> 10 And $I_MODE <> 17 And $I_MODE <> 18 And $I_MODE <> 25 And $I_MODE <> 26 And _
    $I_MODE <> 33 And $I_MODE <> 34 And $I_MODE <> 41 And $I_MODE <> 42 And $I_MODE <> 65 And $I_MODE <> 66 And $I_MODE <> 72 And _
    $I_MODE <> 74 And $I_MODE <> 129 And $I_MODE <> 130 And $I_MODE <> 137 And $I_MODE <> 138 Then Return SetError(5, 0, 0)

    [/autoit]

    Schon mal danke im voraus!

    PS: Ich habe letztens mal in den Foreneinstellungen rumgespielt und mein Design auf das Standard BB3 geändert. Nun wollte ich wieder zum AutoIt-Design zurück, muss aber feststellen, dass bei jeder neuen Anmeldung wieder das Standard BB3 Design ausgewählt wird. Kann das bitte jemand fixen? (Falls bereits geschehen bitte ignorieren!)

  • FileFindFirstFile Wildcards

    • teh_hahn
    • 11. Februar 2008 um 17:38

    Das ergibt sehr wohl Sinn. Die Wildcard bedeutet, das eine Datei (Datei im Sinne von Verzeichnis/Datei) 0 bis n Zeichen vor der Extension und 1 bis n Zeichen als Extension hat (womit die Ordner raus fallen, da diese ja keine Extension haben). Funktioniert bei der Windows Suche ja auch, bloß hier wurde das anscheinend nicht implementiert. Deswegen hätte ich gerne gewusst, ob es eine andere Möglichkeit (über Wildcards) gibt mittels FileFindFirst NUR Dateien zu suchen...

    Oh, grade noch mal probiert. Ich hab natürlich einen Denkfehler drin. Selsbt wenn das gehen würde, wäre es unzuverlässig, da Ordner mit einem Punkt im Dateinamen durch *.*? auch gefunden werden.
    Also bleibt wohl nur die Möglichkeit über die Attribute zu gehen...

  • FileFindFirstFile Wildcards

    • teh_hahn
    • 11. Februar 2008 um 16:59

    lol. Dachte das wäre relativ klar:

    [autoit]

    #NoTrayIcon
    Local Const $AS_WILDC[3] = ["*", "*.", "*.*?"]
    Local $h_search = -1, $s_file = ""

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

    For $i = 0 To 2
    $h_search = FileFindFirstFile("C:\WINDOWS\system32\" & $AS_WILDC[$i])
    If Not @error Then
    ConsoleWrite("Searching with: " & $AS_WILDC[$i] & @CR)
    While 1
    $s_file = FileFindNextFile($H_SEARCH)
    If @error Then ExitLoop
    ConsoleWrite($s_file & @CR)
    WEnd
    ConsoleWrite(@CR & @CR & @CR)
    EndIf
    Next

    [/autoit]


    Der letzte Durchlauf ist der Knackpunkt!

  • FileFindFirstFile Wildcards

    • teh_hahn
    • 11. Februar 2008 um 15:13

    Hi,

    mir fiel eben grade mal auf, dass man mit FileFindFirstFile ja gar nicht NUR nach Dateien (also keine Ordner) suchen kann. Die Wildcard "*.*?", die bei der Windows-Suche funktioniert hat hier die gleiche Wirkung wie "*.*" oder einfach nur "*". Gibt es dort eine Möglichkeit, oder muss ich jedesmal anhand des Dateiattributs filtern (ist ja eindeutig langsamer!)?

  • regstry problem

    • teh_hahn
    • 10. Februar 2008 um 21:29
    [autoit]

    Run('regedit /s "regfile.reg"')

    [/autoit]
  • Verzeichnisstruktur in Array einlesen

    • teh_hahn
    • 8. Februar 2008 um 09:23

    Hi,

    hab mich mal dran versucht, ich hab aber wohl einen logischen Fehler drin, vielleicht könnt Ihr ja helfen. Bei dieser Version soll er das Array jeweils nur ReDimmen, wenn ein Verzeichnis erkannt wird und anhand der Anzahl von Dateien im Verzeichnis die Größe neu setzen:

    Spoiler anzeigen
    [autoit]

    Local $n_timer = TimerInit()
    Local $v_ret = _FileListToArrayRecursive($S_PATH, $as_files)
    _ArrayDisplay($as_files, "Runtime: " & Round((TimerDiff($n_timer) / 1000), 4) & " seconds")
    _DebugFunc($v_ret, "_FileListToArrayRecursive")

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

    Func _FileListToArrayRecursive($S_PATH, ByRef $as_files)
    If Not FileExists($S_PATH) Then Return (0)
    If StringRight($S_PATH, 1) = "\" Then $S_PATH = StringTrimRight($S_PATH, 1)
    Local $i = 0, $h_search = -1, $s_file = "", $s_fpath = "", $i_count = 0, $av_dirsize = 0

    If Not IsArray($as_files) Then
    $av_dirsize = DirGetSize($S_PATH, 3)
    If IsArray($av_dirsize) Then
    Dim $as_files[($av_dirsize[1] + 1)] = [0]
    EndIf
    EndIf

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

    $i = $as_files[0]
    $h_search = FileFindFirstFile($S_PATH & "\*")
    While 1
    $s_file = FileFindNextFile($h_search)
    If @error Then ExitLoop

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

    $s_fpath = $S_PATH & "\" & $s_file
    If StringInStr(FileGetAttrib($s_fpath), "D") Then
    $av_dirsize = DirGetSize($s_fpath, 3)
    If IsArray($av_dirsize) Then
    If $av_dirsize[1] Then
    $i_count = ($as_files[0] + $av_dirsize[1])
    MsgBox(0, "$s_fpath", "Index 0: " & $as_files[0] & @CR & "Files: " & $av_dirsize[1] & @CR & "Total: " & $i_count)
    $as_files[0] = $i_count
    ReDim $as_files[$i_count]
    EndIf
    ;~ _FileListToArrayRecursive($s_fpath, $as_files)
    EndIf
    Else
    $i += 1
    $as_files[0] = $i
    $as_files[$i] = $s_fpath
    ConsoleWrite($i & " = " & $s_fpath & @CR)
    EndIf
    WEnd

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

    FileClose($h_search)
    Return (1)
    EndFunc ;==>_FileListToArrayRecursive

    [/autoit]

    Problem ist, dass irgendwan der Index-0 des Arrays kleiner wird! Ich seh den Fehler grade nicht!

  • Zahlen auslesen und addieren

    • teh_hahn
    • 7. Februar 2008 um 17:47

    lol! Wozu den sowas sinn freies? Wenn Du den Zahlen noch wiederum andere Werte zuweisen möchtest, so mach dies doch über eine INI-Datei (Stichwort: INIRead)! Wobei ich nicht verstehe, wozu das Ganze überhaupt gut ist.

  • Verzeichnisstruktur in Array einlesen

    • teh_hahn
    • 7. Februar 2008 um 15:13

    Hi, hab das Ganze hier nicht komplett mit verfolgt, wollte mich aber auch mal dran versuchen:

    Mein Ziel: Dateien rekursiv listen ohne externe Hilfsmittel (Objekte, UDFs etc.)

    Folgendes ist dabei heraus gekommen:

    Spoiler anzeigen
    [autoit]

    #include "Array.au3"

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

    main()

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

    Func OnAutoItStart()
    #NoTrayIcon
    Opt("MustDeclareVars", 1)
    EndFunc ;==>OnAutoItStart

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

    Func main()
    Local $as_files = 0
    Local $n_timer = TimerInit()
    _FileListToArrayRecursive("C:\WINNT\system32", $as_files)
    MsgBox(64, "_FileScan", Round(TimerDiff($n_timer) / 1000, 4) & ' seconds / ' & $as_files[0] & " files")
    _ArrayDisplay($as_files)
    EndFunc

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

    ;===============================================================================
    ; Function Name.....: _FileListToArrayRecursive
    ; Description.......: Lists all files of a specified path recursively.
    ; Version...........: 1.0
    ; Change Date.......: 2008-02-07
    ; AutoIt Version....: 3.2.10.0
    ;
    ; Parameter(s)......: $s_path - String containing the path.
    ; $as_files - Array containing the file paths.
    ; Requirements(s)...: None
    ; Return Value(s)...: Success: Returns 1
    ; Failure: Returns 0 if the path does not exist.
    ;
    ; Author(s).........: teh_hahn
    ; Company...........: None
    ; URL...............: None
    ; Note(s)...........: None
    ;===============================================================================
    Func _FileListToArrayRecursive($S_PATH, ByRef $as_files)
    If Not FileExists($S_PATH) Then Return (0)
    If StringRight($S_PATH, 1) = "\" Then $S_PATH = StringTrimRight($S_PATH, 1)
    If Not IsArray($as_files) Then Dim $as_files[1] = [0]
    Local $i = 0, $h_search = -1, $s_file = "", $s_fpath = ""

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

    $h_search = FileFindFirstFile($S_PATH & "\*")
    While 1
    $s_file = FileFindNextFile($h_search)
    If @error Then ExitLoop

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

    $s_fpath = $S_PATH & "\" & $s_file
    If StringInStr(FileGetAttrib($s_fpath), "D") Then
    _FileListToArrayRecursive($s_fpath, $as_files)
    Else
    $i = ($as_files[0] + 1)
    ReDim $as_files[$i + 1]
    $as_files[0] = $i
    $as_files[$i] = $s_fpath
    $i += 1
    EndIf
    WEnd

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

    FileClose($h_search)
    Return (1)
    EndFunc ;==>_FileListToArrayRecursive

    [/autoit]

    Vorteile:
    - Schlanker Code
    - Keine globalen Variablen
    - Keine Code-Redundanzen
    - Keine externen Hilfsmittel

    Nachteile:
    - Geschwindigkeit :( </sPiTsHiT@gmx.de></Array.au3>

    Also, wie kann man speziell diese Funktion (ohne die Vorteile zu verlieren!) verbessern? Bin gespannt!!!
    <Array.au3><sPiTsHiT@gmx.de>
    AspirinJunkie: Echt krass, wie schnell das mit Listen geht!!!

  • GUICtrlSetData... in einer funktion gehts teilweise nicht...

    • teh_hahn
    • 28. Januar 2008 um 13:06

    LOL! Natürlich gibt der Fehler aus! Bei Deinem Code fehlt 1. das wichtigste und 2. sind Variablen überhaupt nicht deklariert, 3. ist die For-Schleife relativ sinnfrei, so wie Du sie einsetzt.
    Poste bitte immer soviel Code, dass man Dein (Teil)problem nachvollziehen kann!

  • ListView aufsteigend/absteigend sortieren

    • teh_hahn
    • 23. Januar 2008 um 08:05

    Hi,

    war bloß zu verplant. Läuft wie gehabt, man darf bloß die Variable für die Sortierung einmalig setzen:

    Spoiler anzeigen
    [autoit]

    Global $f_descending = False
    ...
    Dim $f_descending[_GUICtrlListView_GetColumnCount ($h_proclview)]
    ...
    Func OnEventLViewSort()
    _GUICtrlListView_SimpleSort($h_proclview, $f_descending, GUICtrlGetState($h_proclview))
    EndFunc ;==>OnEventLViewSort

    [/autoit]

    Naja...

  • ListView aufsteigend/absteigend sortieren

    • teh_hahn
    • 22. Januar 2008 um 11:01

    Hi,
    ich wollte mal wieder ListViews sortieren und bin dabei über die neuen ListView-Funktionen gestolpert. Gibt es noch eine weitere (einfachere) Möglichkeit als folgende ListViews zu sortieren?

    Spoiler anzeigen
    [autoit]

    Global $as_lviewsort[2]
    Func OnEventLViewSort()
    Local $v_sort = False
    Local $i_col = GUICtrlGetState($h_proclview)
    If $as_lviewsort[$i_col] = 'Ascending' Then
    $as_lviewsort[$i_col] = 'Decending'
    $v_sort = False
    Else $as_lviewsort[$i_col] = 'Ascending'
    $v_sort = True
    EndIf
    _GUICtrlListView_SimpleSort($h_proclview, $v_sort, $i_col)
    EndFunc ;==>OnEventLViewSort

    [/autoit]

    MFG

  • TCP Probleme

    • teh_hahn
    • 17. Januar 2008 um 22:21

    Hi,

    Der Server (TCPListen) muss natürlich auf eine lokale IP Adresse hören, nehmen wir mal an, dass er nur eine Netzwerkkarte hat, dann kannst Du da einfach @IPAdress1 einsetzen.

    Beim Client sieht es anders aus. Da ich davon ausgehe, dass Du das Ding über das Internet betreiben möchtest, musst Du entweder die externe IP Deines Kumpels herausfinden oder er teilt sie Dir mit. Da der Code dann aber nutzlos ist (da der ISP beim Reconnect immer eine dynamische IP aus seinem Address-Pool vergibt) sollte sich Dein Kumpel sich bei einen dynamischen DNS-Dienst wie DynDNS.org anmelden, woraufhin man dann mittels seines Routers oder einer kleinen Software auf dem eigenen Rechner die externe IP durch Abgleich mittels z.B. heino.dyndns.org ansprechen kann.

    Dann musst Du noch darauf achten, dass Dein Port (20202) bei beiden Routern auf die korrekte lokale IP Adresse Eurer Rechner mittels Portforwarding erreichbar gemacht wird. Hab aber keine Ahnung, wie das bei einer FritzBOX geht. (Müsste auch dort NAT - Network Address Translation) heißen!

  • Welches Programm für bzw. gegen Spyware

    • teh_hahn
    • 11. Januar 2008 um 09:46

    Also ich verwende als VirenScanner Avira AntiVir in der Freeware-Version. Desweiteren habe ich PeerGuradian 2 am laufen (zum Blocken von IPs auf Blacklists) und surfe mit der neuesten Firefox-Version mit integriertem AdBlock Plus PlugIn + Filterset.G Updater.

    Desweiteren achte ich darauf, dass mein Windows (und Software) mittels Microsoft Update immer auf dem neuesten Stand ist (Hotfixes etc.)

    Software-Firewall habe ich keine, mir reicht die von meinem Hardware Router!

    So was wie SpyBot S&D, Stinger und HijackThis braucht man eigentlich nur, wenn man glaubt das System sei von Spy-/Adware befallen. Dazu kann ich dir noch AdAware empfehlen, das es auch als Freeware-Version gibt. Aber ich stimme Bugfix zu, Prävention ist die beste Sicherheit!

  • INIRead Default?

    • teh_hahn
    • 11. Januar 2008 um 09:40

    Versteh ich auch nicht ganz! Wenn kein Port in der INI steht sollte er doch eigentlich defaultmäßig Port 21 verwenden, oder nicht? Also doch folgendes:

    [autoit]

    $i_port = Int(IniRead("config.ini", "Network", "Port", 21))

    [/autoit]


    Verstehe nicht ganz, was Du vor hast!

  • Problem nach Autoit-Update

    • teh_hahn
    • 11. Januar 2008 um 09:34

    Hi,
    steht doch da.

    [autoit]

    _GUICtrlListView_DeleteItem

    [/autoit]

    gilt nur für die UDF-Funktionen, heißt für ListViews, die mit der

    [autoit]

    _GUICtrlListView_Create

    [/autoit]

    erzeugt wurden. Für die BuildIn-Funktion soll man

    [autoit]

    GUICtrlDelete

    [/autoit]

    verwenden!

  • Ereígnisausführung bei Tabwechsel

    • teh_hahn
    • 3. Dezember 2007 um 14:04

    Hi, schau Dir mal folgendes an:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <GUItab.au3>

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

    #NoTrayIcon

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

    main()

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

    Func main()
    Local $h_tab = 0, $h_inp = 0

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

    GUICreate("TabChange GUI", 320, 240)
    $h_tab = GUICtrlCreateTab(0, 0, 300, 220)
    GUICtrlCreateTabItem("Form")
    $h_inp = GUICtrlCreateInput("", 20, 40, 100, 20)
    GUICtrlCreateTabItem("Check")
    GUICtrlCreateTabItem("")

    GUISetState()

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    GUIDelete()
    Exit
    Case $h_tab
    If _GUICtrlTab_GetCurSel($h_tab) Then
    If GUICtrlRead($h_inp) = "" Then MsgBox(16, "WARNING", "Fill out all fields!")
    EndIf
    EndSwitch
    WEnd
    EndFunc ;==>main

    [/autoit]
  • Welchen Musikstil bevorzugt ihr?

    • teh_hahn
    • 28. November 2007 um 17:51

    Hi,

    ich höre überwiegend Post-Hardcore (Thursday, Underaoth, Saosin, Funeral For A Friend usw.), (Melodic) Hardcore Punk (Rise Against, Comeback Kid, Walls of Jerico usw.) und Sachen, die man heute teilweise als "emo" bezeichnet ("emo" ist in meinen Augen ein Modewort für Poser (und wer hält es für geil, den ganzen Tag rumzuheulen und Klischeebildern zu entsprechen?!) Es gibt keine Musikrichtung "Emo", auch wenn viele Plattenfirmen ihre Bands als solche verkaufen (ist alles eine Mischmenge aus Hardcore, Pop und teilweise Dance/Trance). Was in diese Richtung geht und ich höre ist Silverstein, Senses Fail, The Used, Enter Shikari usw.) Ab und zu geb ich mir auch Metalcore (Killswitch Engage, Atreyu, Haste The Day usw.)

    Wobei ich keine fünf Minuten in einem Raum bleiben kann ist Hip-Hop / Rap (jedem das Seine!)

    PS: My Chemical Romance ist in meinen Augen Alternative Rock.

  • Contest: uIT! #1 (24.11.2007)

    • teh_hahn
    • 28. November 2007 um 17:38

    Hi,

    habe länger nicht mehr ins Forum geschaut und sehe das hier grade. Hab auch mal schnell was geproggt. Aufgabenstellung wird eingehalten, unter dem Abfangen von Fehlern verstehe ich, dass keine Exceptions seitens AutoIt auftreten. Hoffe es ist nicht zu spät, aber noch steht hier ja kein Feedback!

    Skriptgröße / -zeichen : 273
    Zeilen: 16
    Keine Includes, keine GUI, alles Built-In Funktionen.

    Kleine Anmerkung: Das mit den Includes scheint nicht ganz klar zu sein, ich würde sagen, dass Skript muss immer allein lauffähig sein, dass heißt benötigte Funktionen müssen sich im Skript befinden, nichts mit #include etc...

    Dateien

    teh_hahn.zip 793 Byte – 294 Downloads

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™