Eine Hilfe wie das Spiel funktioniert wäre vll. ganz Hilfreich ...
Beiträge von Yaerox
-
-
Erstmal danke für die tollen Vorschläge
Ich habe mich für die Variante der
RestrictControlRegExp-UDF - Fehleingaben direkt verhindern, Eingabentypen festlegenentschieden und bin hell auf begeistert. Wirklich großartige UDF, in diesem Sinne Danke an 'funkey' für den Verweis und selbstverständlich ein großes Danke an 'peethebee'.
Hier mein Ergebnis:
Spoiler anzeigen
[autoit]#include <EditConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include "RestrictControlRegExp.au3"_RegEx_RestrictControl_setup (1) ; prepare for up to 20 Controls to restrict
[/autoit] [autoit][/autoit] [autoit]Global $hGUI = GUICreate("", 120, 50)
[/autoit] [autoit][/autoit] [autoit]
Global $hINPUT = GUICtrlCreateInput("", 10, 5, 100, 20, $ES_WANTRETURN)
_RegEx_RestrictControl_add ($hINPUT, "^[012]{1}[0-9]{1}\:[0-6]{1}[0-9]{1}$", "13:37")GUISetState(@SW_SHOW, $hGUI)
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit]
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd -
Hallo zusammen,
ich habe die letzte Stunde damit verbracht mit Hilfe der SuFu und Google eine Lösung zu finden, leider erfolgslos.
Ich weiss es gibt schon einige Themen, allerdings habe ich keins mit einer Einschränkung meines bestrebens gefundenSpoiler anzeigen
[autoit]#include <EditConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>Global $GUI = GUICreate("", 320, 50)
[/autoit] [autoit][/autoit] [autoit]
Global $INPUT = GUICtrlCreateInput("", 10, 5, 300, 20)GUISetState(@SW_SHOW, $GUI)
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit]
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEndIch würde gerne diese InputCtrl wie folgt beschränken und im Falle einer Eingabe überwachen, sprich:
Wenn das Feld ausgewählt worden ist für eine Eingabe, dann beschränke wie folgt:
- erste Zeichen darf nur eine Zahl von 0-2 sein
- zweite Zeichen darf nur eine Zahl von 0-9 sein
- dann soll automatisch ein ":" hinzugefügt werden
- dritte Zeichen darf nur eine Zahl von 0-6 sein
- vierte Zeichen darf nur eine Zahl von 0-9 seinHerauskommen soll, man glaubt es kaum, eine Uhrzeiteingabe.
Ist dies überhaupt möglich ohne ein eigenen Input über einen weiteren GUI zu schreiben?
Grüße Yaerox
-
Ahh okay, hast recht AspirinJunkie
Tut mir leid, hab das vorhin wohl falsch verstanden
-
Wäre RunWait() nicht auch eine Alternative?
-
Ich bin jetzt noch kein Superuser mit AutoIt, aber ich denke ich würde den String beim Semikolon jedes mal 'splitten' und die einzelnden Wörter in ein Array schreiben. Wenn du dann immer den zweiten Teil oder so brauchst kannst du diesen ja einfach aus dem Array holen
Grüße
-
Wahrscheinlich nicht die Beste Lösung, aber ich bin zufrieden
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GuiListView.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
#include <ProgressConstants.au3>
#include <WinAPI.au3>
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Aufgabenliste-GUI erstellen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Global $window = GUICreate("Aufgabenliste", 250, 360) ;~ Erstelle das 'Aufgabenliste'-Fenster.;~ Menü erstellen
[/autoit] [autoit][/autoit] [autoit]
Global $datei = GUICtrlCreateMenu("Datei") ;~ Erstelle ein Menue mit dem ersten Menuepunkt 'Datei'.
Global $datei_beenden = GUICtrlCreateMenuItem("Beenden", $datei) ;~ Erstelle ein Menueunterpunkt 'Beenden' fuer den Menuepunkt 'Datei'.;~ Button erstellen
[/autoit] [autoit][/autoit] [autoit]
Global $go_button = GUICtrlCreateButton("GO", 10, 5, 230, 30) ;~ Erstelle ein Button 'GO'.;~ Progress Bar + Label
[/autoit] [autoit][/autoit] [autoit]
Global $label_status = GUICtrlCreateLabel("Status:", 5, 42, 246, 20) ;~ Erstelle einen Anzeigetext 'Status'.
Global $progress = GUICtrlCreateProgress(5, 56, 240, 17) ;~ Erstelle eine Statusleiste.;~ Listview_top ... Arbeitspunkte des aktiven Arbeitsplans
[/autoit] [autoit][/autoit] [autoit]
Global $top_listview = GUICtrlCreateListView("Startzeit |Arbeitspunkte ", 5, 75, 240, 120, $WS_BORDER, $LVS_EX_FULLROWSELECT) ;~ Erstelle eine Tabellenansicht fuer Arbeitspunkte des aktiven Arbeitsplans (oben),
_GUICtrlListView_SetColumnWidth($top_listview, 0, $LVSCW_AUTOSIZE_USEHEADER) ;~ passe die Spaltenbreite an den Spaltennamen für die erste Spalte an,
_GUICtrlListView_SetColumnWidth($top_listview, 1, $LVSCW_AUTOSIZE_USEHEADER) ;~ passe die Spaltenbreite an den Spaltennamen für die zweite Spalte an,;~ Listview_bot ... Arbeitsplaene in der Warteschlange
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $bot_label_status = GUICtrlCreateLabel("Warteschlange:", 5, 200, 200, 20) ;~ Erstelle einen Anzeigetext 'Warteschlange'.
Global $bot_listview = GUICtrlCreateListView("Geplante Startzeit |Arbeitsplan ", 5, 215, 240, 120) ;~ Erstelle eine Tabellenansicht fuer Arbeitsplaene in der Warteschlange (unten),
_GUICtrlListView_SetColumnWidth($bot_listview, 0, $LVSCW_AUTOSIZE_USEHEADER) ;~ passe die Spaltenbreite an den Spaltennamen für die erste Spalte an,
_GUICtrlListView_SetColumnWidth($bot_listview, 1, $LVSCW_AUTOSIZE_USEHEADER) ;~ passe die Spaltenbreite an den Spaltennamen für die zweite Spalte an,
_GUICtrlListView_SetExtendedListViewStyle($bot_listview, $LVS_EX_FULLROWSELECT)
;====================================== Aufgabenliste-GUI erstellen ======================================;~ Mit GUI erstelltes Fenster auch anzeigen, da standard Einstellungen 'hidden' ist
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_SHOW, $window);~ Schleife
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
While 1
Switch GUIGetMsg()
Case $datei_beenden
Exit
Case $go_button
go()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Subfunktionen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[/autoit] [autoit][/autoit] [autoit]
Func go()
Local $carray[3]
$carray[0] = 0xFFFF00
$carray[1] = 0x00ff00
$carray[2] = 0xff0000
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($bot_listview))
Local $i
Local $zaehler
Global $lvitems[3]
$zaehler = 0
For $i = 0 To 2
$lvitems[$i] = GUICtrlCreateListViewItem(Int(Random(0, 24)) & ":" & Int(Random(0, 60)) & " |Arbeitsplan " & $zaehler, $bot_listview)
$zaehler = $zaehler +1
Next$zaehler = 0
[/autoit] [autoit][/autoit] [autoit]
$i = 1
Local $ii = 0
Local $wait = 100
Local $s = 0
Do
GUICtrlSetData($progress, 0)_GUICtrlListView_AddItem($top_listview, @HOUR & ":" & @MIN & ":" & @SEC)
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_AddSubItem($top_listview, 0, "Arbeitspunkt" & Int(Random(0, 10)), 1)
GUICtrlSetBkColor($lvitems[$ii], $carray[$ii])
GUICtrlSetBkColor($top_listview, $carray[$ii])
$ii = $ii + 1_GUICtrlListView_AddItem($top_listview, "")
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_AddSubItem($top_listview, 1, "Arbeitspunkt" & Int(Random(0, 10)), 1)
_GUICtrlListView_AddItem($top_listview, "")
_GUICtrlListView_AddSubItem($top_listview, 2, "Arbeitspunkt" & Int(Random(0, 10)), 1)For $si = 0 To 30
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($progress, $si)
Sleep($wait)
Next_GUICtrlListView_DeleteItem(GUICtrlGetHandle($top_listview), 0)
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_SetItem($top_listview, @HOUR & ":" & @MIN & ":" & @SEC, 0)For $si = 30 To 60
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($progress, $si)
Sleep($wait)
Next_GUICtrlListView_DeleteItem(GUICtrlGetHandle($top_listview), 0)
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_SetItem($top_listview, @HOUR & ":" & @MIN & ":" & @SEC, 0)For $si = 60 To 90
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($progress, $si)
Sleep($wait)
Next_GUICtrlListView_DeleteItem(GUICtrlGetHandle($top_listview), 0)
[/autoit] [autoit][/autoit] [autoit]
$zaehler = $zaehler + 1
_GUICtrlListView_DeleteItem(GUICtrlGetHandle($bot_listview), 0)GUICtrlSetData($progress, 100)
[/autoit] [autoit][/autoit] [autoit]
Sleep(1000)GUICtrlCreateListViewItem(Int(Random(0, 24)) & ":" & Int(Random(0, 60)) & "|Arbeitsplan " & Int(Random(1, 10)), $bot_listview)
[/autoit] [autoit][/autoit] [autoit]
$i = $i + 3GUICtrlSetBkColor($top_listview, 0xffffff)
[/autoit]
Until ($zaehler = 3)
Sleep(1000)
GUICtrlSetData($progress, 0)
EndFunc ;==>go
;====================================== Subfunktionen ====================================== -
Hab mich mit
[autoit]GUICtrlSetBkColor(_WinAPI_GetDlgCtrlID(GUICtrlGetHandle($bot_listview)), 030144255)
[/autoit]versucht, aber so färbt er die ganze Listview was für oben korrekt ist aber für unten nicht...
Ich denke die Lösung müsste etwas sein wie: GUICtrlSetBkColor( immer_die_oberste_zeile, farbe ) oder falls die Möglichkeit besteht die ControlID der Zeile rauszukriegen, die es meines Wissens nicht gibt, oder? Ich würd einfach mal behaupten die Listview ist ein Ctrl die hat eine ID und fertig.
Falls ich falsch liege korrigiert mich bitte
Edit: Es scheint mir als würde es nur 2 Varianten geben ...
Entweder Script neuschreiben mit den AutoIt Funktionen (GUICtrLCreateListView) oder mit GDI arbeiten ... kann das sein? Versuche grad über GDI etwas zu finden
-
Okay, soweit ist der Groschen gefallen, und ich denke das Programm stellt die Visualisierung für meine Zwecke anständig da.
Soweit funktionierend:
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GuiListView.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
#include <ProgressConstants.au3>;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Aufgabenliste-GUI erstellen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[/autoit] [autoit][/autoit] [autoit]
Global $window = GUICreate("Aufgabenliste", 250, 360) ;~ Erstelle das 'Aufgabenliste'-Fenster.;~ Menü erstellen
[/autoit] [autoit][/autoit] [autoit]
Global $datei = GUICtrlCreateMenu("Datei") ;~ Erstelle ein Menue mit dem ersten Menuepunkt 'Datei'.
Global $datei_beenden = GUICtrlCreateMenuItem("Beenden", $datei) ;~ Erstelle ein Menueunterpunkt 'Beenden' fuer den Menuepunkt 'Datei'.;~ Button erstellen
[/autoit] [autoit][/autoit] [autoit]
Global $go_button = GUICtrlCreateButton("GO", 10, 5, 230, 30) ;~ Erstelle ein Button 'GO'.;~ Progress Bar + Label
[/autoit] [autoit][/autoit] [autoit]
Global $label_status = GUICtrlCreateLabel("Status:", 5, 42, 246, 20) ;~ Erstelle einen Anzeigetext 'Status'.
Global $progress = GUICtrlCreateProgress(5, 56, 240, 17) ;~ Erstelle eine Statusleiste.;~ Listview_top ... Arbeitspunkte des aktiven Arbeitsplans
[/autoit] [autoit][/autoit] [autoit]
Global $top_listview = GUICtrlCreateListView("Startzeit |Arbeitspunkte ", 5, 75, 240, 120, $WS_BORDER, $LVS_EX_FULLROWSELECT) ;~ Erstelle eine Tabellenansicht fuer Arbeitspunkte des aktiven Arbeitsplans (oben),
_GUICtrlListView_SetColumnWidth($top_listview, 0, $LVSCW_AUTOSIZE_USEHEADER) ;~ passe die Spaltenbreite an den Spaltennamen für die erste Spalte an,
_GUICtrlListView_SetColumnWidth($top_listview, 1, $LVSCW_AUTOSIZE_USEHEADER) ;~ passe die Spaltenbreite an den Spaltennamen für die zweite Spalte an,;~ Listview_bot ... Arbeitsplaene in der Warteschlange
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $bot_label_status = GUICtrlCreateLabel("Warteschlange:", 5, 200, 200, 20) ;~ Erstelle einen Anzeigetext 'Warteschlange'.
Global $bot_listview = GUICtrlCreateListView("Geplante Startzeit |Arbeitsplan ", 5, 215, 240, 120) ;~ Erstelle eine Tabellenansicht fuer Arbeitsplaene in der Warteschlange (unten),
_GUICtrlListView_SetColumnWidth($bot_listview, 0, $LVSCW_AUTOSIZE_USEHEADER) ;~ passe die Spaltenbreite an den Spaltennamen für die erste Spalte an,
_GUICtrlListView_SetColumnWidth($bot_listview, 1, $LVSCW_AUTOSIZE_USEHEADER) ;~ passe die Spaltenbreite an den Spaltennamen für die zweite Spalte an,
_GUICtrlListView_SetExtendedListViewStyle($bot_listview, $LVS_EX_FULLROWSELECT)
;====================================== Aufgabenliste-GUI erstellen ======================================;~ Mit GUI erstelltes Fenster auch anzeigen, da standard Einstellungen 'hidden' ist
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_SHOW, $window);~ Schleife
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
While 1
Switch GUIGetMsg()
Case $datei_beenden
Exit
Case $go_button
go()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Subfunktionen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Func go()
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($bot_listview))
;~ Local $item1 = GUICtrlCreateListViewItem("10:00|Arbeitsplan1", $bot_listview)
;~ Local $item2 = GUICtrlCreateListViewItem("12:00|Arbeitsplan2", $bot_listview)
;~ Local $item3 = GUICtrlCreateListViewItem("14:00|Arbeitsplan3", $bot_listview)
_GUICtrlListView_AddItem($bot_listview, "10:00")
_GUICtrlListView_AddSubItem($bot_listview, 0, "Arbeitsplan 1", 1)
_GUICtrlListView_AddItem($bot_listview, "12:00")
_GUICtrlListView_AddSubItem($bot_listview, 1, "Arbeitsplan 2", 1)
_GUICtrlListView_AddItem($bot_listview, "13:00")
_GUICtrlListView_AddSubItem($bot_listview, 2, "Arbeitsplan 3", 1)Local $zaehler = 0
[/autoit] [autoit][/autoit] [autoit]
Local $i = 1
Local $wait = 100
Local $s = 0
Do
;~ If $zaehler = 0 Then
;~ Local $item = $item1
;~ ElseIf $zaehler = 1 Then
;~ GUICtrlSetBkColor($item1, 255255255) ; soll eig die Farbe löschen bzw. weiß sein ...
;~ Local $item = $item2
;~ ElseIf $zaehler = 2 Then
;~ GUICtrlSetBkColor($item2, 255255255) ; soll eig die Farbe löschen bzw. weiß sein ...
;~ Local $item = $item3
;~ EndIfGUICtrlSetData($progress, 0)
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_SetItemSelected($bot_listview, 0)_GUICtrlListView_AddItem($top_listview, @HOUR & ":" & @MIN & ":" & @SEC)
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_AddSubItem($top_listview, 0, "Arbeitspunkt" & Int(Random(0, 10)), 1)
;~ If GUICtrlSetBkColor($item, 030144255) = 0 Then
;~ Exit
;~ EndIf
_GUICtrlListView_AddItem($top_listview, "")
_GUICtrlListView_AddSubItem($top_listview, 1, "Arbeitspunkt" & Int(Random(0, 10)), 1)
_GUICtrlListView_AddItem($top_listview, "")
_GUICtrlListView_AddSubItem($top_listview, 2, "Arbeitspunkt" & Int(Random(0, 10)), 1)For $si = 0 To 30
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($progress, $si)
Sleep($wait)
Next_GUICtrlListView_DeleteItem(GUICtrlGetHandle($top_listview), 0)
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_SetItem($top_listview, @HOUR & ":" & @MIN & ":" & @SEC, 0)For $si = 30 To 60
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($progress, $si)
Sleep($wait)
Next_GUICtrlListView_DeleteItem(GUICtrlGetHandle($top_listview), 0)
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_SetItem($top_listview, @HOUR & ":" & @MIN & ":" & @SEC, 0)For $si = 60 To 90
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($progress, $si)
Sleep($wait)
Next_GUICtrlListView_DeleteItem(GUICtrlGetHandle($top_listview), 0)
[/autoit] [autoit][/autoit] [autoit]
$zaehler = $zaehler + 1
_GUICtrlListView_DeleteItem(GUICtrlGetHandle($bot_listview), 0)GUICtrlSetData($progress, 100)
[/autoit] [autoit][/autoit] [autoit]
Sleep(1000)_GUICtrlListView_AddItem($bot_listview, Int(Random(0, 24)) & ":" & Int(Random(0, 60)))
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_AddSubItem($bot_listview, 2, "Arbeitsplan " & $zaehler, 1)
$i = $i + 3Until ($zaehler = 3)
[/autoit]
Sleep(1000)
GUICtrlSetData($progress, 0)
EndFunc ;==>go
;====================================== Subfunktionen ======================================
Nun hätte ich jedoch noch gerne, dass nach dem Selektieren einer Zeile, oder einfach die zu selektierende Zeile gefärbt wird.
Dazu habe ich gesehen gibt es „GUICtrlSetBkColor ( controlID, backgroundcolor )“ aber das geht damit scheinbar nur wenn ich dann die ListviewItems mit den von AutoIt vorhandenen Funktionen hinzufüge. Die User-Definded-Functions _GUICTRL... kann ich dann nicht nutzen oder? Ich habe versucht die Handles auszulesen und ähnliches um halt zu sagen, wenn du in der bot_listview das erste Item selektiert hast färbe es blau, und die gesamte top_listview in der gleichen Farbe. Erfolgslos.
Wenn das Item dann gelöscht worden ist, bin ich davon ausgegangen, dass die Färbung auch gelöscht worden ist.Kann mir da vielleicht jemand helfen?
Hier die bisher einzige Lösung von mir mit dem Problem, dass erst beim zweiten mal GO drücken gefärbt wird, und die Listview Bot dann flasch angezeigt ist, da Sie im zweiten durchlauf dann so ausschauen soll wie beim ersten...
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GuiListView.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
#include <ProgressConstants.au3>;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Aufgabenliste-GUI erstellen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[/autoit] [autoit][/autoit] [autoit]
Global $window = GUICreate("Aufgabenliste", 250, 360) ;~ Erstelle das 'Aufgabenliste'-Fenster.;~ Menü erstellen
[/autoit] [autoit][/autoit] [autoit]
Global $datei = GUICtrlCreateMenu("Datei") ;~ Erstelle ein Menue mit dem ersten Menuepunkt 'Datei'.
Global $datei_beenden = GUICtrlCreateMenuItem("Beenden", $datei) ;~ Erstelle ein Menueunterpunkt 'Beenden' fuer den Menuepunkt 'Datei'.;~ Button erstellen
[/autoit] [autoit][/autoit] [autoit]
Global $go_button = GUICtrlCreateButton("GO", 10, 5, 230, 30) ;~ Erstelle ein Button 'GO'.;~ Progress Bar + Label
[/autoit] [autoit][/autoit] [autoit]
Global $label_status = GUICtrlCreateLabel("Status:", 5, 42, 246, 20) ;~ Erstelle einen Anzeigetext 'Status'.
Global $progress = GUICtrlCreateProgress(5, 56, 240, 17) ;~ Erstelle eine Statusleiste.;~ Listview_top ... Arbeitspunkte des aktiven Arbeitsplans
[/autoit] [autoit][/autoit] [autoit]
Global $top_listview = GUICtrlCreateListView("Startzeit |Arbeitspunkte ", 5, 75, 240, 120, $WS_BORDER, $LVS_EX_FULLROWSELECT) ;~ Erstelle eine Tabellenansicht fuer Arbeitspunkte des aktiven Arbeitsplans (oben),
_GUICtrlListView_SetColumnWidth($top_listview, 0, $LVSCW_AUTOSIZE_USEHEADER) ;~ passe die Spaltenbreite an den Spaltennamen für die erste Spalte an,
_GUICtrlListView_SetColumnWidth($top_listview, 1, $LVSCW_AUTOSIZE_USEHEADER) ;~ passe die Spaltenbreite an den Spaltennamen für die zweite Spalte an,;~ Listview_bot ... Arbeitsplaene in der Warteschlange
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $bot_label_status = GUICtrlCreateLabel("Warteschlange:", 5, 200, 200, 20) ;~ Erstelle einen Anzeigetext 'Warteschlange'.
Global $bot_listview = GUICtrlCreateListView("Geplante Startzeit |Arbeitsplan ", 5, 215, 240, 120) ;~ Erstelle eine Tabellenansicht fuer Arbeitsplaene in der Warteschlange (unten),
_GUICtrlListView_SetColumnWidth($bot_listview, 0, $LVSCW_AUTOSIZE_USEHEADER) ;~ passe die Spaltenbreite an den Spaltennamen für die erste Spalte an,
_GUICtrlListView_SetColumnWidth($bot_listview, 1, $LVSCW_AUTOSIZE_USEHEADER) ;~ passe die Spaltenbreite an den Spaltennamen für die zweite Spalte an,
_GUICtrlListView_SetExtendedListViewStyle($bot_listview, $LVS_EX_FULLROWSELECT)
;====================================== Aufgabenliste-GUI erstellen ======================================;~ Mit GUI erstelltes Fenster auch anzeigen, da standard Einstellungen 'hidden' ist
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_SHOW, $window);~ Schleife
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
While 1
Switch GUIGetMsg()
Case $datei_beenden
Exit
Case $go_button
go()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Subfunktionen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Func go()
;~ _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($bot_listview))
Local $item1 = GUICtrlCreateListViewItem("10:00|Arbeitsplan1", $bot_listview)
Local $item2 = GUICtrlCreateListViewItem("12:00|Arbeitsplan2", $bot_listview)
Local $item3 = GUICtrlCreateListViewItem("14:00|Arbeitsplan3", $bot_listview)
;~ _GUICtrlListView_AddItem($bot_listview, "10:00")
;~ _GUICtrlListView_AddSubItem($bot_listview, 0, "Arbeitsplan 1", 1)
;~ _GUICtrlListView_AddItem($bot_listview, "12:00")
;~ _GUICtrlListView_AddSubItem($bot_listview, 1, "Arbeitsplan 2", 1)
;~ _GUICtrlListView_AddItem($bot_listview, "13:00")
;~ _GUICtrlListView_AddSubItem($bot_listview, 2, "Arbeitsplan 3", 1)Local $zaehler = 0
[/autoit] [autoit][/autoit] [autoit]
Local $i = 1
Local $wait = 100
Local $s = 0
Do
If $zaehler = 0 Then
Local $item = $item1
ElseIf $zaehler = 1 Then
GUICtrlSetBkColor($item1, 255255255) ; soll eig die Farbe löschen bzw. weiß sein ...
Local $item = $item2
ElseIf $zaehler = 2 Then
GUICtrlSetBkColor($item2, 255255255) ; soll eig die Farbe löschen bzw. weiß sein ...
Local $item = $item3
EndIfGUICtrlSetData($progress, 0)
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_SetItemSelected($bot_listview, 0)_GUICtrlListView_AddItem($top_listview, @HOUR & ":" & @MIN & ":" & @SEC)
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_AddSubItem($top_listview, 0, "Arbeitspunkt" & Int(Random(0, 10)), 1)
If GUICtrlSetBkColor($item, 030144255) = 0 Then
Exit
EndIf
_GUICtrlListView_AddItem($top_listview, "")
_GUICtrlListView_AddSubItem($top_listview, 1, "Arbeitspunkt" & Int(Random(0, 10)), 1)
_GUICtrlListView_AddItem($top_listview, "")
_GUICtrlListView_AddSubItem($top_listview, 2, "Arbeitspunkt" & Int(Random(0, 10)), 1)For $si = 0 To 30
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($progress, $si)
Sleep($wait)
Next_GUICtrlListView_DeleteItem(GUICtrlGetHandle($top_listview), 0)
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_SetItem($top_listview, @HOUR & ":" & @MIN & ":" & @SEC, 0)For $si = 30 To 60
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($progress, $si)
Sleep($wait)
Next_GUICtrlListView_DeleteItem(GUICtrlGetHandle($top_listview), 0)
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_SetItem($top_listview, @HOUR & ":" & @MIN & ":" & @SEC, 0)For $si = 60 To 90
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($progress, $si)
Sleep($wait)
Next_GUICtrlListView_DeleteItem(GUICtrlGetHandle($top_listview), 0)
[/autoit] [autoit][/autoit] [autoit]
$zaehler = $zaehler + 1
_GUICtrlListView_DeleteItem(GUICtrlGetHandle($bot_listview), 0)GUICtrlSetData($progress, 100)
[/autoit] [autoit][/autoit] [autoit]
Sleep(1000)_GUICtrlListView_AddItem($bot_listview, Int(Random(0, 24)) & ":" & Int(Random(0, 60)))
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_AddSubItem($bot_listview, 2, "Arbeitsplan " & $zaehler, 1)
$i = $i + 3If $zaehler = 3 Then
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetBkColor($item3, 255255255) ; soll eig die Farbe löschen bzw. weiß sein ...
EndIfUntil ($zaehler = 3)
[/autoit]
Sleep(1000)
GUICtrlSetData($progress, 0)
EndFunc ;==>go
;====================================== Subfunktionen ======================================
[autoit]
Ich habe die Zeile 59:;~ _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($bot_listview))
[/autoit]auskommentiert, da wenn ich diese aktiv laufen lasse ist die Listview dann zwar richtig, aber es wird nicht mehr gefärbt
Grüße
PS: Das färben der oberen Listview ist hier noch nirgends, da ich erstmal die untere Zeile gerne färben würde
-
So peinlich "-.-
Kaum mal 45 Min den Thread geschrieben, Kopf anscheinend klarer da findet man: _GUICtrlListView_DeleteItem(GUICtrlGetHandle($top_listview), 0) ...
Darf der Thread evtl. bestehen bleiben, oder nach Projekte o.ä. verschoben werden?
-
Hallo liebe Community,
ich bräuchte mal wieder eure HilfeDies ist quasi eine kleine Testumgebung bezüglich einer Ablaufsteuerung die ich derzeit versuche zu programmieren.
Ich würde mir wünschen , dass in der unteren Listview 3 Zeilen eingefügt werden , dann immer die kleinste Uhrzeit automatisch selektiert werden soll, und die Arbeitspunkte für den jeweiligen Arbeitsplan sollen dann oben in der Listview erscheinen. Dann hätten wir oben in der zweiten Spalte quasi 3 Arbeitspunkte für diesen Arbeitsplan stehen die nacheinander "abgearbeitet" werden sollen. Hier würde als Simulation ein hochzählen oder ein Sleep() ja ausreichen...Bei Startzeit in der oberen Listview soll jedoch die Systemzeit eingetragen werden zudem dieser Arbeitspunkt angestoßen worden ist. Dann soll dieser arbeitspunkt wenn er fertig ist rausfliegen, und die beiden anderen rutschen in der Liste quasi "nach oben" und dann das selbe Spiel: Systemzeit soll eingetragen werden wenn der Arbeitspunkt "gestartet" wird, bis alle Arbeitspunkte durch sind. Diese 3 Arbeitspunkte die dort also einen einzigen Arbeitsplan darstellen sollen dazu diesen Statusbalken animieren.
Dieser Ablauf soll dann quasi auch unten passieren. Sprich: Sind alle 3 Arbeitspunkte eines Arbeitsplans durchgelaufen, soll der eintrag des ersten Arbeitsplans unten in der Listview rausfliegen, die beiden noch vorhandenen quasi "nach oben rutschen", und dann soll der Arbeitsplan wieder angehangen werden mit einer größeren "geplanten Startzeit".
---
Nochmal in kurz: Es sollen nach dem GO drücken 3 Arbeitspläne nacheinander ablaufen, der aktive Arbeitsplan wird in der unteren Listview "als ausgewählt makiert", dann werden oben seine Arbeitspunkte eingeblendet, diese laufen nacheinander durch und ziehen alle 3 zusammen 1x den Statusbalken mit sich, dann fliegt der Arbeitsplan aus der unteren Listview raus, die anderen 2 rutschen auf und er soll angehangen werden bis jeder Arbeitsplan 1x durchgelaufen ist.Hier eine kleine bildliche Darstellung (mit Paint gezaubert :D):
[Blockierte Grafik: http://s14.directupload.net/images/121011/ybyr3c9i.png]
und dies für jeden Punkt unten in der Liste 1x ;DMein bisheriges vorgehen:
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GuiListView.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Aufgabenliste-GUI erstellen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[/autoit] [autoit][/autoit] [autoit]
Global $window = GUICreate("Aufgabenliste", 250, 360) ;~ Erstelle das 'Aufgabenliste'-Fenster.;~ Menü erstellen
[/autoit] [autoit][/autoit] [autoit]
Global $datei = GUICtrlCreateMenu("Datei") ;~ Erstelle ein Menue mit dem ersten Menuepunkt 'Datei'.
Global $datei_beenden = GUICtrlCreateMenuItem("Beenden", $datei) ;~ Erstelle ein Menueunterpunkt 'Beenden' fuer den Menuepunkt 'Datei'.;~ Button erstellen
[/autoit] [autoit][/autoit] [autoit]
Global $go_button = GUICtrlCreateButton("GO", 10, 5, 230, 30) ;~ Erstelle ein Button 'GO'.;~ Progress Bar + Label
[/autoit] [autoit][/autoit] [autoit]
Global $label_status = GUICtrlCreateLabel("Status:", 5, 42, 246, 20) ;~ Erstelle einen Anzeigetext 'Status'.
Global $progress = GUICtrlCreateProgress(5, 56, 240, 17) ;~ Erstelle eine Statusleiste.;~ Listview_top ... Arbeitspunkte des aktiven Arbeitsplans
[/autoit] [autoit][/autoit] [autoit]
Global $top_listview = GUICtrlCreateListView("Startzeit |Arbeitspunkte ", 5, 75, 240, 120, $WS_BORDER, $LVS_EX_FULLROWSELECT + $LVS_EX_CHECKBOXES) ;~ Erstelle eine Tabellenansicht fuer Arbeitspunkte des aktiven Arbeitsplans (oben),
_GUICtrlListView_SetColumnWidth($top_listview, 0, $LVSCW_AUTOSIZE_USEHEADER) ;~ passe die Spaltenbreite an den Spaltennamen für die erste Spalte an,
_GUICtrlListView_SetColumnWidth($top_listview, 1, $LVSCW_AUTOSIZE_USEHEADER) ;~ passe die Spaltenbreite an den Spaltennamen für die zweite Spalte an,
_GUICtrlListView_SetExtendedListViewStyle($top_listview, $LVS_EX_FULLROWSELECT) ;~ und waehle immer die gesamte Zeile aus.;~ Listview_bot ... Arbeitsplaene in der Warteschlange
[/autoit] [autoit][/autoit] [autoit]
Global $bot_label_status = GUICtrlCreateLabel("Warteschlange:", 5, 200, 200, 20) ;~ Erstelle einen Anzeigetext 'Warteschlange'.
Global $bot_listview = GUICtrlCreateListView("Geplante Startzeit |Arbeitsplan ", 5, 215, 240, 120, $WS_BORDER, $LVS_EX_FULLROWSELECT + $LVS_EX_CHECKBOXES) ;~ Erstelle eine Tabellenansicht fuer Arbeitsplaene in der Warteschlange (unten),
_GUICtrlListView_SetColumnWidth($bot_listview, 0, $LVSCW_AUTOSIZE_USEHEADER) ;~ passe die Spaltenbreite an den Spaltennamen für die erste Spalte an,
_GUICtrlListView_SetColumnWidth($bot_listview, 1, $LVSCW_AUTOSIZE_USEHEADER) ;~ passe die Spaltenbreite an den Spaltennamen für die zweite Spalte an,
_GUICtrlListView_SetExtendedListViewStyle($bot_listview, $LVS_EX_FULLROWSELECT) ;~ und waehle immer die gesamte Zeile aus.;====================================== Aufgabenliste-GUI erstellen ======================================
[/autoit] [autoit][/autoit] [autoit];~ Mit GUI erstelltes Fenster auch anzeigen, da standard Einstellungen 'hidden' ist
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_SHOW, $window);~ Schleife
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
While 1
Switch GUIGetMsg()
Case $datei_beenden
Exit
Case $go_button
go()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Subfunktionen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[/autoit] [autoit][/autoit] [autoit]
Func go()
_GUICtrlListView_AddItem($bot_listview, "10:00")
_GUICtrlListView_AddSubItem($bot_listview, 0, "Arbeitsplan 1", 1)
_GUICtrlListView_AddItem($bot_listview, "12:00")
_GUICtrlListView_AddSubItem($bot_listview, 1, "Arbeitsplan 2", 1)
_GUICtrlListView_AddItem($bot_listview, "13:00")
_GUICtrlListView_AddSubItem($bot_listview, 2, "Arbeitsplan 3", 1)_GUICtrlListView_SetItemSelected($bot_listview, 0)
[/autoit] [autoit][/autoit] [autoit]_GUICtrlListView_AddItem($top_listview, @HOUR & ":" & @MIN & ":" & @SEC)
[/autoit]
_GUICtrlListView_AddSubItem($top_listview, 0, "Arbeitspunkt 1", 1)
_GUICtrlListView_AddItem($top_listview, "")
_GUICtrlListView_AddSubItem($top_listview, 1, "Arbeitspunkt 2", 1)
_GUICtrlListView_AddItem($top_listview, "")
_GUICtrlListView_AddSubItem($top_listview, 2, "Arbeitspunkt 3", 1)
Sleep(500)
_GUICtrlListView_DeleteItem($top_listview, 0)
EndFunc
;====================================== Subfunktionen ======================================Hier ist nun mein erstes Problem: Ich dachte ich lösche aus der Listview oben die erste zeile, damit ich dann den nächsten Arbeitspunkt starten kann. Aber hier hängt es grad irgendwie Seit 2 Stunden starre ich auf den Text, ich seh den Fehler nicht ...
Mir wäre wichtig das ihr wisst, ich will nicht einfach nur einen Code vorgelegt bekommen für meine Probleme, ich lerne momentan mit AutoIt zu programmieren (bzw. versuch es mir beizubringen), will es verstehen und arbeite selbstverständlich auch daran.
Ich habe solch einen 'Progress' z.B. bisher nie genutzt, also solche Dinge könnten auch noch weggelassen werden, wenn ich mich damit beschäftige schaffe ich dies vielleicht ja auch alleine !!Also würde es mir vollkommen ausreichen wenn ihr mir bei Problemen helfen würdet und ich bis zum nächsten Problem den Code auch selber schreibe
*freundlich um Hilfe bitten* *g*
Achja, ich nehme Tipps (Lob und Kritik) zu meiner Schreibweise bezüglich des Codes oder der Wahl meiner Variablen geren an
GrüßeNun hab ich so lang am Thread geschrieben, da ist glatt mein Kaffee kalt :O
-
Super, sowas hab ich gebraucht Danke Dann schau ich jetzt mal ob ich das im großen Stil übertragen kriege
Grüße
-
MessageLoop-Methode kombiniert mit der OnEvent-Methode. [...] Und pack mal die Funktion ans Ende. So dazwischen ist das nicht "schön".So besser? (habe es editiert)
-
Hallo liebe Community
Ich versuche mich nun seit ca. 3 Wochen mit AutoIt, und schreibe derzeit ein Programm bei den ich quasi eine Comboüberwachung in einer Tabüberwachung bräuchte wie es bei Toolbars auch möglich ist.
Meine Bitte an euch wäre, mir verständlich zu machen wie das funktioniert. Ich habe mir schon einige Beispiele angeschaut und simple Beispiele konnte ich auch erweitern/bearbeiten, aber 100%ig verstanden habe ich nicht, was ich dort tat
Hier zunächst ein Code für mein Beispiel:
[autoit]#include <GUIConstantsEx.au3>
[/autoit][autoit][/autoit][autoit]
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>$gui1 = GUICreate("GUI 1", 505, 505)
[/autoit][autoit][/autoit][autoit]
$switchtogui2 = GUICtrlCreateButton("Switch to GUI 2", 10, 10)
GUISetState(@SW_SHOW, $gui1)While 1
[/autoit][autoit][/autoit][autoit]
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $switchtogui2
zeige_gui2()
EndSelect
WEndFunc zeige_gui2()
[/autoit]
GUISetState(@SW_HIDE, $gui1)
$gui2 = GUICreate("GUI 2", 500, 500)
GUISetState(@SW_SHOW, $gui2)
Local $tab = GUICtrlCreateTab(10, 10, 480, 480)
Local $tab_1 = GUICtrlCreateTabItem("1")
Local $tab1_combo = GUICtrlCreateCombo("", 50, 50, 200, 20)
GUICtrlSetData(-1, "item1|item2|item3")
Local $lvt1 = GUICtrlCreateListView("Test", 80, 80, 200, 200, $WS_BORDER, $LVS_EX_FULLROWSELECT)
Local $tab_2 = GUICtrlCreateTabItem("2")
Local $tab2_combo = GUICtrlCreateCombo("", 50, 50, 200, 20)
GUICtrlSetData(-1, "item1|item2|item3")
Local $lvt2 = GUICtrlCreateListView("Test", 80, 80, 200, 200, $WS_BORDER, $LVS_EX_FULLROWSELECT)
GUICtrlCreateTabItem("")
EndFuncNun soll quasi eien Überwachung stattfinden die wie folgt aussehen sollte:
Code
Alles anzeigenÜberwache den Tab wenn TabItem1 angeklickt wird, dann Überwache die Combobox wenn eine Auswahl getätigt wird, dann schreibe die Auswahl in die Listview EndeÜberwachung wenn TabItem2 angeklickt wird, dann Überwache die Combobox wenn eine Auswahl getätigt wird, dann schreibe die Auswahl in die Listview EndeÜberwachung EndeÜberwachung
Mein Ansatz wäre:
[autoit]Local $msg = GUIGetMsg()
[/autoit]
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $tab_1
MsgBox(0,"","Tab1")
Case $msg = $tab_2
MsgBox(0,"","Tab2")
EndSelect
funktioniert nur leider (bisher) nichtIch sag schonmal danke an alle die versuchen oder es vll. sogar schaffen mir diese Überwachung beizubringen
Grüße
-
Sorry, dass Problem hat sich erledigt. Lag eig auf der Hand wenn man darüber nachgedacht hat.
-
Zeige uns doch mal deinen bisherigen Quellcode, dann kann man sicherlich besser weiterhelfen
Quellcode ist bis auf den GUI noch nicht vorhanden
Habe mir über das Wochenende noch einige Gedanken gemacht und habe meinen ersten Post editiert -
Hallo zusammen,
ich schreibe mir grad ein kleines Programm, dass mir folgende Möglichkeiten bieten soll:Ein Fenster enthält einen Tab mit 2 Items. Item A und Item B.
Es wird quasi wie folgt aussehen:Item A: Text: [Inputbox] Ok-button
Item B: Dropdownmenü indem ich eine von x beliebigen Listen auswählen kann, und ihr Sachen zuweisen kann. Diese Sachen die bereits in der Liste sind (rot) oder halt noch nicht (grün) habe ich in Listviews anzeigen lassen.
[Blockierte Grafik: http://s1.directupload.net/images/121001/u2dxgeft.png]
Wenn ich aber nun im Item 1 auf OK drücke muss das zweite Item offen gehen (bis hierhin funktioniert es bereits), und die Liste mit dem Namen eingegeben in der Inputbox soll dort in der Liste aller Listen mit aufgeführt/hinzugefügt werden, um sie auszuwählen und gegebenen falls Ihr Sachen zuweisen zu können. Somit ist quasi nach jeder Auswahl einer Liste aus dem Dropdown Menü eine aktualisierung nötig damit die Daten immer korrekt angezeigt werden.Meine Frage wäre ob ihr an meiner Stelle auch den Tab nutzen würdet, oder doch besser auf eine andere Art und weise schreiben?
Grüße
YaeroxXO -
Danke für die schnelle Hilfe.
Mir wurde noch eine kleine Hilfestellung gegeben und nun funktioniert alles einwandfrei. Gelöst habe ich das Problem nun wie folgt:
[autoit]_GUICtrlListView_AddSubItem($listviewlinks, $z, $jahr & "." & $monat & "." & $tag, 2) ;~ Datum
[/autoit]
_GUICtrlListView_AddSubItem($listviewlinks, $z, $stunde& ":" &$minute, 3) ;~ UhrzeitDanke
-
Hallo zusammen,
ich bin noch ein relativer Neuling in AutoIt, und habe scheinbar einen Konflikt mit der Funktion _GUICtrlListView_GetItemText .
Ich lese einen angegebenen Ordner aus, packe diese Dateien in eine Listview. Diese Listview hat 4 Spalten, Name, A, B, und C. Die Spalte Name ist 'ausgeblendet' und die Spalten A, B und C werden mit Daten die aus der jeweiligen Datei die eigentlich dahinter steckt gefüllt. Soweit alles gut...
Nun soll in der Spalte A ein Datum, und in der Spalte B eine Uhrzeit im Format JJ/MM/TT und Stunde/Minute angegeben werden.
Mein Problem: Die ersten zeichen des Datums und der Uhrzeit werden verworfen solange sie Nullen sind. Und dass darf nicht passieren...
Hier ein Screenshot, wie es aussieht wenn ich als erste Zeichen Nullen angebe:[Blockierte Grafik: http://s1.directupload.net/images/120920/9v8q5yi6.png]
Hier sieht man auch, in der ersten Spalte würde statt: 00000006 nur 6 angezeigt werden. Dort wäre es nicht weiter tragisch, nur das Datum (Spalte 2) und die Zeit (Spalte 3) müssen die möglichkeit bieten Nullen anzugeben.
Hier mal ein Stück Code:
[autoit]Func listview_links()
[/autoit]
Local $i, $z, $readline, $spaltea
_GUICtrlListView_DeleteAllItems($listviewlinks)
Local $files = _FileListToArray($pathfolder1, "*.txt", 1)
If ($files <> 0) Then
For $i = 1 To $files[0]
$readline = FileReadLine($pathfolder1 & "\" & $files[$i], 2)
$spaltea = StringMid($readline, 6,
$udatum = StringMid($readline, 31, 6)
$uzeit = StringMid($readline, 37, 4)
Local $spalteasdad = IsString($uzeit)
_GUICtrlListView_AddItem($listviewlinks, $spaltea) ;~ Spalte 1
_GUICtrlListView_AddSubItem($listviewlinks, $z, $files[$i], 1) ;~ eigentlich Spalte 2 aber Dateiname 'hidden'
_GUICtrlListView_AddSubItem($listviewlinks, $z, $udatum, 2);~ Angezeigte 2. Spalte: Größe
_GUICtrlListView_AddSubItem($listviewlinks, $z, $uzeit, 3) ;~ Angezeigte 3. Spalte: Datum/Uhrzeit
$z += 1
Next
_GUICtrlListView_SetColumnWidth($listviewlinks, 0, $LVSCW_AUTOSIZE_USEHEADER)
_GUICtrlListView_HideColumn($listviewlinks, 1) ; verstecke Spalte Dateiname
Local $B_ASCENDING[_GUICtrlListView_GetColumnCount($listviewlinks)]
Local $sortierung = True
_GUICtrlListView_SimpleSort($listviewlinks, $sortierung, 3)
For $i = 0 To $z
;
;;
;;; Ich denke hier muss der Fehler sein...
Local $jahr = StringMid(_GUICtrlListView_GetItemText($listviewlinks, $i, 2), 1, 2)
Local $monat = StringMid(_GUICtrlListView_GetItemText($listviewlinks, $i, 2), 3, 2)
Local $tag = StringMid(_GUICtrlListView_GetItemText($listviewlinks, $i, 2), 5, 2)
Local $stunde = StringMid(_GUICtrlListView_GetItemText($listviewlinks, $i, 3), 1, 2)
Local $minute = StringMid(_GUICtrlListView_GetItemText($listviewlinks, $i, 3), 3, 2)
;;; ...
;;
;
_GUICtrlListView_SetItemText($listviewlinks, $i, $jahr & "." & $monat & "." & $tag, 2)
_GUICtrlListView_SetItemText($listviewlinks, $i, $stunde & ":" & $minute, 3)
Next
EndIf
EndFunc ;==>listview_linksIch habe einige Testfenster (MsgBox) eingefügt, um zu gucken bis wo
dieser Wert/diese Variable quasi ein Integer und wo ein String ist. Ich
denke dies ist mein Problem...wäre es immer ein String, so sollte er die 0 als normales Zeichen beibehalten und dann würde auch Datum sowie Uhrzeit ordentlich angezeigt werden.Ich habe viel gegoogelt, leider erfolglos.
Daher nochmal meine Vermutung in Kurzform: Die Funktion _GUICtrlListView_GetItemText nimmt die Variable als Integer statt String...
Ich hoffe ihr könnt mir helfen
Grüße
YaeroxXO