Also ich würde dir gern helfen, aber ehrlich gesagt habe ich nicht ansatzweise verstanden, was du möchtest.
Du sprichst von ID's - woher stammen diese bzw. was sollen sie darstellen?
Vielleicht kannst du das mal als Pseudocode darstellen? (Also der Programmablauf in Stichworten)
Beiträge von BugFix
-
-
So, habe jetzt mal die Schweizer Tastatur bei mir geladen und daran nochmal alles überprüft.
C0 ergibt bei mir aber nicht " sondern _. -
soltle so aussehen:
C0 Ö ¨
Da ich selbst keine CH-Tastatur habe, habe ich die Zuordnung anhand einer Abbildung gemacht. Kann natürlich sein, dass diese nicht korrekt ist.
Stimmen die anderen Zeichen alle? - Wenn nicht, ergänze mal bitte, dann kann ich die Übersicht anpassen. -
Ich persönlich halte gar nichts von AntiViren-Programmen. Ich verwende ausschließlich Spybot S&D. Sollte sich wirklich mal ein Schadprogramm auf meinen PC verirren (sehr unwahrscheinlich), wird es im Moment, wenn es sich einnisten will von S&D erkannt und ich werde alarmiert.
-
Vielleicht ist auch das von Interesse: ToolTip, beenden mit Mausbewegung bzw. nach Zeitablauf
-
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