Da fällt mir ein früheres Werk von mir ein: https://autoit.de/index.php?page…15398#post15398 ![]()
Beiträge von BugFix
-
-
Syntax und Anwendung ist (m.W.) in allen Dialekten gleich: HowTo
-
SQL-Statements lassen sich als VIEW abspeichern.
-
[autoit]
$s = '{"test":" test "," test ":" test "," test ":" test test "," test ":" test "," test ": test " test ":" test "," test ":" test "," test ":" test "},{"test":" test "," test ":" test "," test ":" test test "," test ":" test "," test ": test " test ":" test "," test ":" test "," test ":" test "},{"test":" test "," test ":" test "," test ":" test test "," test ":" test "," test ": test " test ":" test "," test ":" test "," test ":" test "},{"test":" test "," test ":" test "," test ":" test test "," test ":" test "," test ": test " test ":" test "," test ":" test "," test ":" test "},{"test":" test "," test ":" test "," test ":" test test "," test ":" test "," test ": test " test ":" test "," test ":" test "," test ":" test "},{"test":" test "," test ":" test "," test ":" test test "," test ":" test "," test ": test " test ":" test "," test ":" test "," test ":" test "},{"test":" test "," test ":" test "," test ":" test test "," test ":" test "," test ": test " test ":" test "," test ":" test "," test ":" test "},{"test":" test "," test ":" test "," test ":" test test "," test ":" test "," test ": test " test ":" test "," test ":" test "," test ":" test "},{"test":" test "," test ":" test "," test ":" test test "," test ":" test "," test ": test " test ":" test "," test ":" test "," test ":" test "},{"test":" test "," test ":" test "," test ":" test test "," test ":" test "," test ": test " test ":" test "," test ":" test "," test ":" test "},{"test":" test "," test ":" test "," test ":" test test "," test ":" test "," test ": test " test ":" test "," test ":" test "," test ":" test "},'
[/autoit]
$aSplit = StringSplit($s, '},{', 1)
_ArrayDisplay($aSplit )
Die fehlenden (durch das Splitten abgeschnittenen) { und } kannst du ja wieder anfügen. -
Du fragst ab ob 'M' leer ist und tust dann nichts, nur im Else-Zweig sind die Befehle.

