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

Beiträge von BugFix

  • Array 2-stufig sortieren

    • BugFix
    • 1. Juli 2007 um 18:04

    Die Funktion ist ja nicht dazu gedacht eine bestimmte Spalte zu sortieren (das kann _ArraySort() von Haus aus) sondern mehrstufig zu sortieren.
    Also entweder von links (Index 0) oder rechts (Index Ubound(ar,2)-1) beginnend.
    Um Fehleingaben abzufangen, wird jeder Wert <> 0 als: 'sortiere von rechts nach links' interpretiert.
    So auch die Parametererklärung:

    Zitat

    ; optional $DIM_1ST: MainSortIndex; 1st Dim. [0] or last occurence in 2nd Dim.[all other values] (default 0)

  • 2D-Array bestimmte Zeilen löschen

    • BugFix
    • 1. Juli 2007 um 11:50

    Ist doch schon erledigt ;)

    siehe: _Array2DDelete

  • Programme unsichtbar ausführen

    • BugFix
    • 1. Juli 2007 um 02:42

    Da kommt bei Bedarf das Arbeitsverzeichnis rein. Steht aber auch schön in der Hilfe drin.
    Kein Bock zum Lesen? ;)

  • _Array2DDelete

    • BugFix
    • 1. Juli 2007 um 02:31

    Da vorhin die Frage im Forum zu einer solchen Funktion war, hier ist sie:

    _Array2DDelete(ByRef $ARRAY, $iDEL)

    Löscht aus einem 1D/2D -Array eine Zeile an der vorgegebenen Indexposition.

    Spoiler anzeigen
    [autoit]

    ;----------------------------------------------------------------------------------------------------------------------
    ; Fuction _Array2DDelete(ByRef $ARRAY, $iDEL)
    ;
    ; Description Delete one row on a given index in an 1D/2D -Array
    ;
    ; Parameter $ARRAY the array, where one row will deleted
    ; $iDEL Row-Index to delete
    ;
    ; Return Succes -1 ByRef $ARRAY
    ; Failure 0 set @error = 1; given array are not array
    ; set @error = 2; index is out of range
    ;
    ; Author BugFix ([email='bugfix@autoit.de'][/email])
    ;----------------------------------------------------------------------------------------------------------------------
    Func _Array2DDelete(ByRef $ARRAY, $iDEL)
    If ( Not IsArray($ARRAY) ) Then
    SetError(1)
    Return 0
    EndIf
    If ( $iDEL < 0 ) Or ( $iDEL > UBound($ARRAY)-1 ) Then
    SetError(2)
    Return 0
    EndIf
    Local $UBound2nd = UBound($ARRAY,2)
    If @error = 2 Then
    Local $arTmp[UBound($ARRAY)-1]
    $k = 0
    For $i = 0 To UBound($ARRAY)-1
    If $i <> $iDEL Then
    $arTmp[$k] = $ARRAY[$i]
    $k += 1
    EndIf
    Next
    Else
    Local $arTmp[UBound($ARRAY)-1][$UBound2nd]
    $k = 0
    For $i = 0 To UBound($ARRAY)-1
    If $i <> $iDEL Then
    For $l = 0 To $UBound2nd-1
    $arTmp[$k][$l] = $ARRAY[$i][$l]
    Next
    $k += 1
    EndIf
    Next
    EndIf
    $ARRAY = $arTmp
    Return -1
    EndFunc

    [/autoit]

    Dateien

    _Array2DDelete.au3 1,35 kB – 372 Downloads
  • _Array2DJoin

    • BugFix
    • 1. Juli 2007 um 01:34

    Kurz und knapp:

    _Array2DJoin(ByRef $ARRAY, $ARR2JOIN)

    fügt den Inhalt des als $ARR2JOIN übergebenen Arrays zum $ARRAY hinzu.

    - 1D können mit 2D -Arrays gemischt werden
    - 2D -Arrays können unterschiedlich große 2.te Dimensionen haben

    Spoiler anzeigen
    [autoit]

    ;----------------------------------------------------------------------------------------------------------------------
    ; Fuction _Array2DJoin(ByRef $ARRAY, $AR2JOIN)
    ;
    ; Description Join 2 Arrays, 1D/2D can be mixed
    ;
    ; Parameter $ARRAY 1st array, will be joined with 2nd
    ; $AR2JOIN 2nd array
    ;
    ; Return Succes -1 ByRef $ARRAY
    ; Failure 0 set @error = 1; given array(s) are not array
    ;
    ; Author BugFix ([email='bugfix@autoit.de'][/email])
    ;----------------------------------------------------------------------------------------------------------------------
    Func _Array2DJoin(ByRef $ARRAY, $AR2JOIN)
    If ( Not IsArray($ARRAY) ) Or ( Not IsArray($AR2JOIN) ) Then
    SetError(1)
    Return 0
    EndIf
    Local $UB2ndAR = UBound($ARRAY,2)
    If @error = 2 Then $UB2ndAR = 0
    Local $UB2nd2JOIN = UBound($AR2JOIN,2)
    If @error = 2 Then $UB2nd2JOIN = 0
    Select
    Case $UB2ndAR = 0 And $UB2nd2JOIN = 0
    For $i = 0 To UBound($AR2JOIN)-1
    ReDim $ARRAY[UBound($ARRAY)+1]
    $ARRAY[UBound($ARRAY)-1] = $AR2JOIN[$i]
    Next
    Return -1
    Case $UB2ndAR > 0 And $UB2nd2JOIN = 0
    Local $arTmp = $AR2JOIN
    ReDim $AR2JOIN[UBound($AR2JOIN)][$UB2ndAR]
    For $i = 0 To UBound($arTmp)-1
    $AR2JOIN[$i][0] = $arTmp[$i]
    Next
    Case $UB2ndAR = 0 And $UB2nd2JOIN > 0
    Local $arTmp = $ARRAY
    ReDim $ARRAY[UBound($ARRAY)][$UB2nd2JOIN]
    For $i = 0 To UBound($arTmp)-1
    $ARRAY[$i][0] = $arTmp[$i]
    Next
    Case $UB2ndAR > 0 And $UB2nd2JOIN > 0
    Select
    Case $UB2ndAR < $UB2nd2JOIN
    ReDim $ARRAY[UBound($ARRAY)][$UB2nd2JOIN]
    Case $UB2ndAR > $UB2nd2JOIN
    ReDim $AR2JOIN[UBound($AR2JOIN)][$UB2ndAR]
    EndSelect
    EndSelect
    For $i = 0 To UBound($AR2JOIN)-1
    ReDim $ARRAY[UBound($ARRAY)+1][UBound($ARRAY,2)]
    For $k = 0 To UBound($AR2JOIN,2)-1
    $ARRAY[UBound($ARRAY)-1][$k] = $AR2JOIN[$i][$k]
    Next
    Next
    Return -1
    EndFunc

    [/autoit]

    Dateien

    _Array2DJoin.au3 1,89 kB – 367 Downloads
  • 2D-Array bestimmte Zeilen löschen

    • BugFix
    • 1. Juli 2007 um 01:25

    Wie soll die Funktion aussehen?
    - Angabe ZeilenIndex und diese Zeile aus dem Array löschen?

  • ArrayMore.au3

    • BugFix
    • 30. Juni 2007 um 22:06

    Hier mal 2 Beispiele, wie du 1D und 2D-Arrays zusammenfügen kannst.

    Spoiler anzeigen
    [autoit]

    #include <array.au3>
    ; Für 1D-Arrays
    Dim $ar1[6]=[0,1,2,3,4,5]
    Dim $ar2[6]=[10,11,12,13,14,15]
    _ArrayDisplay($ar1, "$ar1")
    _ArrayDisplay($ar2, "$ar2")

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

    ; Array 2 an Array 1 anhängen:
    For $i = 0 To UBound($ar2)-1
    _ArrayAdd($ar1, $ar2[$i])
    Next
    _ArrayDisplay($ar1, "$ar1 + $ar2")

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

    ; Für 2D-Arrays (Vorkommen in 2.ter Dimension muß bei beiden Arrays identisch sein!)
    Dim $ar1[6][3]
    For $i = 0 To UBound($ar1)-1
    For $k = 0 To UBound($ar1,2)-1
    $ar1[$i][$k] = 'I' & $i & '-' & $k
    Next
    Next

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

    Dim $ar2[8][3]
    For $i = 0 To UBound($ar2)-1
    For $k = 0 To UBound($ar2,2)-1
    $ar2[$i][$k] = 'II' & $i & '-' & $k
    Next
    Next
    _ArrayDisplay($ar1, "$ar1")
    _ArrayDisplay($ar2, "$ar2")

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

    ; Array 2 an Array 1 anhängen:
    For $i = 0 To UBound($ar2)-1
    ReDim $ar1[UBound($ar1)+1][3]
    For $k = 0 To UBound($ar2,2)-1
    $ar1[UBound($ar1)-1][$k] = $ar2[$i][$k]
    Next
    Next
    _ArrayDisplay($ar1, "$ar1 + $ar2")

    [/autoit]

    ...und ja, ich habs gelesen. Ich werde die Funktion noch mit hinzufügen. Kommt beim nächsten Edit. Da werde ich noch einige Funktionen komplettieren, dass sie auch für 2D-Arrays mit beliebiger Größe funktionieren.

  • Autoklicker

    • BugFix
    • 30. Juni 2007 um 21:15

    Warum es nicht klappt ? - Die Antwort gibt dir die Hilfe zu HotKeySet( )

    Zitat

    ...Es gilt das selbe Format wie bei Send().

    Also schau mal nach. ;)

  • ArrayMore.au3

    • BugFix
    • 30. Juni 2007 um 21:09
    Zitat

    Wenn du mal Zeit und Lust hast großes Grinsen kannst du als Array-Gott mal schauen, ob du folgendes schaffst:
    Filelisttoarray mit mehreren Dateitypen (az. B. jpg und avi)

    Das würdest sogar du schaffen ;) . Also wenn ich das richtig verstehe, möchtest du mehrere WildCards gleichzeitig anwenden.
    - Liste mit Wildcards übergeben
    - FileListToArray für jedes Element ausführen
    - Arrays zusammenfügen

    Willst du mal probieren ? Wenn nicht mach ich es, kein Problem.

  • _Array2DSearch

    • BugFix
    • 27. Juni 2007 um 17:45

    Wieso hatte ich eigentlich das noch nicht gemacht? :D

    Nun gut, hier also die Suchfunktion für 1D/2D-Arrays.
    - Es werden alle Vorkommen eines Suchbegriffs gesucht.
    - Rückgabe des FundIndex in einem Array, bei 2D: [IndexZeile | IndexSpalte]
    - Array[0] enthält die Anzahl der Treffer
    - wird nichts gefunden ist Array[0] = 0
    - Suche im ganzen Array oder von StartIndex bis EndIndex
    - Suche in allen Spalten oder nur in SpaltenIndex
    - Suche case sensitive möglich
    - Teilstringsuche möglich
    - Alle numerischen Parameter können mit -1 auf Standard gesetzt werden
    Edit:
    - zusätzlicher Parameter $1stFound, durchsucht Array nur bis zum ersten Treffer

    (Ich hatte noch die Variante: case sensitive + Teilsuche vergessen. Jetzt ists aber komplett.)

    EDIT:
    Um es nochmal deutlich zu machen - im Gegensatz zur bekannten Funktion _ArraySearch() für 1D wird nicht auf das erste Vorkommen des Suchbegriffs überprüft und dieser dann zurückgegeben, sondern es wird nach allen Vorkommen im Array gesucht und dann der PositionsIndex der Fundstelle(n) zurückgegeben.
    Bei sehr großen 2D Arrays bringt das zwar etwas Geschwindigkeitseinbuße, aber mit der qualitativ besseren Suche wird das m.E. wettgemacht.

    Hier zum Probieren:
    Nicht wundern bei der Ausgabe - ArrayDisplay macht aus '|' ein '~'

    Spoiler anzeigen
    [autoit]

    #include <array.au3>
    Dim $ar[6]=['otto','Paul','Manfred','Fred','Annafred','Pauline']
    Dim $ar2[6][3]
    $ar2[0][0] = 'Otto'
    $ar2[0][1] = 'Fred'
    $ar2[0][2] = 'Peter'

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

    $ar2[1][0] = 'Peter'
    $ar2[1][1] = 'Paul'
    $ar2[1][2] = 'Fred'

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

    $ar2[2][0] = 'Peter'
    $ar2[2][1] = 'Fred'
    $ar2[2][2] = 'Anna'

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

    $ar2[3][0] = 'Annalene'
    $ar2[3][1] = 'Manfred'
    $ar2[3][2] = 'Pauline'

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

    $ar2[4][0] = 'Marianna'
    $ar2[4][1] = 'Otto'
    $ar2[4][2] = 'Annafred'

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

    $ar2[5][0] = 'Ottone'
    $ar2[5][1] = 'Marie'
    $ar2[5][2] = 'Klaus'

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

    _ArrayDisplay($ar, "Suchbegriff: fred")
    _ArrayDisplay(_Array2DSearch($ar, 'fred',-1,0,0,0,True), "1D - Teilsuche / kein CaseSense")
    _ArrayDisplay($ar2, "Suchbegriff: fred")
    _ArrayDisplay(_Array2DSearch($ar2, 'fred',-1,0,0,0,True), "2D - Teilsuche / kein CaseSense")

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

    ;----------------------------------------------------------------------------------------------------------------------
    ;
    ; Function _Array2DSearch($avArray, $vWhat2Find [, $iDim=-1 [, $iStart=0 [, $iEnd=0 [, $iCaseSense=0 [, $fPartialSearch=False [, $1stFound=False]]]]]])
    ;
    ; Description Finds all Entry's like $vWhat2Find in an 1D/2D Array
    ; Works with all occurences in 2nd Dimension
    ; Search in all occurences or only in a given column
    ; To set numeric values for default, you can use -1
    ;
    ; Parameter $avArray The array to search
    ; $vWhat2Find What to search $avArray for
    ; optional $iDim Index of Dimension to search; default -1 (all)
    ; optional $iStart Start array index for search; default 0
    ; optional $iEnd End array index for search; default 0
    ; optional $iCaseSense If set to 1 then search is case sensitive; default 0
    ; optional $fPartialSearch If set to True then executes a partial search. default False
    ; optional $1stFound If set to True, only one match will be searched; default False
    ;
    ; Return Succes Array with Index of matches, Array[0] includes the count of matches
    ; In an 2D Array you got for every match [iRow|iCol]
    ; Array[0] = 0 if no element found
    ; If option 1stFound is set, Array[0] = FoundIndex; if no element found Array[0] = -1
    ; Failure 0 and set @error
    ; @error = 1 given array is not array
    ; @error = 2 given dim is out of range
    ; @error = 4 $iStart is out of range
    ; @error = 8 $iEnd is out of range
    ;
    ; Author BugFix ([email='bugfix@autoit.de'][/email])
    ;----------------------------------------------------------------------------------------------------------------------
    Func _Array2DSearch($avArray, $vWhat2Find, $iDim=-1, $iStart=0, $iEnd=0, $iCaseSense=0, $fPartialSearch=False, $1stFound=False)
    Local $error = 0, $1D, $arFound[1]=[0]
    If $1stFound Then $arFound[0] = -1
    If ( Not IsArray($avArray) ) Then
    SetError(1)
    Return 0
    EndIf
    Local $UBound2nd = UBound($avArray,2)
    If @error = 2 Then $1D = True
    If ( $iEnd = 0 ) Or ( $iEnd = -1 ) Then $iEnd = UBound($avArray)-1
    If $iStart = -1 Then $iStart = 0
    If $iCaseSense = -1 Then $iCaseSense = 0
    If $iCaseSense <> 0 Then $iCaseSense = 1
    Select
    Case ( $iDim > $UBound2nd ) Or ( $iDim < -1 )
    $error += 2
    Case ( $iStart < 0 ) Or ( $iStart > UBound($avArray)-1 )
    $error += 4
    Case ( $iEnd < $iStart ) Or ( $iEnd > UBound($avArray)-1 )
    $error += 8
    EndSelect
    If $error <> 0 Then
    SetError($error)
    Return 0
    EndIf
    If $fPartialSearch <> True Then $fPartialSearch = False
    If $1D Then
    For $i = $iStart To $iEnd
    Select
    Case $iCaseSense = 0 And (Not $fPartialSearch)
    If $avArray[$i] = $vWhat2Find Then
    If $1stFound Then
    $arFound[0] = $i
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i
    $arFound[0] += 1
    EndIf
    EndIf
    Case $iCaseSense = 1 And (Not $fPartialSearch)
    If $avArray[$i] == $vWhat2Find Then
    If $1stFound Then
    $arFound[0] = $i
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i
    $arFound[0] += 1
    EndIf
    EndIf
    Case $iCaseSense = 0 And $fPartialSearch
    If StringInStr($avArray[$i], $vWhat2Find) Then
    If $1stFound Then
    $arFound[0] = $i
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i
    $arFound[0] += 1
    EndIf
    EndIf
    Case $iCaseSense = 1 And $fPartialSearch
    If StringInStr($avArray[$i], $vWhat2Find, 1) Then
    If $1stFound Then
    $arFound[0] = $i
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i
    $arFound[0] += 1
    EndIf
    EndIf
    EndSelect
    Next
    Else
    For $i = $iStart To $iEnd
    If $iDim = -1 Then
    Select
    Case $iCaseSense = 0 And (Not $fPartialSearch)
    For $k = 0 To $UBound2nd-1
    If $avArray[$i][$k] = $vWhat2Find Then
    If $1stFound Then
    $arFound[0] = $i & '|' & $k
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i & '|' & $k
    $arFound[0] += 1
    EndIf
    EndIf
    Next
    Case $iCaseSense = 1 And (Not $fPartialSearch)
    For $k = 0 To $UBound2nd-1
    If $avArray[$i][$k] == $vWhat2Find Then
    If $1stFound Then
    $arFound[0] = $i & '|' & $k
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i & '|' & $k
    $arFound[0] += 1
    EndIf
    EndIf
    Next
    Case $iCaseSense = 0 And $fPartialSearch
    For $k = 0 To $UBound2nd-1
    If StringInStr($avArray[$i][$k], $vWhat2Find) Then
    If $1stFound Then
    $arFound[0] = $i & '|' & $k
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i & '|' & $k
    $arFound[0] += 1
    EndIf
    EndIf
    Next
    Case $iCaseSense = 1 And $fPartialSearch
    For $k = 0 To $UBound2nd-1
    If StringInStr($avArray[$i][$k], $vWhat2Find, 1) Then
    If $1stFound Then
    $arFound[0] = $i & '|' & $k
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i & '|' & $k
    $arFound[0] += 1
    EndIf
    EndIf
    Next
    EndSelect
    Else
    Select
    Case $iCaseSense = 0 And (Not $fPartialSearch)
    If $avArray[$i][$iDim] = $vWhat2Find Then
    If $1stFound Then
    $arFound[0] = $i & '|' & $iDim
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i & '|' & $iDim
    $arFound[0] += 1
    EndIf
    EndIf
    Case $iCaseSense = 1 And (Not $fPartialSearch)
    If $avArray[$i][$iDim] == $vWhat2Find Then
    If $1stFound Then
    $arFound[0] = $i & '|' & $iDim
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i & '|' & $iDim
    $arFound[0] += 1
    EndIf
    EndIf
    Case $iCaseSense = 0 And $fPartialSearch
    If StringInStr($avArray[$i][$iDim], $vWhat2Find) Then
    If $1stFound Then
    $arFound[0] = $i & '|' & $iDim
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i & '|' & $iDim
    $arFound[0] += 1
    EndIf
    EndIf
    Case $iCaseSense = 1 And $fPartialSearch
    If StringInStr($avArray[$i][$iDim], $vWhat2Find, 1) Then
    If $1stFound Then
    $arFound[0] = $i & '|' & $iDim
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i & '|' & $iDim
    $arFound[0] += 1
    EndIf
    EndIf
    EndSelect
    EndIf
    Next
    EndIf
    Return $arFound
    EndFunc ;==>_Array2DSearch

    [/autoit]

    Dateien

    _Array2DSearch.au3 7,27 kB – 461 Downloads
  • Taschenrechner

    • BugFix
    • 27. Juni 2007 um 15:49

    Wonach hast du ihn denn gefragt? :P

    -7^ (Potenz hat Priorität vor Minussymbol) oder
    -7 zum Quadrat (quadriere die Zahl: -7) ?

    Genau da liegt nämlich der Unterschied.

    Geiler Thread, endlich streitet man sich mal um wirklich wichtige Themen.
    Kein Gedanke an Vogelgrippe und polensäugende Kanzlerin. :rofl:

  • SUB und ControlID

    • BugFix
    • 27. Juni 2007 um 14:50

    OK, war nicht ideal ;)
    Sollte so besser klappen:

    Edit: dann können wir noch eine Variable sparen

    Spoiler anzeigen
    [autoit]

    While $msg <> $GUI_EVENT_CLOSE
    $msg = GUIGetMsg()
    Select
    Case $msg = $btnAUS
    exit
    Case $msg = $btnAN
    SUB()
    $begin = TimerInit()
    EndSelect
    If TimerDiff($begin) > 5000 Then; alle 5 Sekunden
    SUB()
    $begin = TimerInit()
    EndIf
    Wend

    [/autoit]
  • Einträge vom ListView nach dem erstellen einzeln einfärben

    • BugFix
    • 27. Juni 2007 um 14:40

    Klick den Button "bCol Item2", dann siehst du's

  • Einträge vom ListView nach dem erstellen einzeln einfärben

    • BugFix
    • 27. Juni 2007 um 14:35

    Guckst du hier Bsp.:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    GUICreate("listview items",220,250, 100,200,-1,$WS_EX_ACCEPTFILES)
    GUISetBkColor (0x00E0FFFF)

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

    $listview = GUICtrlCreateListView ("col1 |col2|col3 ", 10, 10, 200, 150)
    GUICtrlSetColor(-1, 0x0000A0)
    GUICtrlSetBkColor(-1, 0xBBCCEE)
    $button = GUICtrlCreateButton ("bCol Item2", 75, 170, 70, 20)
    $item1=GUICtrlCreateListViewItem("item1|col12|col13", $listview)
    ;GUICtrlSetColor(-1, 0x007000)
    GUICtrlSetBkColor(-1, 0xEE9999)
    $item2=GUICtrlCreateListViewItem("item3|col22|col23", $listview)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetColor(-1, 0xC00000)
    GUICtrlSetBkColor(-1, 0xCCEECC)
    $item3=GUICtrlCreateListViewItem("item3|col32|col33", $listview)
    GUICtrlSetColor(-1, 0x007000)
    GUICtrlSetBkColor(-1, 0xEE9999)
    $item4=GUICtrlCreateListViewItem("item4|col42|col43", $listview)
    GUICtrlSetColor(-1, 0xC00000)
    GUICtrlSetBkColor(-1, 0xCCEECC)

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

    GUISetState()

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

    Do
    $msg = GUIGetMsg ()

    Select
    Case $msg = $button
    ;~ MsgBox(0, "listview item", GUICtrlRead(GUICtrlRead($listview)), 2)
    GUICtrlSetBkColor($item2, 0x00008B)
    Case $msg = $listview
    MsgBox(0, "listview", "clicked=" & GUICtrlGetState($listview), 2)
    EndSelect
    Until $msg = $GUI_EVENT_CLOSE

    [/autoit]
  • Taschenrechner

    • BugFix
    • 27. Juni 2007 um 14:26

    Das führt jetzt zu Grundsatzdiskussionen. Vielleicht sollten wir dafür einen eigenen Thread aufmachen. :D
    Du mußt zwischen der Aufgabe ( -7 zum Quadrat ) und der Schreibweise ( -7^ ) differenzieren. Das kann dein Matheprof nicht, weil er viel zu sehr in seiner wissenschaftlichen Betrachtungsweise hängt. :rofl:

    Ich hab auch schon mal mit 'ner ähnlichen Geschichte meinen Mathelehrer geärgert:
    Wieviel ist 3½ ?
    Mein Lehrer wollte auf 3,5.
    Ist trivial richtig, mathematisch exakt ist aber 1,5. ==> Ganze Zahl vor Bruch bedeutet Multiplikation: ;)

    In diesem Sinne können wir also hier noch wochenlang weiter machen. :P

  • SUB und ControlID

    • BugFix
    • 27. Juni 2007 um 12:05
    [autoit]

    $started = 0
    While $msg <> $GUI_EVENT_CLOSE
    $msg = GUIGetMsg()
    Select
    Case $msg = $btnAUS
    exit
    Case $msg = $btnAN
    SUB()
    $started = 1
    EndSelect
    If $started = 1 Then SUB()
    Wend

    [/autoit]
  • Taschenrechner

    • BugFix
    • 27. Juni 2007 um 00:20

    Da kann ich mir eine Bemerkung nicht verkneifen:

    Nur ware Schrott-Taschenrechner lassen die Eingabe eines Rechen-Minus ohne vorhergehende Zifferneingabe zu.
    Ich habe noch 'nen Taschenrechner aus meinen letzten Schultagen (so 1980). Und selbst der verweigert ein Rechen-Minus, wenn ich nicht vorher eine Ziffer eintippe.

  • Taschenrechner

    • BugFix
    • 26. Juni 2007 um 22:40
    Zitat

    -7^2 ist -7*7

    GtaSpider, ich bin erschüttert. Sag mal gehst du nicht aufs Gymnasium..... :D

    Also, hätte nie gedacht dass man solche Selbstverständlichkeiten erläutern muß.
    Was bedeutet Quadrat ? - Ich multipliziere eine Zahl mit sich selbst!
    Im Fall: -7^ wird also -7 mit sich selbst (wieder -7) multipliziert.
    Ergo: heißt -7^= -7 * -7
    Regel: minus mal minus gleich plus
    daraus folgt: -7^= -7 * -7 = 49

    quod erat demonstrandum :rock: :rock: :rock:

  • Taschenrechner

    • BugFix
    • 26. Juni 2007 um 22:10

    Cooles Thema :D

    -(7^2) = -49

    Das bedeutet aber: -1 mal 7 zum Quadrat
    Und das wäre wirklich: -49

    Aber -7 zum Quadrat ist und bleibt +49 :D :D :D

  • Half-Life Server Qry Script

    • BugFix
    • 26. Juni 2007 um 01:38

    Hi,
    ich hab dir mal ein Skript zum Aufbröseln der Servernachricht erstellt:

    Spoiler anzeigen
    [autoit]

    #include <array.au3>
    Dim $str = '_tutor_look_angle.._tutor_look_distance.200._tutor_message_character_display_tim' & _
    'e_coefficient.0.07._tutor_message_minimum_display_time.1._tutor_message_repeats.' & _
    '5._tutor_view_distance.1000.'
    Dim $arNum[10] = ['0','1','2','3','4','5','6','7','8','9'], $strOut = '', $arOut

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

    $str = StringStripWS(StringReplace($str, '.', ' '),3)
    $arChars = StringSplit($str, '')
    If IsArray($arChars) Then
    For $i = 1 To $arChars[0]
    If ( $arChars[$i] = ' ' ) Then
    If ( _ArraySearch($arNum, $arChars[$i-1]) <> -1 ) Then ; Zeichen davor eine Ziffer ?
    If ( _ArraySearch($arNum, $arChars[$i+1]) <> -1 ) Then _; Zeichen danach eine Ziffer ?
    $arChars[$i] = '.'
    EndIf
    EndIf
    $strOut &= $arChars[$i]
    Next
    ;~ ConsoleWrite($strOut)
    EndIf
    $arOut = StringSplit($strOut, ' _', 1)
    For $i = 1 To $arOut[0]
    If StringLeft($arOut[$i], 1) <> '_' Then $arOut[$i] = '_' & $arOut[$i]
    Next
    _ArrayDisplay($arOut)

    [/autoit]

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™