Öffne die Include Datei und kommentiere die Deklaration der angemeckerten Variblen bzw. Konstanten aus.
Die GuiList.au3 schmeiß ganz raus. Binde die _GuiListBox.au3 ein und passe die Funktionen bei Bedarf an.
Beiträge von BugFix
-
-
Da 'netterweise' in der aktuellen AutoIt-Version die Hilfe einfach die Keys für _IsPressed() verschweigt, hier nochmal zum Nachschlagen:
Spoiler anzeigen
Code
Alles anzeigen01 Left mouse button 02 Right mouse button 04 Middle mouse button (three-button mouse) 05 Windows 2000/XP: X1 mouse button 06 Windows 2000/XP: X2 mouse button 08 BACKSPACE key 09 TAB key 0C CLEAR key 0D ENTER key 10 SHIFT key 11 CTRL key 12 ALT key 13 PAUSE key 14 CAPS LOCK key 1B ESC key 20 SPACEBAR 21 PAGE UP key 22 PAGE DOWN key 23 END key 24 HOME key 25 LEFT ARROW key 26 UP ARROW key 27 RIGHT ARROW key 28 DOWN ARROW key 29 SELECT key 2A PRINT key 2B EXECUTE key 2C PRINT SCREEN key 2D INS key 2E DEL key 30 0 key 31 1 key 32 2 key 33 3 key 34 4 key 35 5 key 36 6 key 37 7 key 38 8 key 39 9 key 41 A key 42 B key 43 C key 44 D key 45 E key 46 F key 47 G key 48 H key 49 I key 4A J key 4B K key 4C L key 4D M key 4E N key 4F O key 50 P key 51 Q key 52 R key 53 S key 54 T key 55 U key 56 V key 57 W key 58 X key 59 Y key 5A Z key 5B Left Windows key 5C Right Windows key 60 Numeric keypad 0 key 61 Numeric keypad 1 key 62 Numeric keypad 2 key 63 Numeric keypad 3 key 64 Numeric keypad 4 key 65 Numeric keypad 5 key 66 Numeric keypad 6 key 67 Numeric keypad 7 key 68 Numeric keypad 8 key 69 Numeric keypad 9 key 6A Multiply key 6B Add key 6C Separator key 6D Subtract key 6E Decimal key 6F Divide key 70 F1 key 71 F2 key 72 F3 key 73 F4 key 74 F5 key 75 F6 key 76 F7 key 77 F8 key 78 F9 key 79 F10 key 7A F11 key 7B F12 key 7C-7F F13 key - F16 key 80H-87H F17 key - F24 key 90 NUM LOCK key 91 SCROLL LOCK key A0 Left SHIFT key A1 Right SHIFT key A2 Left CONTROL key A3 Right CONTROL key A4 Left MENU key A5 Right MENU key BA; BB = BC , BD - BE . BF / C0 ` DB [ DC \ DD ] -
Problem bei solchen Sachen: man kann selbst nicht testen.
[autoit]
Darum hier völlig aus dem Hut dieser Ansatz:#include <IE.au3>
[/autoit]
$url = 'Die_URL_des_Gerätes'
$oIE = _IECreate ($url)
$oFrame = _IEFrameGetObjByName ($oIE, "main") ; der Frame mit "virtualtransport"
$oElements = _IETagNameAllGetCollection ($oFrame) ; alle Elemente aus diesem Frame zusammenstellen
$str = ''
For $oElement In $oElements
$str &= "Tagname: " & $oElement.tagname & @CR & "innerText: " & $oElement.innerText & @LF
Next
ConsoleWrite($str & @CRLF) ; gefundene Elemente in Console ausgeben
_IEQuit($oIE)
Du mußt herausfinden welche Tags in dem gesuchten Frame für dich notwendig sind, sollten 'Input' sein.
Wenn du den Namen weißt kannst du sie auch ansprechen. -
Greenhorn:
Deine Lösung funktioniert zwar, aber es ist wenig vorteilhaft für evtl. ..zig Einträge einzeln die ID zu speichern und das dann auch noch einzeln in einer Case-Struktur auszuwerten.
Hier empfiehlt sich immer ein Array.sam ghost:
Da du das alles für ein Tray-Menü machen möchtest, habe ich das Muster mal umgestellt. Die GUI da drin kannst du dir natürlich schenken, war nur zu faul sie rauszunehmen :D.
Die Suchfunktion aus meinem vorigen Post bzw. Signatur.Spoiler anzeigen
[autoit]#include <guiconstants.au3>
[/autoit] [autoit][/autoit] [autoit]
Opt("GUIOnEventMode", 1)
Opt("TrayOnEventMode", 1)
Opt("TrayAutoPause", 0)
Opt("TrayMenuMode",1)Dim $my_array[8][2] ;[0]-ID , [1]-Titel
[/autoit] [autoit][/autoit] [autoit]For $i = 0 To UBound($my_array) -1
[/autoit] [autoit][/autoit] [autoit]
$my_array[$I][1] = 'Item ' & $I+1 ; Traymenü - Itemeinträge festlegen
Next$GUI = GUICreate('test')
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, '_End')
$menue_punkte=TrayCreateMenu('Test-Menü')
GUISetState()FOR $I=0 TO 7 ; Traymenü - Itemeinträge erstellen, ID speichern
[/autoit] [autoit][/autoit] [autoit]
$my_array[$I][0] = TrayCreateItem ($my_array[$I][1],$menue_punkte)
TrayItemSetOnEvent (-1, 'machwas')
NEXTWhile 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc _End()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncfunc machwas()
[/autoit]
$found = _Array2DSearch($my_array, @TRAY_ID, 0, 0, 0, 1, False, True)
If $found[0] <> -1 Then
$found = StringSplit($found[0], '|')
msgbox(0,'info',$my_array[$found[1]][1]) ; gibt geklickten Tray-Eintrag zurück
EndIf
endfunc -
Mit der Control-ID ist der richtige Weg.
Dazu brauchst du dann noch meine _Array2DSearch-Funktion (Signatur).Hier alles komplett:
Spoiler anzeigen
[autoit]#include <guiconstants.au3>
[/autoit] [autoit][/autoit] [autoit]
Opt("GUIOnEventMode", 1)
Dim $my_array[8][2] ;[0]-ID , [1]-Titel
For $i = 0 To UBound($my_array) -1
$my_array[$I][1] = 'Item ' & $I+1
Next
GUICreate('test')
GUISetOnEvent($GUI_EVENT_CLOSE, '_End')
$menue_punkte=GUICtrlCreateContextMenu()
GUISetState()FOR $I=0 TO 7
[/autoit] [autoit][/autoit] [autoit]
$my_array[$I][0] = GUICtrlCreateMenuitem ($my_array[$I][1],$menue_punkte)
GUICtrlSetOnEvent (-1,'machwas')
NEXTWhile 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc _End()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncfunc machwas()
[/autoit] [autoit][/autoit] [autoit]
$found = _Array2DSearch($my_array, @GUI_CtrlId, 0, 0, 0, 1, False, True)
If $found[0] <> -1 Then
$found = StringSplit($found[0], '|')
msgbox(0,'info',$my_array[$found[1]][1])
EndIf
endfunc;----------------------------------------------------------------------------------------------------------------------
[/autoit]
;
; Function _Array2DSearch(ByRef $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(ByRef $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 -
Das ist genau das, was ich in meinem Bsp. gezeigt habe.
Nur habe ich einfach Werte erfunden.
Grundprinzip ist ein Array das an Array[0] das Handle des Items führt und an Array[1] die Bezeichnung des Items.
Bei der Erstellung des Items mußt du das dabei zurückgegebene Handle an das Array übergeben und dafür das Event erstellen.Siehe mein Bsp. oben, ist ausführbar und funktioniert.
Edit: Ahh, jetzt versteh ich, was du meinst. Du möchtest nur eine Funktion verwenden und den Itemnamen als Parameter übergeben.
Das geht leider so nicht. MIt GUIControlSetOnEvent() kannst du keine parameterhaltigen Funktionen erstellen.
Mal sehen, vielleicht fällt mir noch was ein. -
Hab nicht ganz verstanden, was du willst. Aber du brauchst ein Handle für die Items um sie anzusprechen. Also nimm sie mit in das Array auf.
Hier ein Muster:Spoiler anzeigen
[autoit]#include <guiconstants.au3>
[/autoit] [autoit][/autoit] [autoit]
Opt("GUIOnEventMode", 1)
Dim $my_array[8][2] ;[0]-ID , [1]-Titel
For $i = 0 To UBound($my_array) -1
$my_array[$I][1] = 'Item ' & $I+1
Next
GUICreate('test')
GUISetOnEvent($GUI_EVENT_CLOSE, '_End')
$menue_punkte=GUICtrlCreateContextMenu()
GUISetState()FOR $I=0 TO 7
[/autoit] [autoit][/autoit] [autoit]
$my_array[$I][0] = GUICtrlCreateMenuitem ($my_array[$I][1],$menue_punkte)
GUICtrlSetOnEvent (-1,'machwas'& $I)
NEXTWhile 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc _End()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncfunc machwas0()
[/autoit]
msgbox(0,'info', 0)
endfunc
func machwas1()
msgbox(0,'info', 1)
endfunc
func machwas2()
msgbox(0,'info', 2)
endfunc
func machwas3()
msgbox(0,'info', 3)
endfunc
func machwas4()
msgbox(0,'info', 4)
endfunc
func machwas5()
msgbox(0,'info', 5)
endfunc
func machwas6()
msgbox(0,'info', 6)
endfunc
func machwas7()
msgbox(0,'info', 7)
endfunc -
Hyperlink habe ich, hänge sie an.
-
OK, hiermit funzt es:
[autoit]$str = 11.165154
[/autoit]
$str = StringSplit($str, '.')
MsgBox(0, 'Formatierte Ausgabe', StringRight('00' & $str[1] & StringLeft($str[2], 2), 5))Erklärung:
- splitten in Teilstrings am Komma
- vom Nachkommateil werden die linken 2 Zeichen genommen
- neuer String wird gebildet aus 2 Vornullen & Vorkommastring & gekürztem Nachkommastring
- von diesem String werden die rechten 5 Zeichen verwendet
Somit kann der Vorkommateil variabel zwischen 0 und 999 sein. -
Hier mal ein simples Beispiel. Sollte alle Fragen klären.
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
$gui1 = GUICreate('GUI 1', 500, 300, -1, -1)
$button1 = GUICtrlCreateButton('Aufruf GUI 2', 20, 20, 100, 21)$gui2 = GUICreate('GUI 2', 500, 300, -1, -1)
[/autoit] [autoit][/autoit] [autoit]
$button2 = GUICtrlCreateButton('Zurück zu GUI 1', 20, 20, 100, 21)GUISetState(@SW_SHOW, $gui1)
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit]
$msg = GUIGetMsg(1)
Switch $msg[1] ; window-handle
Case $gui1
Switch $msg[0] ; event/control-handle
Case $button1
GUISetState(@SW_HIDE, $gui1)
GUISetState(@SW_SHOW, $gui2)
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
Case $gui2
Switch $msg[0]
Case $button2
GUISetState(@SW_SHOW, $gui1)
GUISetState(@SW_HIDE, $gui2)
Case $GUI_EVENT_CLOSE
GUISetState(@SW_SHOW, $gui1)
GUISetState(@SW_HIDE, $gui2)
EndSwitch
EndSwitch
WEnd -
Du kannst es noch etwas "schrumpfen":
[autoit]$tmp = 'FFFFFFFF'
[/autoit]
$tmp = StringSplit($tmp,'')
MsgBox(0, 'IP', Dec($tmp[1]&$tmp[2]) & '.' & Dec($tmp[3]&$tmp[4]) & '.' & Dec($tmp[5]&$tmp[6]) & '.' & Dec($tmp[7]&$tmp[8])) -
Als Tastenkombination ist es sinnlos, da nicht ausführbar

Du kannst sowas nur innerhalb einer Anwendung verwenden, aber im Allgemeinen wird durch das erste STRG ein Prozeß ausgelöst und den mußt du abwarten bevor das 2.te mal STRG gedrückt wird. Wenn das nicht sichtbar ist, setz einfach ein Sleep(1000) dazwischen. Reicht vielleicht schon. -
Sorry, aber 2-mal STRG drücken - das ist sinnlos.
Falls du das nutzt um irgendeinen Ablauf zu automatisieren mußt du ein Ereignis einfügen, dass dir sagt; jetzt kann das 2. mal Steuerung gedrückt werden. Ansonsten geht der Befehl ins Leere. -
Deine Zahl wird aber ohne Punkt dargestellt, oder?
[autoit]$str = '1328'
[/autoit]
MsgBox(0, 'Formatierte Ausgabe', StringFormat('$str = %05i', StringLeft($str, 3)))Edit:
[autoit]
Falls der Punkt ein Komma sein sollte gehts so:$str = 1.328
[/autoit]
MsgBox(0, 'Formatierte Ausgabe', StringFormat('$str = %05i', StringLeft($str*1000, 3))) -
Wenn du schon mit GUIGetMsg arbeitest (hierfür wirklich nicht empfehlenswert, würde im OnEvent-Mode arbeiten), dann benötigst du bei mehreren GUI natürlich neben der ID des Controls auch die ID der GUI. Dazu gibt es den Advanced-Mode: GUIGetMsg (1).
Da bekommst du als Return ein Array mit allen erforderlichen Werten - steht ganz ausführlich in der Hilfe. -
Hi Tweaky,
ich hab nochmal etwas getestet.
Also wenn du einzelne Items andersfarbig darstellen möchtest, darfst du viele der neuen ListView-Funktionen nicht in deinem Skript haben.
- um den Text eines Items zu färben brauchst du ein Handle dafür
- _GUICtrlListView_AddItem() gibt kein Handle, sondern den Index zurück ==> fällt somit raus
- um ein Handle zu erhalten mußt du das Item mit GUICtrlCreateListViewItem() erstellen, dann kannst du es normal mit GUICtrlSetColor() färben
- um aber Items mit GUICtrlCreateListViewItem() zu erzeugen, darf das ListView NICHT mit _GUICtrlListView_Create() erstellt werdenErgo: Die neue Funktionalität (Icons, Checkboxes etc.) kann unter diesen Umständen nicht genutzt werden. Ich weiß nicht ob man sich hier über die neuen Funktionen freuen oder den Verlust der alten bedauern soll.
Bei mir überwiegt derzeit das Bedauern.Hier dein Bsp. so angepaßt, dass es wieder funzt:
Spoiler anzeigen
[autoit]#include <GuiConstantsEx.au3>
[/autoit]
#include <GuiListView.au3>
#include <GuiImageList.au3>
Opt('MustDeclareVars', 1)
$Debug_LV = False ; Check ClassName being passed to ListView functions, set to True and use a handle to another control to see it work
Global $hListView, $test, $farbe
Local $GUI, $hImage , $arItems[3]
$GUI = GUICreate("(External) ListView Create", 400, 300)
;~ $hListView = _GUICtrlListView_Create ($GUI, "", 2, 2, 394, 268, BitOR($LVS_SHOWSELALWAYS, $LVS_REPORT))
$hListView = GUICtrlCreateListView('', 2, 2,394, 268, BitOR($LVS_SHOWSELALWAYS, $LVS_REPORT))
_GUICtrlListView_SetExtendedListViewStyle ($hListView, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES))
GUISetState()
; Add columns
_GUICtrlListView_InsertColumn ($hListView, 0, "Column 1", 100)
_GUICtrlListView_InsertColumn ($hListView, 1, "Column 2", 100)
; Add items
;###### NICHT "_GUICtrlListView_AddItem" verwenden, dann hast du kein Handle für die Items !! ########
$arItems[0] = GUICtrlCreateListViewItem ("1", $hListView)
$arItems[1] = GUICtrlCreateListViewItem ("2", $hListView)
$arItems[2] = GUICtrlCreateListViewItem ("3", $hListView)
For $i = 0 to 2
$test = _GUICtrlListView_GetItemText($hListView, $i, 0)
If $test = 2 Then
MsgBox(0,$i, "färben")
;~ $farbe = _GUICtrlListView_SetTextColor($arItems[$i], 0xFFA500)
GUICtrlSetColor($arItems[$i], 0xFFA500)
;~ MsgBox(0,$i, $farbe)
EndIf
Next
; Loop until user exits
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete() -
Da bin ich heut extra gefahren wie ein Teufel, um noch rechtzeitig vor Mitternacht wieder zu Hause zu sein und dir gratulieren zu können.
Also Pee: Alles Gute, Viel Erfolg (und Spaß) beim Studium und alles, was sonst noch wünschenswert ist.

-
Wie man sieht, hat dein Bruder allen Grund so zu handeln.

-
Ja, das idiotische ist, dass die Funktionsnamen nur einen Unterstrich dazu bekommen haben. Es also keine völlig neuen Funktionen sind.
Statt: _GUICtrlListViewGetItemText JETZT _GUICtrlListView_GetItemText
Und statt _GUICtrlListViewDeleteAllItems($ListView1) JETZT
_GUICtrlListView_DeleteAllItems("Farbe|Name|HEX-Code|R/G/B") - Hier darf NICHT mehr die ID verwendet werden sondern es muß das Control mit Titel angesprochen werden (omfg). -
Folgende Fehler:
- du deklarierst "OnEvent-Mode", arbeitest aber in Event UND GUIGetMsg -Mode
- Variablennamen sind mehrfach vergeben
- Events sind nicht korrekt zugeordnetBring da erst mal Ordnung rein.