Beiträge von sc4ry

    Hallo,


    ich würde gerne ein GUI mit variablen Buttons erstellen, z. B. mit einer Verknüpfung zu Firefox. Anschließend soll dieser Button aus der Exe-Datei das Icon anzeigen, aber leider funktioniert das nicht. Mit dem dllviewer kann ich aber ein icon in der exe finden.


    Anbei der dazu verwendete Code-Schnipsel:

    Code
    GUICtrlCreateButton($SectionNames[$i], $Counter * $Size - $Size, 0, $Size, $Size, $BS_Icon)
    
    GUICtrlSetOnEvent(-1, "SetOnEvent")
    
    ConsoleWrite("Image: " & _GUICtrlButton_SetImage(-1, $Section[$ii][1], Default, True) & @TAB & @error & @TAB & $Section[$ii][1] & @CRLF)

    Der Pfad ist in der Variable, grundsätzlich wird auch ein Icon angezeigt, wenn ich z. B. _GUICtrlButton_SetImage(-1, "shell32.dll", 14, True) nutze, aber eben nicht aus einem Programmpfad.

    Hi,


    leider schon älter und vor Monaten hatte das Skript auch noch funktioniert. Leider bekomme ich nun folgenden Fehler, hat wer nen Plan womit das zusammenhängt?


    Code
    "C:\Users\dvonp\OneDrive\AutoIt\Includes\_SQLite_Qry2Excel2.au3" (99) : ==> The requested action with this object has failed.:
    $oFoundCol = .Selection.Find($aNames_Colum[$n], Default, Default, 1)
    $oFoundCol = ^ ERROR


    Ich habe Office 2016 drauf, vor Monaten auch schon, da kann also nur ein Update was geändert haben.

    sagen wir mal so, dein Script gefällt mir, ich verlasse mich allerdings noch immer auf mein Ping-Script, da mir bei dir nur 2 von X Geräten angezeigt werden. Da ist mir einfach zu viel Verlust dabei.


    Die Router hängen beide am Hauptrouter.

    Es findet den Laptop, auf dem ich das Script ausführe und meinen Gigablue-Receiver (um den es übrigens geht). Ich habe 1 Hauptrouter mit DHCP-Server und 2 APs. Mein Handy wurde nicht gefunden.

    Hi,


    auch wenn es etwas aus dem Rahmen fällt, aber unter Windows 10 Technical Preview funktioniert die Änderung nicht, da die Console direkt auf und wieder zu geht. Das nur rein zur Info, ich weiß ja nicht, wer sich schon mit Win10 beschäftigt ;-)


    PS: anscheinend geht es doch, wenn man ein Timeout mitgibt und nicht default belässt.

    Ich würde gerne eine interaktive Commandline machen, so dass man z. B. nach dem Start zwischen 1,2 und 3 wählen kann, irgendwie werde ich aber ich die Suche nicht ganz schlau.


    Derzeit arbeite ich mit Consolewrite und und kompiliert als CUI, allerdings sind da natürlich keine Eingaben möglich.

    Hi zusammen,


    ich würde gerne in meinem Lan die aktiven IPs scannen und den dazugehörigen Hostnamen erhalten. Ist das mit AutoIt möglich? Google hat mir leider nicht geholfen.


    Besten Dank im voraus.

    Ist zwar schön was älter, aber ich habe gerade deine Funktion benutzt. Kein Plan ob es schon was besser/ integriertes in AutoIt gibt, aber funzt super. Einzig die Erläuterung zu $fAppend scheint nicht zu passen.


    $fAppend = 1 hängt die neue Abfrage an die alte, bei 0 wird die Datei überschrieben


    Also nach meinem Verständnis genau andersrum, als oben erklärt, oder ich hab nen Knoten im Kopf. Sonst, ASTREIN =)

    Hab mal auf die neuste AutoIt-Version upgedated und dann ging es. Die sqlite.dll wird wohl verwaltet gewesen sein.
    Aber dennoch funzt mein Beispiel oben nicht, ... was auch logisch ist. Wenn INSTR nichts findet, müsste ja LENGTH geTRIMt werden.


    Er dürfte das quasi nur ausführen, wenn ein Bindestrich im String vorhanden ist. Ich denke ich werde erstmal darauf verzichten und mich anderen Problemen/ Funktionen in meinem Script widmen, das scheint mich etwas zu überfordern ;-)


    Dennoch danke für eure Hilfe, hat mich schon sehr viel weiter gebracht.

    Hi, danke, das scheint zu funktionieren, allerdings bringt mich das doch nicht weiter, weil er ja z. B. Terminator auch in Teil 2+3 etc findet, die dann entsprechend auch als doppelte rauswirft.
    Dann muss ich wirklich mit den oben genannten funktionen wie rtrim etc probieren ... dennoch besten dank, wieder was gelernt =)


    EDIT:


    ich erweitere gerade Stück für Stück die Abfrage, bekomme aber bei folgender Abfrage folgende Fehlermeldung: no such function: instr


    SQL
    Select a.title, a.oid, a.size, a.disk from DB a, DB b where (rtrim(a.title,length(a.title) - instr(a.title,' - ')) like rtrim(b.title,length(b.title)) and a.oid <> b.oid) Order by a.title;


    Liegt das an der sqlite.au3?

    Problem 1 habe ich nun gelöst, allerdings komme ich hier nicht weiter:


    SQL
    b.name LIKE a.name% OR a.name LIKE b.name%


    Hinter die variable einfach % anhängen funktioniert nicht, dann gibts nen Error.


    ! SQLite.au3 Error
    --> Function: _SQLite_Query
    --> Query: Select DISTINCT a.title, a.oid, a.size, a.disk from DB a, DB b where (a.title like b.title% and a.oid <> b.oid) And (a.disk In ('HD 1') Or b.disk In ('HD 1')) Order by a.title;
    --> Error: near "and": syntax error

    Ich muss es nochmal besser erklären, deine Lösung scheint mMn schon das zu sein, was ich suche, allerdings funktioniert es nicht wie meine 'umständliche & langsame' Lösung. Es geht nicht darum, dass er 2 Platten miteinander vergleichen soll, vergessen wir das Beispiel mit HD 1 und HD 2. Wenn ich deine Lösung nehme, bekomme ich dies ohne Probleme erweitert. Gehen wir davon aus, dass nur HD 1 aktiv angeschlossen ist, HD 2-4 sind noch in der DB aber inaktiv.


    Nun möchte ich Dopplungen suchen, wo 1 Dopplung auf HD 1 ist, dazu dann die Dopplung auf den inaktiven HD 2-4.


    Das funktioniert z. B. mit folgender Abfrage so wie es soll:


    SQL
    Select a.title, a.oid, a.size, a.disk from DB a, DB b where (a.title like b.title and a.oid <> b.oid) And (a.disk = 'HD 1' or b.disk = 'HD 1')


    Ergebnis wenn HD 1 aktiv angeschlossen ist:


    Terminator 2 | HD 1
    Terminator 2 | HD 3
    Terminator 3 | HD 1
    Terminator 3 | HD 4


    Nicht gezeigt wird nun z. B. Terminator 1, welcher doppelt auf HD 3 und HD 4 liegt, weil ich ja nur HD 1 aktiv ist.


    Das gleiche Ergebnis möchte ich jetzt eigentlich mit deiner Version bekommen, denn diese könnte ich einfach erweitern, falls noch eine weitere HD aktiv ist.
    Und eigentlich verstehe ich es auch so, dass es gehen müsste. Was ja erst richtig 'strange' ist, dass er mir quasi folgendes als Ergebnis liefert, obwohl ja die Abfrage nach HD 1 ist:


    Terminator 2 | HD 3
    Terminator 3 | HD 4


    EDIT: er zeigt aber auch kein Terminator 1 an, also er sucht schon nur die raus, die doppelt und auf HD 1 sind, nur zeigt er die doppelten auf HD 1 nicht an.


    EDIT 2:


    mich wundert, warum folgende beiden Abfragen NICHT zum gleichen Ergebnis führen:

    Funktioniert richtig
    und zeigt bei doppelten Filme beide an (einer auf HD 1 und der zweite woaonders)

    SQL
    Select a.title, a.oid, a.size, a.disk from DB a, DB b where (a.title like b.title and a.oid <> b.oid) And (a.disk = 'HD 1' or b.disk = 'HD 1') Order by a.title;


    <>


    Funktioniert NICHT richtig und zeigt bei doppelten Filmen nur einen an, und zwar den, der NICHT auf HD 1 liegt.

    SQL
    Select a.title, a.oid, a.size, a.disk from DB a, DB b where (a.title like b.title and a.oid <> b.oid) And (a.disk Or b.disk In ('HD 1')) Order by a.title;


    EDIT 3:
    Folgende Abfrage funktioniert auch RICHTIG, vllt muss ich dann die nehmen, die lässt sich auch easy um mehrere erweitern:

    SQL
    Select a.title, a.oid, a.size, a.disk from DB a, DB b where (a.title like b.title and a.oid <> b.oid) And (a.disk IN ('HD 1') or b.disk IN ('HD 1')) Order by a.title;

    werde ich gleich testen, derzeit bekomme ich noch nen Fehler, wenn ich einfach nur ein % an a.title hänge.
    allerdings versuche ich gerade a.disk Or b.disk In ('HD 1'), was aber nur bedingt geht.


    So sieht die Abfrage aus:


    SQL
    Select a.title, a.oid, a.size, a.disk from DB a, DB b where (a.title like b.title and a.oid <> b.oid) And (a.disk Or b.disk In ('HD 1')) Order by a.title;


    Es zeigt die doppelten Filme an, allerdings nur die, die NICHT auf HD 1 sind. Vorher war es ja so, dass er den doppelten auf HD 1 und HD X angezeigt hat. Wo ist mein Fehler?