-
Du kannst dir die Funktion _ArrayDisplay an deine Bedürfnisse anpassen. Cursor auf das Include (#include <Array.au3>) setzen, Alt+I drücken, schon ist das Include geöffnet und du kannst die Funktion bearbeiten.
-
Einfach dem jeweils ersten Element einen Leerstring zuweisen:
[autoit]Local $Array[3][2]=[['',1],['',2],['',3]]
[/autoit]oder erst deklarieren und dann gezielt zuweisen.
-
Also BugFix, wenn du das schon ins Lächerliche zeihen must,
Nun, wenn du das so auffaßt.
Letztlich brauchst du nur mal schauen, welche Kommentare ich in fast jedem der (z. Zt. grassierenden) Wettbewerbsaufrufe hinterlasse.
Ich zeige auf die Punkte, die schwammig und unklar sind. Ein Wettbewerb muß eineindeutige Vorgaben und Regeln haben, damit gar nicht erst Mißverständnisse auftreten. Und "keine Einschränkungen" erlaubt eine völlig freie Interpretation, was du schon daran siehst, dass du und ich das völlig konträr sehen.
Betrachte das nicht als gegen dich gerichtet, hätte z.B. peethebee solch einen Aufruf gestartet, hätte auch er von mir diesen Kommentar geerntet. Da bin ich völlig frei von Ansehen und Person.
Ich hoffe, ich konnte dir mein Ansinnen klar machen?Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. -
Wozu ins EN-Forum gehen - das haben wir doch selbst auch drauf

ZIP - Packen / Entpacken mit Windows eigener Funktion -
das ist ja langweilig mit nur einem Teilnehmer.
[autoit]
Was erwartest du denn? Da keinerlei Einschränkungen gegeben sind, ist z.B.Shellexecute('wordpad')
[/autoit]legitim. Mit diesem Einzeiler nehme ich jetzt einfach mal dran teil und schon ist funktionell vermutlich deutlich mehr drin (Grafik-/Objekteinbindung) als in selbstgestrickten Varianten, die ja aber laut deiner Vorgabe nicht erforderlich sind.

-
Was soll bitte das: \\*.*.*.*\" in deinem Pfad?
Diese Notation ist mir (und wohl auch Windows) nicht bekannt. Dadurch, dass man \.\.\ oder \..\ verwendet, kann man relativ addressieren. Sternchen haben da nix verloren. -
Ich gebs mal frei - hab aber ein Auge drauf. Was soll das werden?
-
Ich weiß, das BugFix einen ähnlichen geschrieben hat, aber meiner gibt wirklich nur die gesetzlichen Feiertage zurück und lässt Tage wie Muttertag, Vatertag, Valentinstag etc. außen vor. Weiterhin kann nach Bundesländern sortiert werden.
All das kannst du mit dieser Funktion ebenso machen. Einfach einen Filter auf das Ergebnisarray und fertig.
Alle erforderlichen Daten sind enthalten. -
Ich kenne diesen Lokation-Dienst nicht, aber auch von anderen Diensten ist bekannt, dass eine regionale Auflösung am Hostnamen endet. Hat der Hoster das Netz untervermietet (wie z.B. Telekom an 1&1), so bleibt man am Übergabepunkt 'hängen' und wird auch mit dem "Vermieter" als ISP geführt :D.
Insofern sind alle solche Lokationtools von vornherein zum Scheitern verurteilt - und das ist auch gut so.
-
Wenn du eine saubere Darstellung erreichen möchtest, darfst du keinesfalls TrueType-Fonts in der Anzeige verwenden.
Nutze Monospaced-Schriftarten, wie Courier oder Letter Gothic. Dadurch, dass hier die Laufweite für jeden Buchstaben identisch ist, kannst du per Wortlänge und Leerzeichenausgleich deine Anzeigen exakt positionieren. -
Neue Version 1.1 im Startpost.
-
Was hat der Router damit zu tun? Nehmt halt ein Service wie speedtest.net
Eher anders die Frage: Was soll speedtest.net dabei? - Es soll die aktuelle Geschwindigkeit kontinuierlich angezeigt werden, also eine on-the-fly Ermittlung. Dazu ist irgendein Webseitenbasierter Dienst völlig nutzlos. Ausschließlich vom Router bereitgestellte Arbeitswerte (so diese denn bereitgestellt werden) können da Anwendung finden. Und das halte ich für schwierig, selbst wenn die Router solche Daten führen, bieten die Hersteller wohl eher selten einen Zugriff darauf an. -
-
Ich suche in einem Listview nach einem Begriff. Der gefundene Eintrag wird selektiert - soll aber optisch so dargestellt werden, wie bei einer Selektion per Hand, also in blau.
Die Skriptmöglichkeiten (.._SetItemFocused, .._SetItemSelected, .._SetHotItem, .._SetItemState:$LVIS_SELECTED) führen alle zu einer grauen Markierung.
Ich möchte nicht extra per Customdraw das Item zeichnen. Falls jemand eine Lösung findet, immer her damit.Hier ein Bsp. mit den wesentlichen Teilen aus meinem Skript. Einfach in das Suchfeld einen Buchstaben von A-Z eingeben.
Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]Global $aItem[26][2]
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 To 25
$aItem[$i][0] = Chr(65+$i)
$aItem[$i][1] = Random(1000, 9999, 1)
Next$Form1 = GUICreate("Test", 800, 620, -1, -1)
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
$iSearch = GUICtrlCreateInput('', 15, 10, 90, 20)
$bSearch = GUICtrlCreateButton('Suchen', 125, 10, 150, 20, $BS_DEFPUSHBUTTON)
GUICtrlSetOnEvent(-1, '_Search')
$ListView1 = GUICtrlCreateListView("1|2", 15, 40, 770, 545, BitOR($LVS_SHOWSELALWAYS,$LVS_SINGLESEL,$WS_HSCROLL,$WS_VSCROLL))
GUICtrlSetOnEvent(-1, "ListView1Click")
GUICtrlSetBkColor(-1, 0xF0F8FF)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_LV_ALTERNATE)
GUICtrlSendMsg(-1, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_ONECLICKACTIVATE, $LVS_EX_ONECLICKACTIVATE)
$hWnd = GUICtrlGetHandle(-1)
_GUICtrlListView_SetColumnWidth($hWnd, 0, 90)
_GUICtrlListView_SetColumnWidth($hWnd, 1, $LVSCW_AUTOSIZE_USEHEADER)_LV_Fill()
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_SHOW, $Form1)GUIRegisterMsg($WM_NOTIFY, "MY_WM_COMMAND")
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc Form1Close()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFunc; ========================================================================================
[/autoit] [autoit][/autoit] [autoit]
; == Die Funktion sucht nach dem eingegebenen Text in der ersten Spalte
; == wenn gefunden soll die Zeile blau markiert werden, wie beim Draufklicken per Hand
Func _Search()
$txt = GUICtrlRead($iSearch)
If $txt = '' Then Return
Local $indx = _LV_FindInSubItem($hWnd, $txt, 0)
If $indx = -1 Then Return
ControlClick("", "", $ListView1) ;<<== DAS bringt den gewünschten Erfolg!!
_GUICtrlListView_EnsureVisible($hWnd, $indx)
_GUICtrlListView_SetItemSelected($hWnd, $indx)
_GUICtrlListView_SetItemFocused($hWnd, $indx)
EndFunc ;==>_Search
; ========================================================================================Func _LV_Fill()
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_LOCK, $Form1)
For $i = 0 To 25
GUICtrlCreateListViewItem('|', $ListView1)
GUICtrlSetBkColor(-1, 0xE6E8FA)
_GUICtrlListView_SetItemText($hWnd, $i, $aItem[$i][0], 0)
_GUICtrlListView_SetItemText($hWnd, $i, $aItem[$i][1], 1)
Next
GUISetState(@SW_UNLOCK, $Form1)
EndFunc ;==>_LV_FillFunc _LV_FindInSubItem($hWnd, $2Find, $SubIndex)
[/autoit] [autoit][/autoit] [autoit]
Local $out = -1
For $i = 0 To _GUICtrlListView_GetItemCount($hWnd) - 1
If _GUICtrlListView_GetItemText($hWnd, $i, $SubIndex) = $2Find Then
$out = $i
ExitLoop
EndIf
Next
Return $out
EndFunc ;==>_LV_FindInSubItemFunc ListView1Click()
[/autoit] [autoit][/autoit] [autoit]
Local $indx = _GUICtrlListView_GetHotItem($hWnd)
GUICtrlSetData($iSearch, _GUICtrlListView_GetItemText($hWnd, $indx, 0))
EndFunc ;==>ListView1ClickFunc MY_WM_COMMAND($hWnd, $Msg, $wParam, $lParam)
[/autoit]
Switch $wParam
Case $ListView1
Local $tagNMHDR = DllStructCreate("int;int;int", $lParam)
If @error Then Return $GUI_RUNDEFMSG
If DllStructGetData($tagNMHDR, 3) = $NM_CLICK Then ListView1Click()
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>MY_WM_COMMANDDanke an UEZ für den entscheidenen Hinweis: s. Zeile 50
-
In der "Downloads"-Box steht die falsche Scite Version.
Liegt vermutlich dadran, dass der Update-Checker in SciTE selbst die neue Version auch nicht entdeckt. Der meint die 1.67 wäre up to date