1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Welche PC's laufen?

Discussion in 'Programmieren' started by Fabiansson, Nov 27, 2009.

Thread Status:
Not open for further replies.
  1. VB-Coder

    VB-Coder Megabyte

    Code:
    Dim host As Integer = 1
    
            For host = 1 To 254
                If My.Computer.Network.Ping("192.168.4." & host) Then
                    MsgBox("success " & host)
                Else
                    MsgBox("no reply from " & host)
                End If
    
    
    
            Next
    
     
  2. Fabiansson

    Fabiansson Kbyte

    Ok, danke hat super geklappt!

    Wie mache ich aber statt ein Textfeld ,jetzt irgend ein Button oder eine Grafische darstellung wenn der Ping-Befehl erfolgreich war oder eben nicht sich grün färbt oder ein Gutzeichen hintendrankommt zu einem Label?

    Danke zum voraus


    Gruss Fabiansson
     
  3. kalweit

    kalweit Hüter der Glaskugel

    @VB-Coder

    ...schreib ihm doch gleich das ganze Programm, das wird hier sonst ein Endlosthread.
     
  4. VB-Coder

    VB-Coder Megabyte

    Ok im Anhang findest du ein VB Projekt.

    Ist auf die schnelle nicht das schönste vom Code und Design her, aber funktioniert.

    Die IP's werden in zwei Listen eingetragen. Einmal Online Liste, einmal Offline Liste. Es gibt ein Textfeld um die IP Range (erste 3 Stellen) anzugeben. Und einen Button um das ganze zu starten. Sobald gestartet, erscheint eine Progressbar, die den Fortschritt anzeigt.
     

    Attached Files:

  5. nosti89

    nosti89 Megabyte

    *g*
    am besten das wird in Zukunft immer so gemacht..Frage und dann sofort alles fertig und Paletti :D :ironie:

    Das Problemchen kann man auch super in Batch angehen. Ist nicht weiter wild und vom Aufbau her genau das gleiche. Zwar kann man da nicht so einfach 2 nette Listen zusammenschustern, aber mir wegen die IP-Adressen + Rechnernamen und wenn man will vielleicht noch die MAC-Adresse, der angeschalteteten Rechner, in einer .txt ausgeben.

    Grüße
     
  6. daboom

    daboom Megabyte

    Aber es sollten doch Lämpchen an- und ausgehen. Das wird mit Batch schwierig ;)

    Außerdem ging es ja ums VB-Lernen, was sich aber durch das Vorkauen der kompletten Lösung wohl erledigt haben dürfte...
     
  7. VB-Coder

    VB-Coder Megabyte

    @daboom: Das hat sich nicht erledigt. ;) Denn wie ich schon geschrieben habe der Code ist nicht schön, aber funktioniert. Was auch heißt er hat beabsichtigte Schwachstellen. *grins* Um eben dieses Vorkauen eines "perfekten" Codes zu vermeiden und den TO anzuhalten etwas Eigeninitiative zu entwickeln. Aber anscheinend hat er es bis dato noch nichtmal bemerkt. Naja wäre wohl auch zuviel verlangt gewesen, nachdem nichtmal ein billiges Danke oder überhaupt eine Reaktion kam. (schade/traurig)

    Die größte Schwachstelle ist die FOR NEXT Schleife. Denn es kann unter Umständen passieren, wenn man die Maus wärend des Scanvorgangs betätigt, das sich der Rechner kurzzeitig aufhängt. Er läuft dann zwar weiter, aber unschön ist das schon. Aber hier kann man ja Abhilfe durch einen anderen Schleifentyp, durch den einsatz eines Timers etc. schaffen.

    Die zweite Schwachstelle ist das Eingabefeld der IP Range im Format aaa.bbb.ccc. Wo es momentan noch keinerlei Eingabeprüfung gibt. Ich kann da also reinschreiben was ich will. Was bei dem Anwendungsszenario eigentlich absolut tödlich ist.

    Um nurmal die zwei wichtigsten absichtlich gelassenen/erzeugten Probleme anzuführen.


    Also ich denke sobald er es gefunden hat, wird der Lerneffekt noch groß genug ;)
     
  8. daboom

    daboom Megabyte

    Also ich würde sagen die erste Schachstelle heißt "Visual Basic" :D Nein, ist schon ok.

    Wenn man einem TO, der noch nicht mal was von Schleifen gehört hat bzw. keine Ahnung davon hat, wie man diese umsetzt, ein komplettes Programm (ob nun mit Schwachstellen oder nicht) vorsetzt, gibt es da imo nicht mehr viel zu lernen.

    Die Schachstellen würden ihm vermutlich noch nichtmal auffallen geschweige denn wäre er fähig sie auszumerzen.

    Aber genug jetzt dazu, wollen wir uns mal nicht um den Lerneffekt streiten, gucken wir lieber mal, ob's den TO überhaupt noch interessiert... ;)
     
  9. VB-Coder

    VB-Coder Megabyte

    Wir können ja etwas den Lerneffekt erhöhen und ihm ein paar Beispiele nennen.

    Die WHILE WEND Schleife
    Code:
    DIM wert1 AS INTEGER: wert1 = 1
    DIM wert2 AS INTEGER: wert2 = 10
    WHILE wert1 < wert2: wert1 = wert1 + 1
       ' Hier das was innerhalb der Schleife passieren soll
    WEND
    
    Zur Erkl&#228;rung
    Es gibt 2 Werte. Einmal wert1 , der tempor&#228;r ist und sich bei jedem Durchlauf der Schleife um 1 erh&#246;ht. Dann wert2, der fest ist und den zu erreichenden Endwert darstellt. Die WHILE Schleife wird nun also solange durchlaufen, bis wert1 nicht mehr kleiner wie wert2 ist (WHILE wert1 < wert2) Bei jedem Durchlauf werden die zwischen WHILE und WEND enthaltenen Befehle ausgef&#252;hrt.


    Man k&#246;nnte als Alternative auch DO WHILE benutzen. Das h&#228;tte den gleichen Effekt.

    Die DO WHILE Schleife
    Code:
    DIM wert1 as INTEGER: wert1 = 1
    DIM wert2 AS INTEGER: wert2 = 10
    
    DO WHILE wert1 < wert2
       wert1 = wert1 + 1
       ' Hier die Befehle
    LOOP
    
    Man k&#246;nnte WHILE also sinnbildlich damit &#252;bersetzen "Durchlaufe die Schleife, bis die Angegebene Bedingung erf&#252;llt ist"

    Dazu gibt es einen Gegensatz. Der nennt sich UNTIL. UNTIL kann man sinnbildlich damit &#252;bersetzen "Durchlaufe die Schleife, solange die Bedingung erf&#252;llt ist."

    Das ganze k&#246;nnte dann so aussehen

    Die DO UNTIL Schleife
    Code:
    DIM wert1 AS INTEGER: wert1 = 1
    DIM wert2 AS INTEGER: wert2 = 10
    
    DO UNTIL wert2 > wert1
       wert1 = wert1 + 1
    LOOP
    
    Sprich die Schleife wird solange durchlaufen wie wert1 kleiner wie wert2 ist. Die Sinnigkeit sei mal dahin gestellt, denn wenn ich die Vergleichsoperatoren richtig einsetze, dann kann ich mir die UNTIL Schleife schenken.


    Dann gibts da noch die FOR NEXT Schleife, die du ja schon eingesetzt hast, daher erspare ich mir das ganze.


    Ich hoffe wir haben etwas gelernt ;)
     
    Last edited: Nov 30, 2009
  10. kalweit

    kalweit Hüter der Glaskugel

    ...sinnfrei - sein "Problem" (vermutlich Hausaufgabe) ist ja gelöst.
     
  11. Fabiansson

    Fabiansson Kbyte

    @VB-Coder

    Hey, ich danke dir veillmals, dass du mir so geholfen hast und dir dann noch die Mühr gemacht hast den "Lerneffekt" zu erhöhen.*respekt*

    Das Programm habe ich mir in Ruhe durchgeschaut und ich habe auch viele "aha" Erfahrungen gemacht, ich werde versuchen ein paar Sachen davon in mein Programm einzubauen und den Text noch zu erweitern.

    Also ein dickes Danke nochmals!:bet:
    :D

    @kalweit

    Du hast mir kein einziges Mal in diesem Thread geholfen, du "Hüter der Glaskugel" so macht man sich also den Beitragzähler hoch....

    Statt solche Vorwürfe wie "wir haben dir die Hausaufgaben gemacht" oder so kannst du dir wirklich spaaren, du hättest mir besser geholfen, VB-Coder hat dies in 2 Beiträgen geschafft, aber du hast es nichteinmal in über 5 geschafft.
    In anderen Threads habe ich auch nicht besseres von dir gesehen.

    Abgesehen davon bin ich erst 14 und ich hätte dich sehen wollen in diesem Alter....
    Da helfen Vorwürfe wirklich nichts...

    Wie auch immer, ich danke auch dem Rest der mir geholfen hat!!

    Gruss Fabiansson
     
  12. kalweit

    kalweit Hüter der Glaskugel

    ...also ich lese mindestens 3 konkrete Tipps, die allein an deine Adresse gingen - aber egal...

    :wink:
     
  13. -humi-

    -humi- Joker

    Deine 14 sind kein Grund, einen solchen Ton gegen&#252;ber einem freiwilligen Helfer einzuschlagen.....
    auch mit dem Alter wusste ich Hilfe zu sch&#228;tzen und wusste, wie ich mit Anderen reden/schreiben soll
     
  14. Fabiansson

    Fabiansson Kbyte

    Ich habe zwar evt. ein wenig &#252;berreagiert, aber sowas kann ich wirklich nicht gebrauchen:

    Wie dem auch sein, ich entschuldige mich halt nochmals...

    Gruss Fabiansson
     
Thread Status:
Not open for further replies.

Share This Page