WAS markierst du??
Steht dort: 17.100.140.172 oder http:// ...... ...... ..... /cgi-bin/status.cgi?host=Beschreibung&style=detail ?
WAS markierst du??
Steht dort: 17.100.140.172 oder http:// ...... ...... ..... /cgi-bin/status.cgi?host=Beschreibung&style=detail ?
Ich kopiere von einer Intranet Seite IP Adressen inkl Link.
Das ist der falsche Weg. So, wie du es beschreibst, fügst du einen Hyperlink mit Quickinfo ein. Quickinfo ist dann die IP.
WAS markierst du denn zum kopieren? kannst du da die IP im Text (oder auch nur als Quickinfo) sehen?
Probiere doch mal unformatiertes Einfügen (Strg+Shift+V).
Den Worten von @Musashi ist nichts hinzuzufügen.
Und da alles gesagt ist: CLOSED
Ohne mich jetzt weiter in deinen Post zu vertiefen, möchte ich einen Design-Vorschlag machen.
Verwende statt zig Button ein Listview-Ctrl. Du kannst den Klick auf einzelne Einträge genauso auswerten, wie einen Button-Klick. Ist viel übersichtlicher.
ZitatFalsch: Erstellt ein (mehrzeiliges) Input-Control für die GUI.
Darüber lässt sich herrlich streiten.
Aus AutoIt Sicht halte ich die Definition für korrekt.
Denn strenggenommen ist das Input-Ctrl nur ein einzeiliges Edit. Und somit erhält die obige Definition für den Umkehrschluß volle Berechtigung.
Achte auf die Parameter bei StringSplit! Das Standardverhalten liefert die Anzahl der Splitelemente an $array[0]. Das kannst du aber mit dem Parameter $STR_NOCOUNT (2) deaktivieren. Was dann auch zum entsprechenden Verhalten im Fehlerfall führt:
If flag is not equal to $STR_NOCOUNT, $aArray[0] is set to 1 and the full string is returned in $aArray[1].
If flag is equal to $STR_NOCOUNT, the full string is returned in $aArray[0].
Ich hätte mich zumindest über ein Syntax-Beispiel oder eine
Erklärung dazu gefreut
Na, das kannst du haben:
Local $wbemFlagReturnImmediately = 0x10
Local $wbemFlagForwardOnly = 0x20
Local $colItems = ""
Local $strComputer = "localhost"
Local $Output=""
$Output = $Output & "Computer: " & $strComputer & @CRLF
$Output = $Output & "==========================================" & @CRLF
Local $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\ROOT\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterSetting", "WQL", _
$wbemFlagReturnImmediately + $wbemFlagForwardOnly)
If IsObj($colItems) then
For $objItem In $colItems
$Output = $Output & "Element: " & $objItem.Element & @CRLF
$Output = $Output & "Setting: " & $objItem.Setting & @CRLF
if Msgbox(1,"WMI Output",$Output) = 2 then ExitLoop
$Output=""
Next
Else
Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_NetworkAdapterSetting" )
Endif
Alles anzeigen
Zum Erstellen des Codes kannst du AutoIt Script-o-matic verwenden.
Es wäre daher besser zu sagen, dass es z.B. keine "Übersetzungsmöglichkeit" gibt, als eine Antwort die darauf abzielt das Problem zu umgehen. Eine Umgehung ist keine LÖSUNG.
Nun, in ca. 70% aller Fragestellungen ist die "Umgehung" die bessere Lösung (xy-Problem).
Natürlich kann man mit AutoIt direkt das WMI-Objekt für Abfragen nutzen. Das hat nur niemand angeboten, weil wir schlicht keine Möglichkeit haben das auch zu testen. Die WMI Klasse "Lenovo_SetBiosSetting" dürfte nur den wenigsten zur Verfügung stehen. Und wenn ich einen Code nicht mal ansatzweise testen kann, werde ich ihn nicht posten. ![]()
nicht auf (FHD) Pixel 1920 sondern auf 1919
Wenn das ein reproduzierbares Verhalten ist, dann spielt es tatsächlich keine Rolle. Aber wir sprechen von Windows - da kann das auf 'nem anderen PC schon gaaanz anders aussehen. ![]()
wenn die Maus am Ende des Bildschirm ist und man einen Pixel in die Richtung verschiebt, die nicht mehr geht?
Dann findet kein MouseMove statt und der gewünschte Effekt ist dahin. Der PC bleibt im Untätigkeitsmodus und der Screensaver kann zuschlagen. ![]()
Professor Bernd - Boah, seit wann gehst du denn Leichen schänden? (05/2019)
Führe doch einfach mal das Bsp. aus der Hilfe aus. Das reagiert auf check des Radio. Dann siehst du, wie das einzusetzen ist.
Wenn man die Position der Maus abfragt, bevor man sie bewegt, kann man doch entscheiden in welche Richtung die Bewegung gehen muss, um nicht anzuecken.
Manche Dinge sind einfach einfach. ![]()
Eine Bitte: lies mein Array Tut. Alles was du zu ReDim und Ubound falsch verstanden hast (deine Annahmen sind falsch), wird dort erläutert.
Wenn dann noch Unklarheiten bestehen, melde dich wieder.
Woher weißt du, dass Division immer ein Double zurück gibt?
Ob das definitiv so ist, kann ich gar nicht mal sagen. Aber zumindest rechnet Autoit mit Ergebnissen von Divisionen als Double. Das ist der Funktionsbeschreibung von Hex zu entnehmen und somit im AutoIt-Kontext für mich manifestiert.
Ich mach mir mal Gedanken, ob sich das irgendwie prüfen lässt.
EDIT:
Ich habe zwar noch kein sicheres Verfahren zum Test auf Double gefunden, aber zumindest ist mir aufgefallen, dass das Ergebnis einer Division (mit Rest) auf keinen Fall Float sein kann. Denn wie hier zu sehen ist, speichert Float einen falschen Wert, Double dagegen den korrekten. Sehr seltsam.
Local $tINT = DllStructCreate('INT val')
Local $tDBL = DllStructCreate('DOUBLE val')
Local $tFLOAT = DllStructCreate('FLOAT val')
$tINT.val = 5/3
ConsoleWrite('INT 5/3 ' & $tINT.val & @CRLF)
$tINT.val = 6/3
ConsoleWrite('INT 6/3 ' & $tINT.val & @CRLF)
$tDBL.val = 5/3
ConsoleWrite('DBL 5/3 ' & $tDBL.val & @CRLF)
$tDBL.val = 6/3
ConsoleWrite('DBL 6/3 ' & $tDBL.val & @CRLF)
$tFLOAT.val = 5/3
ConsoleWrite('FLOAT 5/3 ' & $tFLOAT.val & @CRLF)
$tFLOAT.val = 6/3
ConsoleWrite('FLOAT 6/3 ' & $tFLOAT.val & @CRLF)
Alles anzeigen
Ergebnis:
Du kannst nur immer auf EINEN Wert in einem Array zugreifen! Der definiert sich in diesem Bsp.-Array (2D-Array) über Angabe der Schnittstelle von Zeile und Spalte.
Damit du nicht das Array nach dem zu verwendenden Gerät durchsuchen musst, haben wir für jedes Gerät (das ja in einer eigenen Zeile steht mit seinen Werten) eine Variable statt der Zeilennummer, bzw. enthält diese Variable die Zeilennummer.
$TV1 ist die erste enumerierte Variable und hat somit den Wert 0. Zugriff im Array hast du damit also auf die Zeile 0 - die erste Zeile.
$Profile ist die sechste enumerierte Variable für die Spalten und hat somit den Wert 5. Zugriff im Array hast du damit auf die Spalte 5 -die letzte Spalte.
Das Profil für "TV 1" erfragst du also indem du sagst: arrayGeräte-inZeileTV1-inSpalteProfile: $aDevices[$TV1][$Profile]
Das Profil für "Sky Receiver" wäre demzufolge: $aDevices[$Sky_receiver][$Profile].
Der X-Wert für "D-Box" ist dann: $aDevices[$D_Box_receiver][$X_pos].
Fast identisch mit einer Excel-Tabelle, nur dass dort standardmäßig die Adressierung über Spalte,Zeile erfolgt. Hier ist es umgekehrt.
Ich empfehle dir zum besseren Verständnis mal mein Array-Tut durchzulesen (s. Signatur).
Die erste Enumeration gibt den Geräten (Zeilen) des Arrays verständliche Namen.
Die zweite Enumeration macht dies für die Geräte - Eigenschaften (Spalten).
So kann mit: array[Gerät][Eigenschaft]
gut lesbar zugegriffen werden.
War das die Lösung, die du im Auge hattest, oder gibt es noch eine andere?
Ja, das hatte ich im Hinterkopf.
Aus MINIMZE zurückholen mit Win+Shift+M fällt mir noch ein.
Aber gibt es nicht die Möglichkeit ein Fenster nichtfokussierbar zu erstellen? Sollte das gehen, wäre das einfacher als alles Andere abfangen zu wollen.
Deine Referenzierung ist rein optisch korrekt.
Füge doch mal nach jeder Referenz eine Objektprüfung ein ( IsObj($objForm) etc. ). Vielleicht geht da irgendwo was schief. Werte Fehler aus.
EDIT: Prüfe mal die Webseite, evtl. gibt es mehrere Formen / Elemente gleichen Namens. Dann benötigst du zur Erkennung den 3. Parameter (Index).