Neuer Therad unter Programieranfragen->Ohne Gegenleistung
Größe Des Scirptes!
-
- [ gelöst ]
-
[CF[*Gaming*] -
16. November 2010 um 21:40 -
Geschlossen -
Erledigt
-
-
Stichwort Arrays!
-
Neuer Therad unter Programieranfragen->Ohne Gegenleistung
-
Zitat
Ja es geht mir hauptsächlich um die erstellung der Labels kann man da irgend wa machen??
ZitatStichwort Arrays!
.
-
Neuer Therad unter Programieranfragen->Ohne Gegenleistung
-
[autoit]
$Label12 = GUICtrlCreateLabel($ilsErgebnisse1, 112, 40, 63, 17)
[/autoit][autoit]
$Label13 = GUICtrlCreateLabel($ilsErgebnisse2, 112, 56, 63, 17)
$Label14 = GUICtrlCreateLabel($ilsErgebnisse3, 112, 72, 63, 17)
$Label15 = GUICtrlCreateLabel($ilsErgebnisse4, 112, 88, 63, 17)
$Label16 = GUICtrlCreateLabel($ilsErgebnisse5, 112, 104, 63, 17)
$Label17 = GUICtrlCreateLabel($ilsErgebnisse6, 112, 120, 63, 17)
$Label18 = GUICtrlCreateLabel($ilsErgebnisse7, 112, 136, 63, 17)
$Label19 = GUICtrlCreateLabel($ilsErgebnisse8, 112, 152, 63, 17)
$Label20 = GUICtrlCreateLabel($ilsErgebnisse9, 112, 168, 63, 17)
$Label21 = GUICtrlCreateLabel($ilsErgebnisse10, 112, 184, 63, 17)
$Label22 = GUICtrlCreateLabel($ilsErgebnisse11, 112, 200, 63, 17)For $i = 1 to 11
[/autoit]
$Label[$i] = GUICtrlCreateLabel($ilsErgebnisse[$i], 112, 120, 63, 17)
NextNoch ein Beispiel mit Positionen ($j)
[autoit]Func vm_auswahl() ;Anzeige-Gui der gefundenen VMwares mit Checkbox Auswahl
[/autoit]
DIM $Daten = _GetFileList($vm_dir, "*.vmx")
Dim $vm[100]
$h=200
If $Daten[1] = "" Then no_input()
If $Daten[0] > 1 Then $h=200+$Daten[0]*20
GuiCreate("Hier können Sie die zu startenden Maschinen auswählen.", 520, $h,-1, -1); , BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS)) ;Resize deaktiviert
$info = GuiCtrlCreateLabel("Diese VMwares wurden in dem ausgewählten Pfad gefunden,weitere Maschinen können manuell hinzugefügt werden.", 30, 20, 330, 30)
$j=60
for $i = 1 to $Daten[0]
$j=$j+20
$vm[$i] = GuiCtrlCreateCheckbox(StringTrimLeft($Daten[$i],StringLen($vm_dir)), 50, $j, 435, 20)
NextWenn du die werte in einer Ini sicherst, kann man sowas auch gut als Array einlesen.
Gruß Dietmar
-
Neuer Therad unter Programieranfragen->Ohne Gegenleistung
-
Naja alle Checkboxen an der selben Stelle machen wenig Sinn, die sollten schon untereinander erscheinen.
[autoit]$j=60
[/autoit]
for $i = 1 to $Daten[0]
$j=$j+20
$vm[$i] = GuiCtrlCreateCheckbox(StringTrimLeft($Daten[$i],StringLen($vm_dir)), 50, $j, 435, 20)
und pro Durchlauf kommt die immer etwas tieferUnd das war für die Größe der Gui in Abhängigkeit der Anzahl
[autoit]$h=200
[/autoit]
If $Daten[1] = "" Then no_input()
If $Daten[0] > 1 Then $h=200+$Daten[0]*20 -
Neuer Therad unter Programieranfragen->Ohne Gegenleistung
-
Zitat
Ach ich schecks nich
was konkret denn nicht, du kannst Zeilen sparen indem du die in einem array zusammenfasst.
Stell dir vor du willst 10 Label Buttons o.ä. unter ein ander haben.
Du hast in einer Ini einen Eintrag
[Labels]
Label1="iuhsfhsioho"
Label2="iuhsfxcfhsioho"
usw.dann kannst du dir IniReadSection [Labels] einlesen die stehen dann schon im Array zur Verfügung
Dann für die Anzahl der Elemente in der Schleife die Labels erzeugen
der Name kommt dann aus dem ausgelesenen Array [0][$Zählwert] und die Position verschiebt sich je Durchlauf etwas nach unten.
Sonst liegen doch alle Labels übereinander wenn sich der 3.letzte Wert nicht ändert. -
Hallo CFGaming,
ich habe dein Skript auf Arrays umgestellt, sehe aber dass du es nicht selbst weiter führen willst/kannst?
Hier das Skript:
Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Date.au3>
Global $ilsErgebnisse[12], $lblLS_Erg[12], $lblZiel[12], $iconLS_Erg[12], $chkLS[12] ;Element 0 ist nicht besetzt
Global $lblLaufErg[5], $lblLaufZiel[5], $ilaErgebnisse[5], $chkLauf[5], $iconLauf_Erg[5] ;Element 0 ist nicht besetzt#region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("Checkliste", 185, 255, 231, 143)
$StatusBar1 = _GUICtrlStatusBar_Create($Form1)
Dim $StatusBar1_PartsWidth[1] = [-1]
_GUICtrlStatusBar_SetParts($StatusBar1, $StatusBar1_PartsWidth)
_GUICtrlStatusBar_SetText($StatusBar1, "Nächste Aufgabe um:", 0)
_GUICtrlStatusBar_SetMinHeight($StatusBar1, 27)
$Button1 = GUICtrlCreateButton("Laufen", 8, 8, 75, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Liegestütze", 104, 8, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
If _NowTime() > "05:45:00" Then
If _NowTime() > "14:15:00" Then
If _NowTime() > "19:00:00" Then
_GUICtrlStatusBar_SetText($StatusBar1, "Nächste Aufagbe um: 05:45:00")
Else
_GUICtrlStatusBar_SetText($StatusBar1, "Nächste Aufagbe um: 19:00:00")
EndIf
Else
_GUICtrlStatusBar_SetText($StatusBar1, "Nächste Aufagbe um: 14:45:00")
EndIf
Else
MsgBox(0, "", "Nächste Aufgabe um 05:45:00")
EndIf
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button2
_Liegestutze()
Case $Button1
_Laufen()
EndSwitch
WEndFunc _Liegestutze()
[/autoit] [autoit][/autoit] [autoit]
For $i = 1 To 4
GUICtrlDelete($lblLaufErg[$i])
GUICtrlDelete($lblLaufZiel[$i])
GUICtrlDelete($iconLauf_Erg[$i])
Next
For $i = 1 To 11
GUICtrlDelete($iconLS_Erg[$i])
GUICtrlDelete($lblLS_Erg[$i])
GUICtrlDelete($lblZiel[$i])
$ilsErgebnisse[$i] = IniRead("Data.txt", "ilsErgebnisse", $i, "-")
$chkLS[$i] = IniRead("Data.txt", "ilsCheck", $i, "1")
If $chkLS[$i] = 1 Then
$iconLS_Erg[$i] = GUICtrlCreateIcon("C:\Users\Schwemmlein\Desktop\unCheck.ico", -1, 88, 24 + $i * 16, 16, 16, BitOR($SS_NOTIFY, $WS_GROUP))
Else
$iconLS_Erg[$i] = GUICtrlCreateIcon("C:\Users\Schwemmlein\Desktop\Check.ico", -1, 88, 24 + $i * 16, 16, 16, BitOR($SS_NOTIFY, $WS_GROUP))
EndIf
$lblLS_Erg[$i] = GUICtrlCreateLabel($ilsErgebnisse[$i], 112, 24 + $i * 16, 63, 17)
$lblZiel[$i] = GUICtrlCreateLabel(($i + 1) * 5, 8, 24 + $i * 16, 64, 17)
Next
EndFunc ;==>_LiegestutzeFunc _Laufen()
[/autoit]
For $i = 1 To 11
GUICtrlDelete($iconLS_Erg[$i])
GUICtrlDelete($lblLS_Erg[$i])
GUICtrlDelete($lblZiel[$i])
Next
For $i = 1 To 4
GUICtrlDelete($lblLaufErg[$i])
GUICtrlDelete($lblLaufZiel[$i])
GUICtrlDelete($iconLauf_Erg[$i])
$ilaErgebnisse[$i] = IniRead("Data.txt", "ilaErgebnisse", $i, "-")
$chkLauf[$i] = IniRead("Data.txt", "ilaCheck", $i, "1")
$lblLaufZiel[$i] = GUICtrlCreateLabel($i & "x Waldrand", 8, 24 + $i * 16, 64, 17)
$lblLaufErg[$i] = GUICtrlCreateLabel($ilaErgebnisse[$i], 112, 24 + $i * 16, 63, 17)
If $chkLauf[$i] = 1 Then
$Icon1 = GUICtrlCreateIcon("C:\Users\Schwemmlein\Desktop\unCheck.ico", -1, 88, 24 + $i * 16, 16, 16, BitOR($SS_NOTIFY, $WS_GROUP))
Else
$Icon1 = GUICtrlCreateIcon("C:\Users\Schwemmlein\Desktop\Check.ico", -1, 88, 24 + $i * 16, 16, 16, BitOR($SS_NOTIFY, $WS_GROUP))
EndIf
Next
EndFunc ;==>_Laufenfalls du doch daran weitermachen willst und etwas nicht verstehst kannst du hier (bitte keine PM) Fragen stellen,
mfg autoBert
-
ja ich hab noch eine frage..
wie kann ich die Icons verädner also ..eh das sind immer bei beiden sie selber falsch\bzw richtig -
ja ich hab noch eine frage..wie kann ich die Icons verädner also ..eh das sind immer bei beiden sie selber falsch\bzw richtig
einfach im folgenden Skript in Zeile 12 die 1 auf 0 abändern, dann kann aber auch folgendes passieren:
autoit.de/wcf/attachment/11782/
das ein Spassvogel die beiden Icons vertauscht.Spoiler anzeigen
[autoit]#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
[/autoit] [autoit][/autoit] [autoit]
#AutoIt3Wrapper_outfile=Ergebnis.exe
#AutoIt3Wrapper_UseUpx=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Date.au3>$NotChangeable = 1; wenn der Anwender sie sich selbst ändern können soll hier auf 0 setzen
[/autoit] [autoit][/autoit] [autoit]
;dann werden die beiden Datein nicht überschrieben, dass heisst der Anwender kann sich selbst
;Icons hinterlegen er muss nur die beiden Namen beachten
FileInstall("C:\Programme\AutoIt3\Examples\Tests\CFGaming\Check.ico",@ScriptDir & "\Check.ico",$NotChangeable) ;diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\Examples\Tests\CFGaming\UnCheck.ico",@ScriptDir & "\UnCheck.ico",$NotChangeable) ;diese Zeile evtl anpassen da die Icons bei dir ja woanders liegenGlobal $ilsErgebnisse[12], $lblLS_Erg[12], $lblZiel[12], $iconLS_Erg[12], $chkLS[12] ;Element 0 ist jeweils nicht besetzt zum besseren Verständnis
[/autoit] [autoit][/autoit] [autoit]
Global $lblLaufErg[5], $lblLaufZiel[5], $ilaErgebnisse[5], $chkLauf[5], $iconLauf_Erg[5] ;Element 0 ebenso;Global $label1, $label2, $label3, $label4, $label5, $label6, $label7, $label8, $label9, $label10, $label11, $label13, $label12, $label14, $label15, $label16, $label17, $label18, $label19, $label20, $label21, $label22, $label23, $label24, $label25, $label26, $label27, $label28, $label29, $label30
[/autoit] [autoit][/autoit] [autoit]
#region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Checkliste", 185, 255, 231, 143)
$StatusBar1 = _GUICtrlStatusBar_Create($Form1)
Dim $StatusBar1_PartsWidth[1] = [-1]
_GUICtrlStatusBar_SetParts($StatusBar1, $StatusBar1_PartsWidth)
_GUICtrlStatusBar_SetText($StatusBar1, "Nächste Aufgabe um:", 0)
_GUICtrlStatusBar_SetMinHeight($StatusBar1, 27)
$Button1 = GUICtrlCreateButton("Laufen", 8, 8, 75, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Liegestütze", 104, 8, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
If _NowTime() > "05:45:00" Then
If _NowTime() > "14:15:00" Then
If _NowTime() > "19:00:00" Then
_GUICtrlStatusBar_SetText($StatusBar1, "Nächste Aufagbe um: 05:45:00")
Else
_GUICtrlStatusBar_SetText($StatusBar1, "Nächste Aufagbe um: 19:00:00")
EndIf
Else
_GUICtrlStatusBar_SetText($StatusBar1, "Nächste Aufagbe um: 14:45:00")
EndIf
Else
MsgBox(0, "", "Nächste Aufgabe um 05:45:00")
EndIf
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button2
_Liegestutze()
Case $Button1
_Laufen()
EndSwitch
WEndFunc _Liegestutze()
[/autoit] [autoit][/autoit] [autoit]
For $i = 1 To 4
GUICtrlDelete($lblLaufErg[$i])
GUICtrlDelete($lblLaufZiel[$i])
GUICtrlDelete($iconLauf_Erg[$i])
Next
For $i = 1 To 11
GUICtrlDelete($iconLS_Erg[$i])
GUICtrlDelete($lblLS_Erg[$i])
GUICtrlDelete($lblZiel[$i])
$ilsErgebnisse[$i] = IniRead("Data.txt", "ilsErgebnisse", $i, "-")
$chkLS[$i] = IniRead("Data.txt", "ilsCheck", $i, "1")
If $chkLS[$i] = 1 Then
$iconLS_Erg[$i] = GUICtrlCreateIcon(@ScriptDir & "\unCheck.ico", -1, 88, 24 + $i * 16, 16, 16, BitOR($SS_NOTIFY, $WS_GROUP))
Else
$iconLS_Erg[$i] = GUICtrlCreateIcon(@ScriptDir & "\Check.ico", -1, 88, 24 + $i * 16, 16, 16, BitOR($SS_NOTIFY, $WS_GROUP))
EndIf
$lblLS_Erg[$i] = GUICtrlCreateLabel($ilsErgebnisse[$i], 112, 24 + $i * 16, 63, 17)
$lblZiel[$i] = GUICtrlCreateLabel(($i + 1) * 5, 8, 24 + $i * 16, 64, 17)
Next
EndFunc ;==>_LiegestutzeFunc _Laufen()
[/autoit]
For $i = 1 To 11
GUICtrlDelete($iconLS_Erg[$i])
GUICtrlDelete($lblLS_Erg[$i])
GUICtrlDelete($lblZiel[$i])
Next
For $i = 1 To 4
GUICtrlDelete($lblLaufErg[$i])
GUICtrlDelete($lblLaufZiel[$i])
GUICtrlDelete($iconLauf_Erg[$i])
$ilaErgebnisse[$i] = IniRead("Data.txt", "ilaErgebnisse", $i, "-")
$chkLauf[$i] = IniRead("Data.txt", "ilaCheck", $i, "1")
$lblLaufZiel[$i] = GUICtrlCreateLabel($i & "x Waldrand", 8, 24 + $i * 16, 64, 17)
$lblLaufErg[$i] = GUICtrlCreateLabel($ilaErgebnisse[$i], 112, 24 + $i * 16, 63, 17)
If $chkLauf[$i] = 1 Then
$Icon1 = GUICtrlCreateIcon(@ScriptDir & "\unCheck.ico", -1, 88, 24 + $i * 16, 16, 16, BitOR($SS_NOTIFY, $WS_GROUP))
Else
$Icon1 = GUICtrlCreateIcon(@ScriptDir & "\Check.ico", -1, 88, 24 + $i * 16, 16, 16, BitOR($SS_NOTIFY, $WS_GROUP))
EndIf
Next
EndFunc ;==>_Laufenich habe FileInstall integriert um die beiden Icons auch mit der EXE weiterzugeben,
mfg autoBert