Vielleicht ist auch das von Interesse: ToolTip, beenden mit Mausbewegung bzw. nach Zeitablauf
Beiträge von BugFix
-
-
nur so aus neugier, hast du auch die für schweizerdeutsche tastaturen? *g*
Ich habe die Codes für die Schweizer Tastatur ergänzt - wo ihr doch so eine schöne Schokolade macht.
-
Hier mal ein funktionierendes Bsp.:
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#NoTrayIconOpt("TrayMenuMode",1) ; Default tray menu items (Script Paused/Exit) will not be shown.
[/autoit] [autoit][/autoit] [autoit]$GUI = GUICreate('Test')
[/autoit] [autoit][/autoit] [autoit]$displayitem = TrayCreateItem("Display")
[/autoit] [autoit][/autoit] [autoit]
TrayCreateItem("")
$exititem = TrayCreateItem("Exit")TraySetState()
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
$msg = TrayGetMsg()
Select
Case $msg = $displayitem
_moveGUI($GUI)
GUISetState(@SW_SHOW, $GUI)
Case $msg = $exititem
ExitLoop
EndSelect
If GUIGetMsg() = $GUI_EVENT_CLOSE Then GUISetState(@SW_HIDE, $GUI)
WEndExit
[/autoit] [autoit][/autoit] [autoit]Func _moveGUI($GUI_ID)
[/autoit]
Local $mouse = MouseGetPos(), $win = WinGetPos($GUI_ID)
WinMove($GUI_ID, '', $mouse[0]-$win[2], $mouse[1]-($win[3]+20))
EndFunc -
Füg das mal an den Skriptanfang ein. Dann wird deine GUI beim Start so verschoben, dass die rechte untere Ecke sich über dem Mauszeiger befindet, also der Position des Traysymbols beim Klicken.
[autoit]; Deine GUI-Deklaration
[/autoit][autoit][/autoit][autoit]
$GUI_ID = GUICreate('')
;...
GUISetState();######### Hier die Position setzen #############
[/autoit][autoit][/autoit][autoit]
Local $mouse = MouseGetPos(), $win = WinGetPos($GUI_ID)
WinMove($GUI_ID, '', $mouse[0]-$win[2], $mouse[1]-($win[3]+20))While 1
[/autoit]
;..
WEnd -
Das ist eine Rebar:
Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. -
z.B. so:
[autoit]$oIE = _IECreate($url)
[/autoit]
While IsObj($oIE)
;....
WEnd -
Hi,
bin gerade erst auf diesen Post gestoßen und empfinde es ehrlich gesagt als bodenlose Frechheit, was Mc.Neal hier so alles von sich gibt.Zitat von Mc.Nealaber soweit können mache mods leider nicht denken .
@Mc.Neal:
Wir zwingen dich nicht, an unserem Forum zu partzipieren!
Was du hier von dir gibst, ist eine direkte Beleidigung und sowas können und wollen wir hier nicht dulden.Ich erteile dir hiermit eine Verwarnung.
Ich hoffe, du verstehst den Sinn solch einer Maßnahme und wirst durch dein künftiges Verhalten den Willen erkennen lassen, ein Teil unserer Gemeinschaft zu sein.
Anderenfalls werden wir dir auch keine Träne nachweinen.Im Übrigen kann ich dir auch nur empfehlen, wenn du schon Probleme mit der deutschen Sprache hast, verwende doch Rechtschreib- und Grammatikprüfung. Das hilft dir und uns.
-
Deine Variante ändert aber irgendwie die "Datums"
Sorry, sehe gerade, ich habmich verzählt LOL. Korrektur kommt gleich.Hierdrin war der Fehler, jetzt stimmts:
[autoit]; Datum zurück konvertieren
[/autoit]
For $i = 0 To UBound($arCSV) -1
$arCSV[$i][1] = StringRight($arCSV[$i][1], 2) & '.' & StringMid($arCSV[$i][1], 5, 2) & '.' & StringLeft($arCSV[$i][1], 4)
Next -
ihr müsst schneller werden

He-He, guck mal wie alt ich bin! Da sind gewisse Verschleißerscheinungen doch wohl entschuldbar.

