• Hallo Gemeinde,

    ich hätte da gerne mal ne Hilfestellung bitte:

    ich bin gerade dabei mir ein Script zu basteln, welches beim ausführen zwei Mögliche Optionen zur Auswahl gibt...

    1. Option: per Ping einen bestimmten Host "anpingen". Bei Antwort (oder eben keiner Antwort) auf den Ping soll in der GUI der Host mit einer art "Ampel" (rot od. grün) anzeigt werden.

    2. Option hier liegt mein aktuelles "Problem": Auswahl über eine GUI mit Hilfe von Checkboxen... Wir die 1. Checkbox angehakt, werden zwei weitere Checkboxen per $GUI_SHOW angezeigt, deren Sinn darin besteht entweder eins, oder halt beide Netze zu scannen.
    Bei einem Klick auf einen Startknopf soll dann die Ping-Prozedur durchlaufen werden und alle Hosts in der GUI angezeigt werden mit je roter oder grüner Ampel.

    Meine Frage wäre jetzt aktuell...
    ich prüfe das Inputfeld für die IP-Adresse... ist die Eingabe größer als 10 Zeichen, so sollen die Checkboxen (samt Text) verschwinden... klappt soweit auch prima, ABER da ich einen fetten Fehler in der Switchanweisung habe (und ehrlich gesagt nicht weiß, wie ich das Problem gelöst kriege) nimmt das Script keine Befehle entgegen, da es wieder die Länge abfragt... (man gibt ne IP ein, alles wunderbar, klickt dann auf "Neue Adresse" und versucht dann zu beenden, fehlanzeige... gibt man dann in die Inputbox wieder etwas größer 10 Zeichen ein, beendet sich das Script...

    Anbei Script meiner GUI mit der Problematik zum vorherigen Absatz.

    Bitte nicht wundern, die Ampelfunktion ist noch nicht eingebaut... ich arbeite gerne Schritt für Schritt... zumal mich das aufbauen einer Range (IPs von 1-254) noch nerven kosten wird (hier müssen ja die Labels und ampeln quasi dynamisch erstellt werden, da komme ich sicherlich im weiteren Verlauf nochmal auf euch zu, wenn ich darf)

    :S

    und ja ich weiß, es gab bereits ein ähnliches Thema

    Spoiler anzeigen

    Solange keine beschimpfungen kommen, bin ich für jede Kritik offen...

  • probier mal statt Case $nMsg Case $inp_IP_Adresse

    Ansonsten, wenn du es exakter timen möchtest, schau dir mal WM_Command an:

    https://www.autoitscript.com/autoit3/docs/l…Edit_Create.htm

    Damit solltest du an dein Ziel kommen

    (Input ist nichts anderes als ein einzeiliges Edit-Control ;) )

    • Offizieller Beitrag

    Mal als Hinweis:
    Wenn du tatsächlich 254 Adressen scannen willst, verwende unbedingt den Parameter timeout in der Ping Funktion. Ich würde die Laufzeit zum physikalisch am schlechtesten angebundenen Rechner als Referenzzeit nehmen, kleinen Toleranzzuschlag und das als Timeout. Im Normalfall solltest du somit keinen Timeout > 100 ms brauchen (oder hat jemand so grottige Netze mit längerer Laufzeit?). Und dann ist auch die Gesamt-Scanzeit noch akzeptabel.
    Um sich am Programmieren zu üben ist das Basteln dieses Tools sicher nicht schlecht. Aber für den Einsatz würde ich dann doch einen fertigen Scanner bevorzugen.

  • probier mal statt Case $nMsg Case $inp_IP_Adresse

    Wenn ich das mache, wird die Checkbox darunter liegend nicht mehr korrekt "abgearbeitet"...

    für WM_Command bin ich offenbar noch nicht weit genug :S

    Mal als Hinweis:
    Wenn du tatsächlich 254 Adressen scannen willst, verwende unbedingt den Parameter timeout in der Ping Funktion. Ich würde die Laufzeit zum physikalisch am schlechtesten angebundenen Rechner als Referenzzeit nehmen, kleinen Toleranzzuschlag und das als Timeout. Im Normalfall solltest du somit keinen Timeout > 100 ms brauchen (oder hat jemand so grottige Netze mit längerer Laufzeit?). Und dann ist auch die Gesamt-Scanzeit noch akzeptabel.
    Um sich am Programmieren zu üben ist das Basteln dieses Tools sicher nicht schlecht. Aber für den Einsatz würde ich dann doch einen fertigen Scanner bevorzugen.

    Das scheint mir ein sehr guter Tip zu sein, werde ich berücksichtigen...
    mal gut, dass es dieses Forum gibt... :D

  • Hallo zusammen,

    so hatte nochmal Zeit mich mit dem Thema auseinander zu setzen...
    aktuell probiere ich die Labels zu erzeugen... funktioniert auch soweit ganz gut, jedoch krieg ich die Höhe nicht resetet...

    Mit Resetet meine ich, dass wenn er (hier testhalber 5 Zeilen) geschrieben hat eine neue Spalte anfängt. Bei mir läuft Sie jedoch weiter fort, statt direkt oben wieder neu anzufangen... quasi neben 192.168.1.1

    Wo muss ich denn $j wieder auf 40 bringen??? Im Case selbst bringt es nix, dann schreibt er alle in erste "Zeile"...

    Spoiler anzeigen

    Hilfe ?(

  • Kleiner Hinweis meinerseits zum Startscript - dein neustes habe ich noch nicht angeguckt:

    "$long_inp_IP_Adresse" bis "EndIf" sollten außerhalb deines Switches sein. Ein Switch ist praktisch eine Mehrfach-If-Abfrage. Du kontrollierst, ob ein Wert X (in deinem Fall $nMsg) einem anderen Wert entspricht. Bei dem genannten Part brauchst du eine solche Prüfung aber gar nicht, denn die Prüfung $nMsg = $nMsg ergibt immer wahr!

    Anbei die modifizierte Version, falls du das noch gebrauchen kannst:

    Es gibt Tage, da trete ich nicht ins Fettnäpfchen. Ich falle in die Friteuse.

  • Guten Morgen!

    Vielen lieben Dank... klar brauch ich noch Hilfe ^^
    Bin in letzter Zeit nicht dazu gekommen weiter zu machen... daher können Antworten (Reaktionen) auch mal was dauern :theke:
    Ich berichte nach dem Test