Beiträge von autoBert
-
-
Hallo itcrowds,
dann poste doch bitte dein Skript, damit man es testen kann,
mfg (Auto)Bert
-
Hallo achim89,
schau dir die Hilfe zu _WinNet_GetUser an,
mfg (Auto)Bert
-
Hallo TinkyWinky,
Zitat"Auszug aus der Hilfe zu REDIM" Das Schlüsselwort ReDim ist ähnlich zu Dim, außer dass ReDim die Werte im Array nicht löscht, wenn die Arraygröße verändert wird. Die Anzahl der Dimensionen des Arrays muss dazu allerdings gleich bleiben. Das Array erhält den Gültigkeitsbereich (Global oder Lokal), den es vor der Größenanpassung hatte.
du musst also das Array, gleich 2D deklarieren und nach StringSplit die Arraygröße anpassen,mfg (Auto)Bert
-
Hallo user2009,
du must beim erstellen mir GuiCreatePic den Stil $WS_CLIPSIBLINGS verwenden, zusätzlich noch
[autoit]GUICtrlSetState($hPic, BitOR($GUI_ONTOP, $GUI_SHOW)) und dann klappt's
[/autoit]Spoiler anzeigen
[autoit]#include <WinAPI.au3>
[/autoit] [autoit][/autoit] [autoit]$hgui = GUICreate ( "test", 500 , 500 )
[/autoit] [autoit][/autoit] [autoit]
GUISetBkColor (0x00ff00)
GUICtrlCreatePic ( 'hg.jpg',0,0 ,$WS_CLIPSIBLINGS)
$hPic = GUICtrlCreatePic ('',40,40,48,48 )
__SetIconAlpha($hPic, 'test.ico',0, 48, 48)GUICtrlSetState($hPic, BitOR($GUI_ONTOP, $GUI_SHOW))
[/autoit] [autoit][/autoit] [autoit]GUISetState()
[/autoit] [autoit][/autoit] [autoit]
While 1
Switch GUIGetMsg()
Case -3
Exit
case $hPic
MsgBox(0,"","Das Icon wurde angeklickt!!!")
EndSwitch
WEndFunc __SetIconAlpha($hWnd, $sIcon, $iIndex, $iWidth, $iHeight)
[/autoit] [autoit][/autoit] [autoit]
If Not IsHWnd($hWnd) Then
$hWnd = GUICtrlGetHandle($hWnd)
If $hWnd = 0 Then
Return SetError(1, 0, 0)
EndIf
EndIf
Local $hIcon = __WinAPI_ShellExtractIcons($sIcon, $iIndex, $iWidth, $iHeight)
If $hIcon = 0 Then
Return SetError(1, 0, 0)
EndIf
Local $hBitmap, $hObj, $hDC, $hMem, $hSv
$hDC = _WinAPI_GetDC($hWnd)
$hMem = _WinAPI_CreateCompatibleDC($hDC)
$hBitmap = _WinAPI_CreateCompatibleBitmap($hDC, $iWidth, $iHeight)
$hSv = _WinAPI_SelectObject($hMem, $hBitmap)
_WinAPI_DrawIconEx($hMem, 0, 0, $hIcon, $iWidth, $iHeight, 0, 0, 2)
_WinAPI_ReleaseDC($hWnd, $hDC)
_WinAPI_SelectObject($hMem, $hSv)
_WinAPI_DeleteDC($hMem)
_WinAPI_DestroyIcon($hIcon)
_WinAPI_DeleteObject(_SendMessage($hWnd, 0x0172, 0, 0))
_SendMessage($hWnd, 0x0172, 0, $hBitmap)
$hObj = _SendMessage($hWnd, 0x0173)
If $hObj <> $hBitmap Then
_WinAPI_DeleteObject($hBitmap)
EndIf
Return 1
EndFunc ;==>_SetIconAlphaFunc __WinAPI_ShellExtractIcons($sIcon, $iIndex, $iWidth, $iHeight)
[/autoit]
Local $Ret = DllCall('shell32.dll', 'int', 'SHExtractIconsW', 'wstr', $sIcon, 'int', $iIndex, 'int', $iWidth, 'int', $iHeight, 'ptr*', 0, 'ptr*', 0, 'int', 1, 'int', 0)
If (@error) Or ($Ret[0] = 0) Or ($Ret[5] = Ptr(0)) Then
Return SetError(1, 0, 0)
EndIf
Return $Ret[5]
EndFunc ;==>_WinAPI_ShellExtractIconsmfg (Auto)bert
-
Hallo @random(Tier,Mensch),
da könnt ihr nur hoffen, dass ihr keine BUGS und dann auch noch gefixt werdet,
mfg (Auto)Bert
-
Hallo MyticSun,
üblicherweise benutzt man dazu ein TabControl:
Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <TabConstants.au3>#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("Form1", 472, 162, 192, 124)
GUICtrlCreateTab(5, 5, 462, 152);, BitOR($TCS_FLATBUTTONS,$TCS_VERTICAL ))
GUICtrlCreateTabItem("1. Tab")
$Group2 = GUICtrlCreateGroup("Group2", 28, 38, 233, 153)
$Edit1 = GUICtrlCreateEdit("", 52, 62, 185, 89)
GUICtrlSetData(-1, "Edit1")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateTabItem("2. Tab")
$Group2 = GUICtrlCreateGroup("Group3", 128, 38, 233, 153)
$Button5 = GUICtrlCreateButton("Button5", 144, 60, 75, 25, $WS_GROUP)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 272, 76, 97, 17)
$Combo1 = GUICtrlCreateCombo("Combo1", 176, 116, 145, 25)
GUICtrlCreateTabItem("3. Tab")
GUICtrlCreateTabItem(""); Beendet die Tab DefinitionGUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitEndSwitch
[/autoit]
WEndmfg (Auto)Bert
-
Hallo acealone,
falls du mehrere gleichzeitig kopieren möchtest:
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstants.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
#include <ListViewConstants.au3>
;#include <array.au3>$main = GUICreate("Testlistview", 600, 400)
[/autoit] [autoit][/autoit] [autoit]
$listview = GUICtrlCreateListView("Gruppe1", 10, 10, 100, 100, BitOR($LVS_REPORT, $LVS_SHOWSELALWAYS), BitOR($LVS_EX_FULLROWSELECT, $WS_EX_CLIENTEDGE))
$listview2 = GUICtrlCreateListView("Gruppe2", 150, 10, 100, 100)
GUICtrlSetState($listview2, $GUI_DROPACCEPTED)
for $i = 1 to 9
$listitem = GUICtrlCreateListViewItem("test" & $i, $listview)
NextGUISetState()
[/autoit] [autoit][/autoit] [autoit]
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_DROPPED Then
$ar = _GUICtrlListView_GetSelectedIndices($ListView,true)
;_ArrayDisplay($ar)for $i = 1 to $ar[0]
[/autoit]
$sItem = _GUICtrlListView_GetItemTextString($ListView,$ar[$i])
GUICtrlCreateListViewItem ($sItem, $listview2 )
next
EndIf
If $msg = $GUI_EVENT_CLOSE Then Exit
WEndmfg (Auto)Bert
-
Hallo Hessebou, versuch einmal diese Variante:
Spoiler anzeigen
[autoit]#include <WindowsConstants.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.0.0
[/autoit] [autoit][/autoit] [autoit]
Authors: AutoBert: MainWindow with personalized Icons
funkey: Menu-everywhereDEMO: YES
[/autoit] [autoit][/autoit] [autoit]#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Opt("GUIOnEventMode", 1) ;ONEvent Mode.
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Global $iWidht = 1024, $iHeight = 550, $bMaxi = False
[/autoit] [autoit][/autoit] [autoit]HotKeySet("{F6}", "_hide")
[/autoit] [autoit][/autoit] [autoit]
$hfrmMain = GUICreate("", $iWidht, $iHeight, 0, 0, BitOR($WS_POPUPWINDOW, $WS_THICKFRAME))
;GUICtrlSetBkColor(-1, 0xffffff) ; alles was die Farbe weiß hat, ist transparent
GUISetOnEvent($GUI_EVENT_CLOSE, "_exitMain")
;$hjpgBckgrnd = GUICtrlCreatePic(@ScriptDir & "\bin\beetle.JPG", 0, 0, $iWidht, $iHeight)
$hjpgBckgrnd = GUICtrlCreatePic(@ScriptDir & "\bin\beetle.JPG", 0, -40, $iWidht, $iHeight, $WS_CLIPSIBLINGS)
GUICtrlSetState(-1, $GUI_DISABLE)
$hfrmChild= GUICreate("GUI",$iWidht,$iHeight,-1,-1,$WS_POPUP,$WS_EX_MDICHILD,$hfrmMain)
WinSetTrans ("GUI","",170)
WinSetOnTop("GUI","",1)
;$hlblMyTitle = GUICtrlCreateLabel("Meine personalisierte GUI", 200, 0, 500, 22, -1, $GUI_WS_EX_PARENTDRAG) evtl zum Verschieben der GUIS
$hlblMyTitle = GUICtrlCreateLabel("Meine personalisierte GUI", 200, 0, 500, 22)
GUICtrlSetBkColor(-1, 0xffffff) ; auf gleiche Farbe wie Hintergrundbild setzen
GUICtrlSetFont(-1, 16)
GUICtrlSetResizing(-1, $GUI_DOCKAll)$hicoApp = GUICtrlCreateIcon(@ScriptDir & "\bin\App.ico", -1, 0, 0, 48, 32)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent($hicoApp, "_about")
$hicoClose = GUICtrlCreateIcon(@ScriptDir & "\bin\close.ico", -1, 900, 0, 16, 16)
GUICtrlSetOnEvent($hicoClose, "_exitMain")
$hicoMini = GUICtrlCreateIcon(@ScriptDir & "\bin\mini.ico", -1, 820, 0, 16, 16)
GUICtrlSetOnEvent($hicoMini, "_Minimize")
$hicoMaxi = GUICtrlCreateIcon(@ScriptDir & "\bin\maxi.ico", -1, 860, 0, 16, 16)
GUICtrlSetOnEvent($hicoMaxi, "_Maximize")
$hicoNorm = GUICtrlCreateIcon(@ScriptDir & "\bin\normalize.ico", -1, 860, 0, 16, 16)
GUICtrlSetOnEvent($hicoNorm, "_Normalize")
GUICtrlSetState($hicoNorm, $GUI_HIDE)$hicoExit = GUICtrlCreateIcon(@ScriptDir & '\bin\Close.ico', 0, $iWidht - 150, $iHeight - 160, 48, 48);, $WS_CLIPSIBLINGS, $WS_EX_LAYERED)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent(-1, "_exitMain")
GUICtrlSetState(-1, BitOR($GUI_ONTOP, $GUI_SHOW))
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
$hlblExit = GUICtrlCreateButton("be&enden", $iWidht - 150, $iHeight - 115,48,20)
GUICtrlSetOnEvent(-1, "_exitMain")
GUISwitch($hfrmMain)
#Region ;ab hier Menü überall plazieren siehe http://www.autoit.de/index.php?page…0614#post110614 von funkey
GUICtrlCreateLabel('', 0, 0, $iWidht, 2, 0x1000)
GUICtrlSetResizing(-1, $GUI_DOCKAll)$MenueDatei = GUICtrlCreateLabel('&Datei', 60, 5, 40, 19, 0x201)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetResizing(-1, $GUI_DOCKAll)
GUICtrlSetBkColor(-1, 0xffffff) ; alles was die Farbe weiß hat, ist transparent
GUICtrlSetOnEvent(-1, '_MenuPressed')$DateiContext = GUICtrlCreateContextMenu(GUICtrlCreateDummy())
[/autoit] [autoit][/autoit] [autoit]
$OptionsOpen = GUICtrlCreateMenuItem("Ö&ffnen", $DateiContext)
GUICtrlSetOnEvent(-1, "_openJPG")
$OptionsClose = GUICtrlCreateMenuItem("S&chließen", $DateiContext)
GUICtrlCreateMenuItem("", $DateiContext)
GUICtrlSetOnEvent(-1, "_Close")
$OptionsExit = GUICtrlCreateMenuItem("B&eenden", $DateiContext)
GUICtrlSetOnEvent(-1, '_ExitMain')$MenueHelp = GUICtrlCreateLabel("&Hilfe", 135, 5, 30, 19, 0x201)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetResizing(-1, $GUI_DOCKAll)
GUICtrlSetBkColor(-1, 0xffffff) ; alles was die Farbe weiß hat, ist transparent
GUICtrlSetOnEvent(-1, '_MenuPressed')$HelpContext = GUICtrlCreateContextMenu(GUICtrlCreateDummy())
[/autoit] [autoit][/autoit] [autoit]
$HelpWWW = GUICtrlCreateMenuItem("&Website", $HelpContext)
GUICtrlSetOnEvent(-1, '_Website')
GUICtrlCreateMenuItem("", $HelpContext)
$HelpAbout = GUICtrlCreateMenuItem("Ü&ber...", $HelpContext)
GUICtrlSetOnEvent(-1, '_About')GUICtrlCreateLabel('', 0, 0, $iWidht, 2, 0x1000)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUICtrlSetResizing(-1, $GUI_DOCKAll)Global $AccelKeys[3][2] = [["!d", $MenueDatei],["!h", $MenueHelp],["!e", $hlblExit]]
[/autoit] [autoit][/autoit] [autoit]
GUISetAccelerators($AccelKeys)
;ende Menü überall
#EndRegion
GUISetState(@SW_SHOW, $hfrmMain)
GUISetState(@SW_SHOW, $hfrmChild)While True
[/autoit] [autoit][/autoit] [autoit]
Sleep(1000)
WEndFunc _exitMain()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFunc ;==>_exitMainFunc _Minimize()
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_MINIMIZE, $hfrmMain)
EndFunc ;==>_MinimizeFunc _Maximize()
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_MAXIMIZE, $hfrmMain)
GUICtrlSetState($hicoMaxi, $GUI_HIDE)
GUICtrlSetState($hicoNorm, $GUI_SHOW)
EndFunc ;==>_MaximizeFunc _Normalize()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_RESTORE, $hfrmMain)
GUICtrlSetState($hicoNorm, $GUI_HIDE)
GUICtrlSetState($hicoMaxi, $GUI_SHOW)
EndFunc ;==>_Normalize; -------------- func
[/autoit] [autoit][/autoit] [autoit]
Func _hide()
GUISetState(@SW_HIDE, $hfrmMain)
HotKeySet("{F6}", "_show")
EndFunc ;==>_hideFunc _show()
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_SHOW, $hfrmMain)
HotKeySet("{F6}", "_hide")
EndFunc ;==>_showFunc _OpenJPG()
[/autoit] [autoit][/autoit] [autoit]
$sjpgBckgrnd = FileOpenDialog("Hintergrundbild auswählen", @ScriptDir & "\bin", "Images (*.jpg)", 1, "", $hfrmMain)
GUICtrlSetImage($hjpgBckgrnd, $sjpgBckgrnd)
EndFunc ;==>_OpenJPGFunc _Close()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0, "Button", "Schliessen wurde geklickt!")
EndFunc ;==>_Close;ab hier Funktionen von Menü überall plazieren siehe http://www.autoit.de/index.php?page…0614#post110614 von funkey
[/autoit] [autoit][/autoit] [autoit]
Func _MenuPressed()
Switch @GUI_CtrlId
Case $MenueDatei
ShowMenu($hfrmMain, $MenueDatei, $DateiContext)
Case $MenueHelp
ShowMenu($hfrmMain, $MenueHelp, $HelpContext)
EndSwitch
EndFunc ;==>_MenuPressedFunc _About()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(64, "About...", "Beispiel für personalisierte GUI von (Auto)Bert" & @CRLF & "mit Beispiel für ein eigenes Menü von funkey" & @CRLF & "www.autoit.de/index.php?page=Thread&postID=110614#post110614")
EndFunc ;==>_AboutFunc _Website()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(64, "Website...", "http://www.autoit.de/index.php?page=Thread&postID=116673#post116673")
EndFunc ;==>_Website; Show a menu in a given GUI window which belongs to a given GUI ctrl
[/autoit] [autoit][/autoit] [autoit]
Func ShowMenu($hWnd, $CtrlID, $nContextID)
Local $arPos, $x, $y
Local $hMenu = GUICtrlGetHandle($nContextID)$arPos = ControlGetPos($hWnd, "", $CtrlID)
[/autoit] [autoit][/autoit] [autoit]$x = $arPos[0]
[/autoit] [autoit][/autoit] [autoit]
$y = $arPos[1] + $arPos[3]ClientToScreen($hWnd, $x, $y)
[/autoit] [autoit][/autoit] [autoit]
TrackPopupMenu($hWnd, $hMenu, $x, $y)
EndFunc ;==>ShowMenu; Convert the client (GUI) coordinates to screen (desktop) coordinates
[/autoit] [autoit][/autoit] [autoit]
Func ClientToScreen($hWnd, ByRef $x, ByRef $y)
Local $stPoint = DllStructCreate("int;int")DllStructSetData($stPoint, 1, $x)
[/autoit] [autoit][/autoit] [autoit]
DllStructSetData($stPoint, 2, $y)DllCall("user32.dll", "int", "ClientToScreen", "hwnd", $hWnd, "ptr", DllStructGetPtr($stPoint))
[/autoit] [autoit][/autoit] [autoit]$x = DllStructGetData($stPoint, 1)
[/autoit] [autoit][/autoit] [autoit]
$y = DllStructGetData($stPoint, 2)
; release Struct not really needed as it is a local
$stPoint = 0
EndFunc ;==>ClientToScreen; Show at the given coordinates (x, y) the popup menu (hMenu) which belongs to a given GUI window (hWnd)
[/autoit] [autoit][/autoit] [autoit][/autoit]
Func TrackPopupMenu($hWnd, $hMenu, $x, $y)
DllCall("user32.dll", "int", "TrackPopupMenuEx", "hwnd", $hMenu, "int", 0, "int", $x, "int", $y, "hwnd", $hWnd, "ptr", 0)
EndFunc ;==>TrackPopupMenumfg (Auto)Bert
-
Hallo kleiner27,
ZitatIch habe ein code der auf einmal sehr viel berechnet der läuft mit GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND') aber wenn ich im code eine andere func aufrufe die auch eine mänge berechnet und anzeigt dauert es ziemlich lage bis er das beweltigt hat!
durch GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND') werden soweit ich verstanden habe alles andere pausiert darum meine frage????Ja, die registrierte Funktion wird zu Ende ausgeführt und erst danach die anderen Botschaften der Reihe nach abgearbeitet. Du kannst evtl. zu Beginn von Zeitaufwendigen Funktionen mit GUIRegisterMsg ( msgID, "" ) die MSG deRegistrieren, siehe Hilfe z GuiRegisterMsg.
Als Tip:
Zitat"Auszug aus der Hilfe zu GuiRegisterMsg" Warnung: Das Blockieren von laufenden Benutzerfunktionen, die Fensternachrichten verwenden (z.B. mit Befehlen wie "Msgbox()"), kann zu unerwartetem Verhalten führen. So schnell wie möglich sollte dann die Rückkehr zum System stattfinden !!!
Du solltest also für MsgBox und InputBox stets den TimeOut-Parameter verwenden, damit das System nicht blockiert wird.
Schau dir auch die folgenden Threads an:
[ offen ] Fragen zu GUIRegisterMsg
[ offen ] Kann mir mal jemand erklären was GUIRegisterMsg bewirk?, hife kapier ich nicht:-(mfg (Auto)Bert
-
-
Hallo Raupi,
da die Routinen ja bis auf den Teil in dem du die gefundenen Werte der größten Zahl löschst identisch sind, ist der Unterschied zwangsläufig die Zeiz die fürs Löschen benötigt wird. Aber diese 0,4 -0,6 Sekunden dürften wohl nicht stören,
mfg (Auto)Bert
-
-
Hallo Raupi ,
es geht auch ohne _ArrayDelete, dadurch etwas kürzer und minimaal schneller:
Spoiler anzeigen
[autoit]#include <array.au3>
[/autoit]
Dim $array[10000]
dim $max[2][2]
$array[0] = 9999
For $i = 1 To 9999
$array[$i] = Random(1,999,1)
Next
_ArraySort($array,0,1,9999)
_ArrayDisplay($array,"Jetzt befindet sich die höchste Zahl am Ende BITTE Zur Kontrolle kopieren!!!!")
$max[0][0] = $array[$array[0]] ;die absolute größte Zahl
$max[0][1] = _ArrayFindAll($array,$max[0][0],1,9999) ;ein Array mit ALLEN gefundenen Werten der größten Zahl!!!!!!!
$max[1][0] = $array[$array[0] - UBound($max[0][1])] ;die 2 größte Zahl
$max[1][1] = _ArrayFindAll($array,$max[1][0],1,9999) ;ein Array mit ALLEN gefundenen größten Werten der 2. Zahl!!!!!!!
ConsoleWrite($max[0][0] & " ist " & UBound($max[0][1]) & " mal im Array vorhanden" & @crlf)
ConsoleWrite($max[1][0] & " ist " & UBound($max[1][1]) & " mal im Array vorhanden" & @crlf)mfg (Auto)Bert
-
Hallo EP2,
eine der Möglichkeiten:
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#Include <GuiListView.au3>
#include <Array.au3>Dim $array[3][2]
[/autoit] [autoit][/autoit] [autoit]
$array[0][0] = "a"
$array[0][1] = "a2"
$array[1][0] = "b"
$array[1][1] = "b2"
$array[2][0] = "c"
$array[2][1] = "c2"
_ArrayDisplay( $array, "Whole array" )GUICreate("bla",700,700)
[/autoit] [autoit][/autoit] [autoit]
GUISetState (@SW_SHOW)$listview = GUICtrlCreateListView ("Spalte1|Spalte2",20,30,200,150)
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 To UBound($array) -1
$item=GUICtrlCreateListViewItem($array[$i][0] & "|" & $array[$i][1],$listview)
GUICtrlSetData(-1,$item)
Next
$button = GUICtrlCreateButton ("next element",75,500,70,20)
Do
$msg = GUIGetMsg ()
Select
Case $msg = $button
For $i = 1 to _GUICtrlListView_GetItemCount($listview)
$a = _GUICtrlListView_GetItemTextArray($listview,$i-1)
for $j = 1 to $a[0]
MsgBox(0,"Item : " & $i+1 & "Col : " & $j,$a[$j])
Next
Next; $a=GUICtrlRead(GUICtrlRead($listview)) ;<========= GuiCtrlRead ergibt die ID des aktuell slecktierte Items
[/autoit]
; MsgBox(0,"ausgabe",$a)
EndSelect
Until $msg = $GUI_EVENT_CLOSE -
Hallo dschihejns,
schau dir die Funktionen _ArrayMax, _ArraySort und _ArrayFindAll in der Hilfe an,
mfg (Auto)Bert
-
Hallo opaed,
noch eine Möglichkeit:Spoiler anzeigen
[autoit]#include <ComboConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 207, 177, 192, 124)
$Combo1 = GUICtrlCreateCombo("0.10", 65, 42, 73, 25)
for $data = 0.2 to 9.9 Step 0.1
GUICtrlSetData(-1, round($data,1))
Next
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitEndSwitch
[/autoit]
WEndmfg (Auto)Bert
-
Hallo H1tsugaya,
hier eine Lösungsvarianze mit Arrays
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <file.au3>
#include <array.au3>Global $aArray
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $raum ; für Zählvariable
Global $htab ; für ID des Tabcontrols
Global $htabRaum[10] ; Array für IDs der TabItems
Global $hchkPC[10][30] ; Array für IDs der Checkboxen für maximal 9 Räume à 29 PC
GUISetBkColor(0x00E0FFFF)
GUISetFont(9, 300)GUICreate("Wake on lan", 450, 415)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $hbtnWakeUp = GUICtrlCreateButton("Auf&wecken", 340, 390, 100)
$htab = GUICtrlCreateTab(10, 10, 435, 380)
GUISetState(@SW_SHOW)For $raum = 1 To 6
[/autoit] [autoit][/autoit] [autoit]
Switch $raum
Case 1
$FileToRead = @ScriptDir & '\Raum 3090.txt'
$htabRaum[$raum] = GUICtrlCreateTabItem("Raum 3090")
Case 2
$FileToRead = @ScriptDir & '\Raum 4037.txt'
$htabRaum[$raum] = GUICtrlCreateTabItem("Raum 4037")
Case 3
$FileToRead = @ScriptDir & '\Raum 4043.txt'
$htabRaum[$raum] = GUICtrlCreateTabItem("Raum 4043")
Case 4
$FileToRead = @ScriptDir & '\Raum 4044.txt'
$htabRaum[$raum] = GUICtrlCreateTabItem("Raum 4044")
Case 5
$FileToRead = @ScriptDir & '\Raum 5017.txt'
$htabRaum[$raum] = GUICtrlCreateTabItem("Raum 5017")
Case 6
$FileToRead = @ScriptDir & '\Raum 5018.txt'
$htabRaum[$raum] = GUICtrlCreateTabItem("Raum 5018")
EndSwitch
If _FileReadToArray($FileToRead,$aArray) ThenFor $pc = 1 To $aArray[0]
[/autoit] [autoit][/autoit] [autoit]
ConsoleWrite($raum & " PC: " & $pc & @CRLF)
$ausgabe = StringSplit($aArray[$pc], ";" & @CRLF)
$i = Int(($pc + 9) / 10) * 80
$j = Mod(($pc + 9), 10) * 25 + 80
$hchkPC[$raum][$pc] = GUICtrlCreateCheckbox("" & $ausgabe[1], $i, $j)
Next
EndIf
Next
GUICtrlCreateTabItem("")GUISetState()
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit]
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
case $msg = $hbtnWakeUp
for $raum = 1 to 6
For $pc = 1 to 29
if BITAND(GUICtrlRead($hchkPC[$raum][$pc]),$GUI_CHECKED) = $GUI_CHECKED Then
ConsoleWrite("Aufwachen PC " & $pc & " in Raum " & @CRLF);mit WOL-Befehl ersetzen
EndIf
Next
Next
EndSelect
WEndschau dir die benutzten Funktionen in der Hilfe an
-
Hallo H1tsugaya,
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <file.au3>Dim $rechts = 25
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Dim $rechts1 = 25
Dim $Start = 35
Dim $Start1 = 35
Dim $Start2 = 35
Dim $Start3 = 35
Dim $Start4 = 35
Dim $Start5 = 35
Dim $Start6 = -290
Dim $Zaehler = 25
Dim $aArray
Dim $checkbox
GUISetBkColor(0x00E0FFFF)
GUISetFont(9, 300)GUICreate("Wake on lan", 450, 415)
[/autoit] [autoit][/autoit] [autoit]
$button_Aufwecken = GUICtrlCreateButton("Aufwecken", 340, 390, 100)
$tab = GUICtrlCreateTab(10, 10, 435, 380)
GUISetState(@SW_SHOW)$tab0 = GUICtrlCreateTabItem("Raum 3090")
[/autoit] [autoit][/autoit] [autoit]If Not _FileReadToArray(@ScriptDir & '\Raum 3090.txt', $aArray) Then
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]For $t = 1 To UBound($aArray)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$ausgabe = StringSplit($aArray[$t], ";")GUICtrlCreateCheckbox("" & $ausgabe[1], $rechts, $Start)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$Start = $Start + $ZaehlerNext
[/autoit] [autoit][/autoit] [autoit]EndIf
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$tab1 = GUICtrlCreateTabItem("Raum 4037")
If Not _FileReadToArray(@ScriptDir & '\Raum 4037.txt', $aArray) ThenFor $t = 1 To UBound($aArray)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$ausgabe = StringSplit($aArray[$t], ";")GUICtrlCreateCheckbox("" & $ausgabe[1], $rechts, $Start1)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$Start1 = $Start1 + $ZaehlerNext
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
EndIf
$tab2 = GUICtrlCreateTabItem("Raum 4043")
If Not _FileReadToArray(@ScriptDir & '\Raum 4043.txt', $aArray) ThenFor $t = 1 To UBound($aArray)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$ausgabe = StringSplit($aArray[$t], ";")GUICtrlCreateCheckbox("" & $ausgabe[1], $rechts, $Start2)
[/autoit] [autoit][/autoit] [autoit]$Start2 = $Start2 + $Zaehler
[/autoit] [autoit][/autoit] [autoit]
If $Start2 > 380 Then $rechts = 100
If $rechts = 100 Then $Start2 = $Start6
$Start6 = $Start6 + $ZaehlerNext
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
EndIf
$tab3 = GUICtrlCreateTabItem("Raum 4044")
If Not _FileReadToArray(@ScriptDir & '\Raum 4044.txt', $aArray) ThenFor $t = 1 To UBound($aArray)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$ausgabe = StringSplit($aArray[$t], ";")GUICtrlCreateCheckbox("" & $ausgabe[1], $rechts1, $Start3)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$Start3 = $Start3 + $ZaehlerNext
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
EndIf
$tab4 = GUICtrlCreateTabItem("Raum 5017")
If Not _FileReadToArray(@ScriptDir & '\Raum 5017.txt', $aArray) ThenFor $t = 1 To UBound($aArray)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$ausgabe = StringSplit($aArray[$t], ";")GUICtrlCreateCheckbox("" & $ausgabe[1], $rechts1, $Start4)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$Start4 = $Start4 + $ZaehlerNext
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
EndIf
$tab5 = GUICtrlCreateTabItem("Raum 5018")
If Not _FileReadToArray(@ScriptDir & '\Raum 5018.txt', $aArray) ThenFor $t = 1 To UBound($aArray)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$ausgabe = StringSplit($aArray[$t], ";")GUICtrlCreateCheckbox("" & $ausgabe[1], $rechts1, $Start5)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$Start5 = $Start5 + $ZaehlerNext
[/autoit] [autoit][/autoit] [autoit]
EndIf
GUICtrlCreateTabItem("")GUISetState()
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitEndSelect
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]WEnd
[/autoit]
Du solltest eine der Textdateien hochladen, damit man das Skript weiterentwickeln und auch testen kann,mfg (Auto)Bert
-
Hallo subzero007,
so sollte es funktionieren:
[autoit]
[/autoit]
If (FileExists("\\server\share\log1\" & $ListViewText & ".log")) Or (FileExists("\\server\share\log2\" & $ListViewText & ".log")) Then
$FileToOpen = ""
if FileExists("\\server\share\log1\" & $ListViewText & ".log") then $FileToOpen = "\\server\share\log1\" & $ListViewText & ".log"
if ($FileToOpen = "") and FileExists("\\server\share\log2\" & $ListViewText & ".log") then $FileToOpen = "\\server\share\log2\" & $ListViewText & ".log"
if $FileToOpen <> "" then $file = FileOpen($FileToOpen)
Else
GUICtrlCreateListViewItem($temp[17] & "||" & $Text & "|" & $temp[7] & "|" & $IP & "|" & $STATus, $Liste)
EndIfmfg (Auto)Bert