-
OK, gründliche Problemschilderung hilft meist..

Da ein Datum enthalten ist, schlage ich eine Lösung mit Datenbank-basierter Sortierfunktion vor.
Da hatte ich nicht bedacht, dass SQLite keinen Datentyp DATE kennt.
Also hier eine Array-Variante:Spoiler anzeigen
[autoit]#include <Array.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <File.au3>$file = 'muster_1.csv'
[/autoit] [autoit][/autoit] [autoit]; 2D-Array erzeugen und Datum sortierfähig einfügen (JJJJ-MM-TT)
[/autoit] [autoit][/autoit] [autoit]
Global $arCSV[_FileCountLines($file)][2], $line, $split, $fh = FileOpen($file, 0), $i = 0
While 1
$line = FileReadLine($fh)
If @error = -1 Then ExitLoop
If Not StringInStr($line, ';') Then ContinueLoop
$split = StringSplit($line, ';')
$arCSV[$i][0] = $split[1]
$arCSV[$i][1] = StringStripWS($split[2], 3) ; führende und folgende Leerzeichen entfernen
$arCSV[$i][1] = StringRight($arCSV[$i][1], 4) & StringMid($arCSV[$i][1], 4, 2) & StringLeft($arCSV[$i][1], 2)
$i += 1
Wend
FileClose($fh); Sortieren nach Datum
[/autoit] [autoit][/autoit] [autoit]
_ArraySort($arCSV, 0, 0, 0, 1); Datum zurück konvertieren
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 To UBound($arCSV) -1
$arCSV[$i][1] = StringRight($arCSV[$i][1], 2) & '.' & StringMid($arCSV[$i][1], 3, 2) & '.' & StringLeft($arCSV[$i][1], 4)
Next; Anzeigen
[/autoit]
_ArrayDisplay($arCSV) -
BugFix :
Vom prinzib her is dein script aber i.wie gleich mit dem was ich als letztes gepostet hab, oder
Jo, aber als ich geschrieben habe, war deine Antwort noch nicht da
- erst nach dem Posten - hab halt zu langsam geschrieben 
-
Schon mal TeamViewer probiert?
-
Die Datei ist sicher schreibgeschützt. Also setze das Attribut mit FileSetAttrib() auf '-R'.
[autoit]
Es kann sein, dass die Datei auch andere, den Löschvorgang unterbindende, Flags hat (SH).
Laß dir am Besten alle Attribute zurückgeben und setze die störenden zurück.
z.B. so:$file = 'Dateipfad'
[/autoit]
$attrib = StringSplit(FileGetAttrib($file), '')
$stringSet = '-'
For $i = 1 To UBound($attrib) -1
Switch $attrib[$i]
Case 'R'
$stringSet &= 'R'
Case 'H'
$stringSet &= 'H'
Case 'S'
$stringSet &= 'S'
EndSwitch
Next
FileSetAttrib($file, $stringSet)
FileDelete($file) -
Spoiler anzeigen
[autoit]$strComputer = "."
[/autoit] [autoit][/autoit] [autoit]
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\cimv2")
$colItems = $objWMIService.ExecQuery ("Select * from Win32_VideoController")For $objItem in $colItems
[/autoit]
ConsoleWrite( "Adapter Compatibility: " & $objItem.AdapterCompatibility & @LF)
ConsoleWrite( "Adapter DAC Type: " & $objItem.AdapterDACType & @LF)
ConsoleWrite( "Adapter RAM: " & $objItem.AdapterRAM & @LF)
ConsoleWrite( "Availability: " & $objItem.Availability & @LF)
ConsoleWrite( "Color Table Entries: " & $objItem.ColorTableEntries & @LF)
ConsoleWrite( "Current Bits Per Pixel: " & $objItem.CurrentBitsPerPixel & @LF)
ConsoleWrite( "Current Horizontal Resolution: " & _
$objItem.CurrentHorizontalResolution & @LF)
ConsoleWrite( "Current Number of Colors: " & $objItem.CurrentNumberOfColors & @LF)
ConsoleWrite( "Current Number of Columns: " & $objItem.CurrentNumberOfColumns & @LF)
ConsoleWrite( "Current Number of Rows: " & $objItem.CurrentNumberOfRows & @LF)
ConsoleWrite( "Current Refresh Rate: " & $objItem.CurrentRefreshRate & @LF)
ConsoleWrite( "Current Scan Mode: " & $objItem.CurrentScanMode & @LF)
ConsoleWrite( "Current Vertical Resolution: " & _
$objItem.CurrentVerticalResolution & @LF)
ConsoleWrite( "Description: " & $objItem.Description & @LF)
ConsoleWrite( "Device ID: " & $objItem.DeviceID & @LF)
ConsoleWrite( "Device Specific Pens: " & $objItem.DeviceSpecificPens & @LF)
ConsoleWrite( "Dither Type: " & $objItem.DitherType & @LF)
ConsoleWrite( "Driver Date: " & $objItem.DriverDate & @LF)
ConsoleWrite( "Driver Version: " & $objItem.DriverVersion & @LF)
ConsoleWrite( "ICM Intent: " & $objItem.ICMIntent & @LF)
ConsoleWrite( "ICM Method: " & $objItem.ICMMethod & @LF)
ConsoleWrite( "INF Filename: " & $objItem.InfFilename & @LF)
ConsoleWrite( "INF Section: " & $objItem.InfSection & @LF)
ConsoleWrite( "Installed Display Drivers: " & _
$objItem.InstalledDisplayDrivers & @LF)
ConsoleWrite( "Maximum Memory Supported: " & $objItem.MaxMemorySupported & @LF)
ConsoleWrite( "Maximum Number Controlled: " & $objItem.MaxNumberControlled & @LF)
ConsoleWrite( "Maximum Refresh Rate: " & $objItem.MaxRefreshRate & @LF)
ConsoleWrite( "Minimum Refresh Rate: " & $objItem.MinRefreshRate & @LF)
ConsoleWrite( "Monochrome: " & $objItem.Monochrome & @LF)
ConsoleWrite( "Name: " & $objItem.Name & @LF)
ConsoleWrite( "Number of Color Planes: " & $objItem.NumberOfColorPlanes & @LF)
ConsoleWrite( "Number of Video Pages: " & $objItem.NumberOfVideoPages & @LF)
ConsoleWrite( "PNP Device ID: " & $objItem.PNPDeviceID & @LF)
ConsoleWrite( "Reserved System Palette Entries: " & _
$objItem.ReservedSystemPaletteEntries & @LF)
ConsoleWrite( "Specification Version: " & $objItem.SpecificationVersion & @LF)
ConsoleWrite( "System Palette Entries: " & $objItem.SystemPaletteEntries & @LF)
ConsoleWrite( "Video Architecture: " & $objItem.VideoArchitecture & @LF)
ConsoleWrite( "Video Memory Type: " & $objItem.VideoMemoryType & @LF)
ConsoleWrite( "Video Mode: " & $objItem.VideoMode & @LF)
ConsoleWrite( "Video Mode Description: " & $objItem.VideoModeDescription & @LF)
ConsoleWrite( "Video Processor: " & $objItem.VideoProcessor & @LF)
ConsoleWrite( "====================================================================" & @CRLF)
Next -
z.B. so:
[autoit]Local $array[4] = ['beispiel;100','beispiel2; 200','beispiel3; 300','beispiel4; 400']
[/autoit][autoit][/autoit][autoit]For $i = 0 To UBound($array) -1 ; aufpassen auf deinen Startindex
[/autoit]
$array[$i] = StringRegExpReplace($array[$i], '(?:.*;\s?)(\d*)', '$1')
ConsoleWrite('$array[' & $i & ']: ' & $array[$i] & @CRLF)
Next -
Wie war das jetzt mit dem Dummy? Das kapier ich irgendwie nicht...
Hier mal die Lösung mit Dummy:Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GuiTreeView.au3>
#include <TreeViewConstants.au3>
#include <WindowsConstants.au3>Opt("MustDeclareVars", 1)
[/autoit] [autoit][/autoit] [autoit]
Opt("GuiOnEventMode", 1)Global $gui, $hImage, $hTV, $aID_Sub[5], $ID_Table
[/autoit] [autoit][/autoit] [autoit]$gui = GUICreate('Test TreeView')
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, '_end')
$hTV = GUICtrlCreateTreeView(10,10,300,350,BitOR($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, _
$TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE)
Global $WM_NOTIFY_DUMMY = GUICtrlCreateDummy()
GUICtrlSetOnEvent($WM_NOTIFY_DUMMY, "TreeViewClick")$hImage = _GUIImageList_Create(16, 16, 5, 3)
[/autoit] [autoit][/autoit] [autoit]
_GUIImageList_AddIcon($hImage, "shell32.dll", 98)
_GUIImageList_AddIcon($hImage, "shell32.dll", 96)
_GUIImageList_AddIcon($hImage, "shell32.dll", 36)
_GUICtrlTreeView_SetNormalImageList($hTV, $hImage)_GUICtrlTreeView_BeginUpdate($hTV)
[/autoit] [autoit][/autoit] [autoit]
$ID_Table = _GUICtrlTreeView_Add($hTV, 0, 'Table', 0, 0)
For $i = 1 To 5
$aID_Sub[$i-1] = _GUICtrlTreeView_AddChild($hTV, $ID_Table, 'Sub' & $i, 1, 1)
For $j = 1 To 3
_GUICtrlTreeView_AddChild($hTV, $aID_Sub[$i-1], 'Sub_Sub' & $j, 2, 2)
Next
Next
_GUICtrlTreeView_EndUpdate($hTV)
_GUICtrlTreeView_Expand($hTV, $ID_Table)GUISetState()
[/autoit] [autoit][/autoit] [autoit]
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc _end()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc TreeViewClick()
[/autoit] [autoit][/autoit] [autoit]
Local $hTVItem = _GUICtrlTreeView_GetSelection($hTV)
MsgBox(0, 'Item - Text', _GUICtrlTreeView_GetText($hTV, $hTVItem) )
EndFuncFunc WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
[/autoit] [autoit][/autoit] [autoit]
#forceref $hWnd, $iMsg, $iwParam
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndTreeview
$hWndTreeview = $hTV
If Not IsHWnd($hWndTreeview) Then $hWndTreeview = GUICtrlGetHandle($hTV)$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
[/autoit]
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
If ($hWndFrom = $hWndTreeview) And ($iCode = $NM_CLICK) Then GUICtrlSendToDummy($WM_NOTIFY_DUMMY)
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY -
Brauchst doch nur prüfen, ob der FileSaveDialog mit Endung zurückgegeben wird oder nicht. Falls nicht, ergänzt du diese.
-
Bei mir hört er damit schon nach 4 Klicks auf?Bei mir läufts 30-mal..
Auch nur, wenn ich langsam klicke.
-
Ein _IsPressed() tuts auch
[autoit]
#include <Misc.au3>
[/autoit]
$i = 0
MsgBox(0, 'Start', '30-mal linke Maus klicken')
$beginn = TimerInit ()
Do
Do
Sleep(10)
Until _IsPressed ("01")
$i += 1
Until $i = 30
$End = TimerDiff ($beginn)
MsgBox(0, 'Zeit', StringFormat('%.2f', $End/1000) & ' s') -
besagt die Definition von Sudoku, dass es nur eine Lösung gibt
Die Definition für Sudoku gibt es eben nicht. Das ist fast so, wie beim Skat. Es gibt zwar Regeln für internationale Wettkämpfe, aber regional sind auch andere Regeln zulässig.
Ausschließlich für Sudoku-WM gilt: Es darf nur eine Lösung geben. Ansonsten ist dieses nirgendwo dokumentiert.Bemerkung am Rande:
Mir ist aufgefallen, dass ziemlich oft auf Wikipedia als Quelle verwiesen wird. Dabei sollte man aber immer daran denken, dass der Wahrheitsgehalt der dortigen Informationen immer hinterfragt werden muß. Denn schließlich kann jeder dort seinen Senf als 'Wahrheit' hinterlegen. Bloß weil etwas geschrieben steht, muß es noch lange nicht wahr sein.