• mein erstes Autoit Script, seid also nicht so streng mit mir ;)

    damit kann man einen Bereich scannen.
    Entweder Ip manuell eingeben, oder per Dropdown Adapter auswählen.


    6 Mal editiert, zuletzt von kunigunde (22. März 2016 um 10:41)

  • Tipps:
    1. Nur eine Schleife, oder den OnEventMode verwenden. NIEMALS eine langdauernde Schleife in die Hauptschleife. Die verhindert dann, das Events ausgeführt werden, wie z.B. das Schließen.
    2. Sowas "While $start <= GUICtrlRead ($IP_input_bis)" sollte nicht genutzt werden. Es wird bei einer While-Schleife oft durchgelaufen (meistens). Bei jedem durchlauf würde das Control ausgelesen werden. Deshalb ist es unklug, dort nochmal Zeit zu verwenden. Außerdem wäre es doof, wenn jemand, während das Programm arbeitet die IP ändert. Also dort auch vorher auslesen und in eine Variable speichern.
    3. Hier jetzt nicht wichtig, da die Pings recht viel Zeit verbrauchen, aber allgemein: Beim anzeigen der Prozent, eine $prozentOld anlegen, den alten Wert speichern und nur ändern, wenn Int($fertig * $test)<>$prozentOld. Wenn eine Schleife zu oft durchläuft kostet das sonst auch nochmal Zeit, manche Controls flackern dann aber auch.

    4. Allgemein gilt: alles was nicht unbedingt in die Schleife muss, kommt raus, damit diese Schnellstmöglich arbeitet: $test = 100 / $insgesamt wird jedesmal berechnet, ändert sich in der Schleife aber nie->aus der Schleife raus und nur einmal berechnen.


    Denke, da hast du erstmal nen paar Punkte an denen du ansetzen und verbessern kannst :)


    Ansonsten gut gelungen :)

  • Danke erstmal für dein Feedback.
    ok,
    das $test = 100 / $insgesamt habe ich aus der while genommen
    dann die Bis input gespeichert, somit selbst bei Änderung während des Durchlaufes kein einfluß

    nur wie bekomme ich die while schleife aus der haupt schleife?
    und wie bekomme ich es hin das man auch während des Durchlaufes das Fenster schließen kann?

    (Code in Beitrag 1 immer aktuell)

    2 Mal editiert, zuletzt von kunigunde (22. März 2016 um 10:45)

  • Hab mal dein Script angepasst:

  • Hallo, danke dir,
    leider hat bei deiner Version die Fehlerbehandlung nicht mehr funktioniert, dies habe ich jetzt aber behoben. (ich hoffe das ich es richtig gemacht habe :)

    Jetzt ist es auch möglich "0" Adressen zu nutzen
    Somit alles aus dem Eingangs Thema korrigiert.
    Nochmals Danke für deine Unterstützung.

    (Code in Beitrag 1 immer aktuell)

    3 Mal editiert, zuletzt von kunigunde (22. März 2016 um 10:46)

  • So ein ähnliches Script hab ich mir auch mal gebastelt - das Script hier hat noch Potential. Daher hier ein paar Hinweise, was aus meiner Sicht noch fehlt und hinzugefügt werden könnte:

    • Dein Script unterstützt nur die 24er-Subnetzmaske (255.255.255.0) - nicht selten wird aber eine andere verwendet (z.B. das 21er-Netz [255.255.248.0])
    • Dein Script bietet nicht die (evtl. optionale) Möglichkeit die "gefundene" IP-Adresse aufzulösen. Für die meisten Einsatzzwecke eines IP-Scanners (finden von Geräten im DHCP-Bereich, ...) ergeben sich hierdurch dann gewisse Schwierigkeiten, dass Gerät schnell zu finden.
    • Außer dem eigentlichen "Ping" hast du keine weiteren "Features" hineingebastelt. Kurzum: Wofür suchst du die IP-Adressen eigentlich? Wolltest du sie dir nur mal angucken? Willst du sie exportieren? (Dann fehlt der Export...) Willst du die Weboberfläche aufrufen (sofern vorhanden)? (Dann fehlt diese Möglichkeit) Du weißt, worauf ich hier hinaus will?
    • Die Geschwindigkeit des Scripts könnte sich optimieren lassen - beispielsweise über die Nutzung mehrerer Prozessoren. Hierzu gab es mal einen Thread, wie man das bewerkstelligen könnte (Hauptprozess der die eigentlichen Aufgaben auf Child-Prozesse verlegt, um alle CPU-Kerne auszulasten, nach Abschluss werden alle Child-Prozesse geschlossen) - auf Wunsch suche ich gerne noch einmal danach (da ging es meines Wissens um MD5-Schlüssel).

    Da es ab und an missverstanden wird, hier der obligatorische Hinweis:
    Es handelt sich hierbei nicht um Kritik, sondern lediglich um ein paar Anregungen, wie man das Script noch erweitern und verbessern könnte.

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

  • Ich wollte im lokalen Hausnetz nur schnell alle erreichbaren Teilnehmer angezeigt bekommen ohne ein extra Tool oder ein viel zu komplexes nutzen zu müssen.
    Ich könnte jeden anderen Scanner auch nutzen mit mehr Funktionen, jedoch benötige ich nur die Basics welche das Tool bietet. Außerdem war dies ein recht kleiner und rel. einfacher Start sich mal mit Autoit zu beschäftigen.
    Sicher ist das Script sehr simple gehalten, jedoch benötige ich keine weiteren Funktionen, da ich im lokalen Netz keine deine genannten Probleme habe.

    Und gerade weil das Script so simple ist, kann auch jeder gern dieses nutzen und erweitern für seine Ansprüche.

    Deine Anregungen sind interessant, jedoch schon wieder speziell für besondere Anforderungen.

    Da es ab und an missverstanden wird, hier der obligatorische Hinweis:
    Es handelt sich hierbei nicht um die Aussage das ich deine Anregungen nicht gut finde, sondern lediglich darum erklären zu wollen das dies in meinem Fall nicht benötigt wird.

  • Da es ab und an missverstanden wird, hier der obligatorische Hinweis:

    Es handelt sich hierbei nicht um die Aussage das ich deine Anregungen nicht gut finde, sondern lediglich darum erklären zu wollen das dies in meinem Fall nicht benötigt wird.

    Dein Humor gefällt mir!

    War auch nur, falls du es hättest erweitern wollen :)

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

  • Turbo: Bisher nicht. Könnte ich aber demnächst. Bin gerade nicht zu Hause.

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