ah danke
manchmal sieht man den Wald vor lauter Bäumen nicht
while-Schleife ist jetzt drin und alles funktioniert!
Beiträge von tztztz
-
-
Hallo zusammen,
ich habe folgendes Problem:
in einer Switch ... Case Anweisung schließe ich eine GUI und öffne eine andere.
Innerhalb des Cases will ich eine weitere Switch ... Case Anweisung durchführen, es kommt auch keine Fehlermeldung, jedoch wird auch nichts ausgeführt.Das ganze sieht etwa so aus (stark vereinfachtes Beispiel):
Spoiler anzeigen
[autoit]$Form1 = GUICreate("GUI", 100, 100, 100, 100)
[/autoit] [autoit][/autoit] [autoit]
;die Buttons sind vorhanden, auch wenn jetzt hier im Beispiel nicht erwähnt
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
;eine kleine If-Abfrage (funktioniert einwandfrei)Case $Button2
[/autoit]
GUIDelete($Form1)
$Form2 = GUICreate("GUI 2", 100, 100, 100, 100)
$AndererButton1= GUICtrlCreateButton("Ein Knopf", 8, 8, 84, 25)
$AndererButton2= GUICtrlCreateButton("Ein Knopf", 8, 40, 84, 25)
GUISetState(@SW_SHOW)
$uMsg = GUIGetMsg()
Switch $uMsg
Case $AndererButton1
If (Bedingung) Then
MsgBox(0,"Test","Bedingung 1 geht")
ElseIf (Bedingung) Then
MsgBox(0,"Test","Bedingung 2 geht")
Else
MsgBox(0,"Test","Bedingung 3 geht auch")
EndIf
Case $AndererButton2
MsgBox(0,"Knopf2","Auch Knopf 2 funktioniert")
Endswitch
EndSwitch
WEndDie Bedingungen der äußeren Switch ... Case Anweisung gehen alle, allerdings keine der inneren...
Was mache ich falsch?
Danke vorab
-
Danke, auf die Idee bin ich nicht gekommen.
Ich hatte überlegt das Datum so zu vergleichen danach das "richtige" mit Stringsplit aufzutrennen und dann neu zusammenzusetzen.
War halt aufgrund nicht einheitlichre Trennzeichen nciht möglich. -
Hallo zusammen,
ich habe aktuell ein Datumsformal gewählt, das ich als String angebe, mit dem ich das Datum vergleichen kann (yyyy.mm.dd / hh:mm:ss
gibt es eine Möglichkeit das Datum auf zu vergleichen
wenn ich das deutsche Formal dd.mm.yyyy / hh:mm:ss verwenden will?Der Vergleich soll jedesmal nur richtig angeben, welches von beiden Daten neuer ist.
Danke schonmal
-
Hatte mich zwar nicht weitergebracht, mittlerweile ist das Problem allerdings erledigt (umgangen).
Hab im Button einfach einen Befehl zum Script neu laden eingebaut, dadurch den Effekt den ich wollte. -
das hatte ich probiert, gab keinen Unterschied.
Was ich vergessen hatte zu erwähnen: wenn ich den Speicherknopf drücke in dem 2ten GUI, dann werden beim Drücken des Schließen Knopfes beide Fenster geschlossen, falls ich nur den 2ten GUI schließe, ohne vorher zu speichern schließt sich nur der 2te GUI und der erste ist wie beschrieben eingefroren
-
Hallo,
tut mir Leid dass ich schon wieder was fragen muss, allerdings komm ich nicht weiter.
Ich rufe über eine externe Funktion per Knopfdruck einen neuen GUI auf. So weit klappt alles,
doch sobald ich den neuen GUI wieder schließen will, ist der erste (der mit dem Aufruf-Button)
gefrohren und reagiert nicht mehr. Alles andere funktioniert einwandfrei.Ich poste hier mal die Funktion, die ich genommen habe (habe ich gefunden und leicht ausgedünnt, aber nicht selbst geschrieben)
Meine Frage dazu: Liegt es an der Funktion, dass meine erste GUI einfriert, oder nicht?
Spoiler anzeigen
[autoit]Func _ArrayDisplay2(Const ByRef $avArray, $sTitle = "Array: ListView Display", $iItemLimit = -1, $iTranspose = 0, $sSeparator = "", $sReplace = "|", $sHeader = "")
[/autoit] [autoit][/autoit] [autoit]
If Not IsArray($avArray) Then Return SetError(1, 0, 0)
; Dimension checking
Local $iDimension = UBound($avArray, 0), $iUBound = UBound($avArray, 1) - 1, $iSubMax = UBound($avArray, 2) - 1
If $iDimension > 2 Then Return SetError(2, 0, 0); Separator handling
[/autoit] [autoit][/autoit] [autoit]
If $sSeparator = "" Then $sSeparator = Chr(124); Check the separator to make sure it's not used literally in the array
[/autoit] [autoit][/autoit] [autoit]
If _ArraySearch($avArray, $sSeparator, 0, 0, 0, 1) <> -1 Then
For $x = 1 To 255
If $x >= 32 And $x <= 127 Then ContinueLoop
Local $sFind = _ArraySearch($avArray, Chr($x), 0, 0, 0, 1)
If $sFind = -1 Then
$sSeparator = Chr($x)
ExitLoop
EndIf
Next
EndIf; Declare variables
[/autoit] [autoit][/autoit] [autoit]
Local $vTmp, $iBuffer = 4094 ; AutoIt max item size
Local $iColLimit = 250
Local $iOnEventMode = Opt("GUIOnEventMode", 0), $sDataSeparatorChar = Opt("GUIDataSeparatorChar", $sSeparator); Swap dimensions if transposing
[/autoit] [autoit][/autoit] [autoit]
If $iSubMax < 0 Then $iSubMax = 0
If $iTranspose Then
$vTmp = $iUBound
$iUBound = $iSubMax
$iSubMax = $vTmp
EndIf; Set limits for dimensions
[/autoit] [autoit][/autoit] [autoit]
If $iSubMax > $iColLimit Then $iSubMax = $iColLimit
If $iItemLimit < 1 Then $iItemLimit = $iUBound
If $iUBound > $iItemLimit Then $iUBound = $iItemLimit; Set header up
[/autoit] [autoit][/autoit] [autoit]
If $sHeader = "" Then
$sHeader = "Row " ; blanks added to adjust column size for big number of rows
For $i = 0 To $iSubMax
$sHeader &= $sSeparator & "Col " & $i
Next
EndIf; Convert array into text for listview
[/autoit] [autoit][/autoit] [autoit]
Local $avArrayText[$iUBound + 1]
For $i = 0 To $iUBound
$avArrayText[$i] = "[" & $i & "]"
For $j = 0 To $iSubMax
; Get current item
If $iDimension = 1 Then
If $iTranspose Then
$vTmp = $avArray[$j]
Else
$vTmp = $avArray[$i]
EndIf
Else
If $iTranspose Then
$vTmp = $avArray[$j][$i]
Else
$vTmp = $avArray[$i][$j]
EndIf
EndIf; Add to text array
[/autoit] [autoit][/autoit] [autoit]
$vTmp = StringReplace($vTmp, $sSeparator, $sReplace, 0, 1); Set max buffer size
[/autoit] [autoit][/autoit] [autoit]
If StringLen($vTmp) > $iBuffer Then $vTmp = StringLeft($vTmp, $iBuffer)$avArrayText[$i] &= $sSeparator & $vTmp
[/autoit] [autoit][/autoit] [autoit]
Next
Next; GUI Constants
[/autoit] [autoit][/autoit] [autoit]
Local Const $_ARRAYCONSTANT_GUI_DOCKBORDERS = 0x66
Local Const $_ARRAYCONSTANT_GUI_DOCKBOTTOM = 0x40
Local Const $_ARRAYCONSTANT_GUI_DOCKHEIGHT = 0x0200
Local Const $_ARRAYCONSTANT_GUI_DOCKLEFT = 0x2
Local Const $_ARRAYCONSTANT_GUI_DOCKRIGHT = 0x4
Local Const $_ARRAYCONSTANT_LVM_GETCOLUMNWIDTH = (0x1000 + 29)
Local Const $_ARRAYCONSTANT_LVM_GETITEMCOUNT = (0x1000 + 4)
Local Const $_ARRAYCONSTANT_LVM_GETITEMSTATE = (0x1000 + 44)
Local Const $_ARRAYCONSTANT_LVM_SETEXTENDEDLISTVIEWSTYLE = (0x1000 + 54)
Local Const $_ARRAYCONSTANT_LVS_EX_FULLROWSELECT = 0x20
Local Const $_ARRAYCONSTANT_LVS_EX_GRIDLINES = 0x1
Local Const $_ARRAYCONSTANT_LVS_SHOWSELALWAYS = 0x8
Local Const $_ARRAYCONSTANT_WS_EX_CLIENTEDGE = 0x0200
Local Const $_ARRAYCONSTANT_WS_MAXIMIZEBOX = 0x00010000
Local Const $_ARRAYCONSTANT_WS_MINIMIZEBOX = 0x00020000
Local Const $_ARRAYCONSTANT_WS_SIZEBOX = 0x00040000; Set interface up
[/autoit] [autoit][/autoit] [autoit]
Local $iWidth = 640, $iHeight = 480
Local $hGUI = GUICreate($sTitle, $iWidth, $iHeight, Default, Default, BitOR($_ARRAYCONSTANT_WS_SIZEBOX, $_ARRAYCONSTANT_WS_MINIMIZEBOX, $_ARRAYCONSTANT_WS_MAXIMIZEBOX))
Local $aiGUISize = WinGetClientSize($hGUI)
Local $hListView = GUICtrlCreateListView($sHeader, 0, 0, $aiGUISize[0], $aiGUISize[1] - 26, $_ARRAYCONSTANT_LVS_SHOWSELALWAYS)
Local $hSaveSelected = GUICtrlCreateButton("Save Selected", (($aiGUISize[0])/3) + 6, $aiGUISize[1] - 23, $aiGUISize[0]/3 - 9, 20)
GUICtrlSetResizing($hListView, $_ARRAYCONSTANT_GUI_DOCKBORDERS)
GUICtrlSetResizing($hSaveSelected, $_ARRAYCONSTANT_GUI_DOCKBOTTOM + $_ARRAYCONSTANT_GUI_DOCKHEIGHT)GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_SETEXTENDEDLISTVIEWSTYLE, $_ARRAYCONSTANT_LVS_EX_GRIDLINES, $_ARRAYCONSTANT_LVS_EX_GRIDLINES)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_SETEXTENDEDLISTVIEWSTYLE, $_ARRAYCONSTANT_LVS_EX_FULLROWSELECT, $_ARRAYCONSTANT_LVS_EX_FULLROWSELECT)
GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_SETEXTENDEDLISTVIEWSTYLE, $_ARRAYCONSTANT_WS_EX_CLIENTEDGE, $_ARRAYCONSTANT_WS_EX_CLIENTEDGE); Fill listview
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 To $iUBound
GUICtrlCreateListViewItem($avArrayText[$i], $hListView)
Next; adjust window width
[/autoit] [autoit][/autoit] [autoit]
$iWidth = 0
For $i = 0 To $iSubMax + 1
$iWidth += GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_GETCOLUMNWIDTH, $i, 0)
Next
If $iWidth < 250 Then $iWidth = 230
$iWidth += 20If $iWidth > @DesktopWidth Then $iWidth = @DesktopWidth - 100
[/autoit] [autoit][/autoit] [autoit]WinMove($hGUI, "", (@DesktopWidth - $iWidth) / 2, Default, $iWidth)
[/autoit] [autoit][/autoit] [autoit]; Show dialog
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_SHOW, $hGUI)While 1
[/autoit] [autoit][/autoit] [autoit]
Local $guiMsg = GUIGetMsg()
Switch $guiMsgCase $GUI_EVENT_CLOSE
[/autoit] [autoit][/autoit] [autoit]
GUIDelete ($hGUI)
Case $hSaveSelected
Global $sClip = ""
;
Local $aiCurItems[1] = [0]
For $i = 0 To GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_GETITEMCOUNT, 0, 0)
If GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_GETITEMSTATE, $i, 0x2) Then
$aiCurItems[0] += 1
ReDim $aiCurItems[$aiCurItems[0] + 1]
$aiCurItems[$aiCurItems[0]] = $i
EndIf
Next; Generate clipboard text
[/autoit] [autoit][/autoit] [autoit]
If Not $aiCurItems[0] Then
For $sItem In $avArrayText
$sClip &= $sItem & @CRLF
Next
Else
For $i = 1 To UBound($aiCurItems) - 1
$sClip &= $avArrayText[$aiCurItems[$i]] & @CRLF
Next
EndIf
If @error Then
MsgBox(4096, "", "Save cancelled.")
Else
Return $sClip
EndIf
EndSwitch
WEnd
; GUIDelete($hGUI)Opt("GUIOnEventMode", $iOnEventMode)
[/autoit] [autoit][/autoit] [autoit]
Opt("GUIDataSeparatorChar", $sDataSeparatorChar)Return 1
[/autoit]
EndFuncein Danke im Vorraus
-
danke genau das was ich gebraucht habe
-
danke, die Idee war gut
,
Habe beim Suchen der originalen Funktion eine abgewandelte entdeckt, die mir an sich ganz gut passt,
woran es allerdings bei mir hängt (sorry falls es einfach ist, bin recht unerfahren):ich kann den Wert zwar als ini speichern oder als Textfile aber will es als Variable, die ich im Script benutzen kann haben.
Falls ich mich dumm anstelle bitte ich das zu entschuldigen!
Hier die Funktion, die ich gefunden habe:
[autoit]Func _ArrayDisplay2(Const ByRef $avArray, $sTitle = "Array: ListView Display", $iItemLimit = -1, $iTranspose = 0, $sSeparator = "", $sReplace = "|", $sHeader = "")
[/autoit][autoit][/autoit][autoit]
If Not IsArray($avArray) Then Return SetError(1, 0, 0)
; Dimension checking
Local $iDimension = UBound($avArray, 0), $iUBound = UBound($avArray, 1) - 1, $iSubMax = UBound($avArray, 2) - 1
If $iDimension > 2 Then Return SetError(2, 0, 0); Separator handling
[/autoit][autoit][/autoit][autoit]
If $sSeparator = "" Then $sSeparator = Chr(124); Check the separator to make sure it's not used literally in the array
[/autoit][autoit][/autoit][autoit]
If _ArraySearch($avArray, $sSeparator, 0, 0, 0, 1) <> -1 Then
For $x = 1 To 255
If $x >= 32 And $x <= 127 Then ContinueLoop
Local $sFind = _ArraySearch($avArray, Chr($x), 0, 0, 0, 1)
If $sFind = -1 Then
$sSeparator = Chr($x)
ExitLoop
EndIf
Next
EndIf; Declare variables
[/autoit][autoit][/autoit][autoit]
Local $vTmp, $iBuffer = 4094 ; AutoIt max item size
Local $iColLimit = 250
Local $iOnEventMode = Opt("GUIOnEventMode", 0), $sDataSeparatorChar = Opt("GUIDataSeparatorChar", $sSeparator); Swap dimensions if transposing
[/autoit][autoit][/autoit][autoit]
If $iSubMax < 0 Then $iSubMax = 0
If $iTranspose Then
$vTmp = $iUBound
$iUBound = $iSubMax
$iSubMax = $vTmp
EndIf; Set limits for dimensions
[/autoit][autoit][/autoit][autoit]
If $iSubMax > $iColLimit Then $iSubMax = $iColLimit
If $iItemLimit < 1 Then $iItemLimit = $iUBound
If $iUBound > $iItemLimit Then $iUBound = $iItemLimit; Set header up
[/autoit][autoit][/autoit][autoit]
If $sHeader = "" Then
$sHeader = "Row " ; blanks added to adjust column size for big number of rows
For $i = 0 To $iSubMax
$sHeader &= $sSeparator & "Col " & $i
Next
EndIf; Convert array into text for listview
[/autoit][autoit][/autoit][autoit]
Local $avArrayText[$iUBound + 1]
For $i = 0 To $iUBound
$avArrayText[$i] = "[" & $i & "]"
For $j = 0 To $iSubMax
; Get current item
If $iDimension = 1 Then
If $iTranspose Then
$vTmp = $avArray[$j]
Else
$vTmp = $avArray[$i]
EndIf
Else
If $iTranspose Then
$vTmp = $avArray[$j][$i]
Else
$vTmp = $avArray[$i][$j]
EndIf
EndIf; Add to text array
[/autoit][autoit][/autoit][autoit]
$vTmp = StringReplace($vTmp, $sSeparator, $sReplace, 0, 1); Set max buffer size
[/autoit][autoit][/autoit][autoit]
If StringLen($vTmp) > $iBuffer Then $vTmp = StringLeft($vTmp, $iBuffer)$avArrayText[$i] &= $sSeparator & $vTmp
[/autoit][autoit][/autoit][autoit]
Next
Next; GUI Constants
[/autoit][autoit][/autoit][autoit]
Local Const $_ARRAYCONSTANT_GUI_DOCKBORDERS = 0x66
Local Const $_ARRAYCONSTANT_GUI_DOCKBOTTOM = 0x40
Local Const $_ARRAYCONSTANT_GUI_DOCKHEIGHT = 0x0200
Local Const $_ARRAYCONSTANT_GUI_DOCKLEFT = 0x2
Local Const $_ARRAYCONSTANT_GUI_DOCKRIGHT = 0x4
Local Const $_ARRAYCONSTANT_GUI_EVENT_CLOSE = -3
Local Const $_ARRAYCONSTANT_LVM_GETCOLUMNWIDTH = (0x1000 + 29)
Local Const $_ARRAYCONSTANT_LVM_GETITEMCOUNT = (0x1000 + 4)
Local Const $_ARRAYCONSTANT_LVM_GETITEMSTATE = (0x1000 + 44)
Local Const $_ARRAYCONSTANT_LVM_SETEXTENDEDLISTVIEWSTYLE = (0x1000 + 54)
Local Const $_ARRAYCONSTANT_LVS_EX_FULLROWSELECT = 0x20
Local Const $_ARRAYCONSTANT_LVS_EX_GRIDLINES = 0x1
Local Const $_ARRAYCONSTANT_LVS_SHOWSELALWAYS = 0x8
Local Const $_ARRAYCONSTANT_WS_EX_CLIENTEDGE = 0x0200
Local Const $_ARRAYCONSTANT_WS_MAXIMIZEBOX = 0x00010000
Local Const $_ARRAYCONSTANT_WS_MINIMIZEBOX = 0x00020000
Local Const $_ARRAYCONSTANT_WS_SIZEBOX = 0x00040000; Set interface up
[/autoit][autoit][/autoit][autoit]
Local $iWidth = 640, $iHeight = 480
Local $hGUI = GUICreate($sTitle, $iWidth, $iHeight, Default, Default, BitOR($_ARRAYCONSTANT_WS_SIZEBOX, $_ARRAYCONSTANT_WS_MINIMIZEBOX, $_ARRAYCONSTANT_WS_MAXIMIZEBOX))
Local $aiGUISize = WinGetClientSize($hGUI)
Local $hListView = GUICtrlCreateListView($sHeader, 0, 0, $aiGUISize[0], $aiGUISize[1] - 26, $_ARRAYCONSTANT_LVS_SHOWSELALWAYS)
Local $hCopy = GUICtrlCreateButton("Copy Selected", 3, $aiGUISize[1] - 23, $aiGUISize[0]/3 - 9, 20)
Local $hSaveSelected = GUICtrlCreateButton("Save Selected", (($aiGUISize[0])/3) + 6, $aiGUISize[1] - 23, $aiGUISize[0]/3 - 9, 20)
Local $hSave = GUICtrlCreateButton("Save All", (2*($aiGUISize[0])/3) + 9, $aiGUISize[1] - 23, $aiGUISize[0]/3 - 9, 20)
GUICtrlSetResizing($hListView, $_ARRAYCONSTANT_GUI_DOCKBORDERS)
GUICtrlSetResizing($hCopy, $_ARRAYCONSTANT_GUI_DOCKLEFT + $_ARRAYCONSTANT_GUI_DOCKBOTTOM + $_ARRAYCONSTANT_GUI_DOCKHEIGHT)
GUICtrlSetResizing($hSaveSelected, $_ARRAYCONSTANT_GUI_DOCKBOTTOM + $_ARRAYCONSTANT_GUI_DOCKHEIGHT)
GUICtrlSetResizing($hSave, $_ARRAYCONSTANT_GUI_DOCKRIGHT + $_ARRAYCONSTANT_GUI_DOCKBOTTOM + $_ARRAYCONSTANT_GUI_DOCKHEIGHT)GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_SETEXTENDEDLISTVIEWSTYLE, $_ARRAYCONSTANT_LVS_EX_GRIDLINES, $_ARRAYCONSTANT_LVS_EX_GRIDLINES)
[/autoit][autoit][/autoit][autoit]
GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_SETEXTENDEDLISTVIEWSTYLE, $_ARRAYCONSTANT_LVS_EX_FULLROWSELECT, $_ARRAYCONSTANT_LVS_EX_FULLROWSELECT)
GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_SETEXTENDEDLISTVIEWSTYLE, $_ARRAYCONSTANT_WS_EX_CLIENTEDGE, $_ARRAYCONSTANT_WS_EX_CLIENTEDGE); Fill listview
[/autoit][autoit][/autoit][autoit]
For $i = 0 To $iUBound
GUICtrlCreateListViewItem($avArrayText[$i], $hListView)
Next; adjust window width
[/autoit][autoit][/autoit][autoit]
$iWidth = 0
For $i = 0 To $iSubMax + 1
$iWidth += GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_GETCOLUMNWIDTH, $i, 0)
Next
If $iWidth < 250 Then $iWidth = 230
$iWidth += 20If $iWidth > @DesktopWidth Then $iWidth = @DesktopWidth - 100
[/autoit][autoit][/autoit][autoit]WinMove($hGUI, "", (@DesktopWidth - $iWidth) / 2, Default, $iWidth)
[/autoit][autoit][/autoit][autoit]; Show dialog
[/autoit][autoit][/autoit][autoit]
GUISetState(@SW_SHOW, $hGUI)While 1
[/autoit][autoit][/autoit][autoit]
Local $guiMsg = GUIGetMsg()
Switch $guiMsg
Case $_ARRAYCONSTANT_GUI_EVENT_CLOSE
ExitLoopCase $hCopy,$hSaveSelected
[/autoit][autoit][/autoit][autoit]
Local $sClip = ""; Get selected indices [ _GUICtrlListView_GetSelectedIndices($hListView, True) ]
[/autoit][autoit][/autoit][autoit]
Local $aiCurItems[1] = [0]
For $i = 0 To GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_GETITEMCOUNT, 0, 0)
If GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_GETITEMSTATE, $i, 0x2) Then
$aiCurItems[0] += 1
ReDim $aiCurItems[$aiCurItems[0] + 1]
$aiCurItems[$aiCurItems[0]] = $i
EndIf
Next; Generate clipboard text
[/autoit][autoit][/autoit][autoit]
If Not $aiCurItems[0] Then
For $sItem In $avArrayText
$sClip &= $sItem & @CRLF
Next
Else
For $i = 1 To UBound($aiCurItems) - 1
$sClip &= $avArrayText[$aiCurItems[$i]] & @CRLF
Next
EndIf
If $hSaveSelected = $guiMsg Then
$sFile = FileSaveDialog("Choose a name", @ScriptDir, "Text files (*.txt)", 16, "fred.txt")
If @error Then
MsgBox(4096, "", "Save cancelled.")
Else
MsgBox(4096, "", "You chose " & $sFile)
; IniWrite("Config.ini", "check", "check", $sClip) / die Zeile hab ich eingefügt, der Rest ist nur kopiert die Variable $sClip hat den String den ich brauche
_FileCreate($sFile)
FileWrite($sFile,$sClip)
EndIf
Else
ClipPut($sClip)
EndIf
Case $hSave
$sFile = FileSaveDialog("Choose a name", @ScriptDir, "Text files (*.txt)", 16, "fred.txt")
If @error Then
MsgBox(4096, "", "Save cancelled.")
Else
MsgBox(4096, "", "You chose " & $sFile)
_FileWriteFromArray($sFile, $avArray)
EndIf
EndSwitch
WEnd
GUIDelete($hGUI)Opt("GUIOnEventMode", $iOnEventMode)
[/autoit][autoit][/autoit][autoit]
Opt("GUIDataSeparatorChar", $sDataSeparatorChar)Return 1
[/autoit]
EndFunc ;==>_ArrayDisplayZur Vollständigkeit hier noch die Quelle des Originals:
http://www.autoitscript.com/forum/topic/15…-array-display/ -
Hallo,
ich wollte eine Funktion erstellen, die mir gewisse Arrays in einer Liste anzeigt (wie die Standartfunktion _arraydisplay)
Allerdings soll die gewünschte Zeile angeklickt werden und mit Bestätigung auf einen Button in einer Variable gespeichert werden.Mein Problem dabei: ich kenn mich in der Materie sehr wenig aus.
Kann mir jemand dabei helfen?
Vielen Dank schonmal
-
Vielen Dank für eure Antworten!
-
Hallo zusammen,
ich haben folgendes Problem:
ich erstelle mithilfe einer Funktion eine Liste, die mit der Standartfunktion _ArrayDisplay angezeigt wird.
So weit so gut, nun meine Frage, ist es möglich einen Wert aus der Liste durch anklicken in eine Variable zu speichern?Hatte mehrere Ansätze, da ich nicht weiß ob einer geeignet ist hier einfach mal mein xter Versuch als Codeausschnitt dabei
Vielen Dank schon einmal
[autoit]Global $infovar
[/autoit][autoit][/autoit][autoit]$Form1 = GUICreate("Dienste", 750, 750, -1, -1)
[/autoit][autoit][/autoit][autoit]$list = GUICtrlCreateListView("", 3, 25, 415, 315)
[/autoit][autoit][/autoit][autoit]
$Refresh = GUICtrlCreateButton("Refresh", 500, 175)GUISetState(@SW_SHOW)
[/autoit][autoit][/autoit][autoit]while 1
[/autoit]
$nMsg = GUIGetMsg()
select
case $nMsg = $GUI_EVENT_CLOSE
Exitloop
case $nMsg = $Refresh
_GetInfo($infovar, "All")
Dim $var = _ArrayDisplay($infovar)
GUICtrlCreateListViewItem($var, $list)
endselect
wendPS: Mir ist bewusst dass meine GUI ziemlich grauenvoll aussieht, diese dient aber in dem Fall nur zu Testzwecken