Hallo,
ich brauch mal wieder die Profis...
Es sollen Checkboxen, Namen und Bilder gemacht werden.(alles in einer Zeile)
Die Checkboxen und Namen sind ok!
Wird das ganze mit einem Bild erweitert,
dann stimmt StringSplit nicht mehr, es werden zusätzliche Checkboxen gemacht!
Alles in einer Reihe OK!
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 800, 443, 192, 124)
$btnCheckbox = GUICtrlCreateButton("Checkbox", 504, 400, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
Global $Wahl,$reihenAnzahl,$spaltenNr,$arPic
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $btnCheckbox
_Namen()
EndSwitch
WEnd
Func _Namen()
Dim $Links = 25
Dim $oben = 30
Dim $Zwischen = 50
Dim $Zeilen = 4
Dim $Abstand = 300
Dim $Namebreite = 100
Dim $Namehoehe = 10
;Diese Fassung ist OK!
$Wahl &= "c1 Name1|"
$Wahl &= "d2 Name2|"
$Wahl &= "e3 Name3|"
$Wahl &= "n4 Name4|"
;Diese Fassung ist falsch, das Bild soll in die gleiche Reihe!
[/autoit] [autoit][/autoit] [autoit];~ $Wahl &= "c1 Name1|Bild1.jpg|"
;~ $Wahl &= "d2 Name2|Bild2.jpg|"
;~ $Wahl &= "e3 Name3|Bild3.jpg|"
;~ $Wahl &= "n4 Name4|Bild4.jpg|"
$WahlSplit = StringSplit($Wahl, "|")
Global $Checkbox[$WahlSplit[0]]
Global $CheckboxName[$WahlSplit[0]]
Global $arProgress[$WahlSplit[0]]
For $i = 0 To $WahlSplit[0]-2
If $i > 2 Then
If Mod($i - 1, $reihenAnzahl) = 0 Then $spaltenNr += 1
EndIf
$chkName = StringTrimLeft($WahlSplit[$i +1 ], 3)
$Checkbox[$i+1] = GUICtrlCreateCheckbox($chkName, $Links + Int($i / $Zeilen) * $Abstand, $oben + Mod($i, $Zeilen) * $Zwischen, $Namebreite, $Namehoehe)
$arProgress[$i+1] = GUICtrlCreateProgress($Links + 100 + Int($i / $Zeilen) * $Abstand, $Oben + Mod($i, $Zeilen) * $Zwischen, $Namebreite, $Namehoehe)
;Msgbox(0,"",$WahlSplit[2])
$arPic = GUICtrlCreatePic($WahlSplit[$i+1],$Links + 100 + Int($i / $Zeilen) * $Abstand, $Oben + Mod($i, $Zeilen) * $Zwischen, $Namebreite, $Namehoehe)
GUICtrlSetFont($Checkbox[$i], 10, 500, 0, "Arial")
[/autoit] [autoit][/autoit] [autoit]Next
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit]Mit weiterer Spalte ist das ganze falsch
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 800, 443, 192, 124)
$btnCheckbox = GUICtrlCreateButton("Checkbox", 504, 400, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
Global $Wahl,$reihenAnzahl,$spaltenNr,$arPic
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $btnCheckbox
_Namen()
EndSwitch
WEnd
Func _Namen()
Dim $Links = 25
Dim $oben = 30
Dim $Zwischen = 50
Dim $Zeilen = 4
Dim $Abstand = 300
Dim $Namebreite = 100
Dim $Namehoehe = 10
;Diese Fassung ist OK!
;~ $Wahl &= "c1 Name1|"
;~ $Wahl &= "d2 Name2|"
;~ $Wahl &= "e3 Name3|"
;~ $Wahl &= "n4 Name4|"
;Diese Fassung ist falsch, das Bild soll in die gleiche Reihe!
[/autoit] [autoit][/autoit] [autoit]$Wahl &= "c1 Name1|Bild1.jpg|"
$Wahl &= "d2 Name2|Bild2.jpg|"
$Wahl &= "e3 Name3|Bild3.jpg|"
$Wahl &= "n4 Name4|Bild4.jpg|"
$WahlSplit = StringSplit($Wahl, "|")
Global $Checkbox[$WahlSplit[0]]
Global $CheckboxName[$WahlSplit[0]]
Global $arProgress[$WahlSplit[0]]
For $i = 0 To $WahlSplit[0]-2
If $i > 2 Then
If Mod($i - 1, $reihenAnzahl) = 0 Then $spaltenNr += 1
EndIf
$chkName = StringTrimLeft($WahlSplit[$i +1 ], 3)
$Checkbox[$i+1] = GUICtrlCreateCheckbox($chkName, $Links + Int($i / $Zeilen) * $Abstand, $oben + Mod($i, $Zeilen) * $Zwischen, $Namebreite, $Namehoehe)
$arProgress[$i+1] = GUICtrlCreateProgress($Links + 100 + Int($i / $Zeilen) * $Abstand, $Oben + Mod($i, $Zeilen) * $Zwischen, $Namebreite, $Namehoehe)
;Msgbox(0,"",$WahlSplit[2])
$arPic = GUICtrlCreatePic($WahlSplit[$i+1],$Links + 100 + Int($i / $Zeilen) * $Abstand, $Oben + Mod($i, $Zeilen) * $Zwischen, $Namebreite, $Namehoehe)
GUICtrlSetFont($Checkbox[$i], 10, 500, 0, "Arial")
[/autoit] [autoit][/autoit] [autoit]Next
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit]Komme einfach nicht weiter
Liebe Grüße
Ilse