vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Anfängerproblem, Programm "hängt" 
Autor: Daniel
Datum: 07.10.02 04:24

Hi,

ich bin erst seit kurzem dabei, mich mit visual basic zu beschäftigen, beherrsche bisher leider nur ein wenig javascript.
nun habe ich mein erstes "eigenes" programm geschrieben, welches einen c-range (um genau zu sein 192.168.0.*) scannen soll.

Ich habe eine textbox mit dem namen "textbox", einen button "Command1" über den die Funktion gestartet wird. der code sieht bisher so aus:

Private Declare Function IsDestinationReachable Lib _
  "Sensapi.dll" Alias "IsDestinationReachableA" _
  (ByVal lpszDestination As String, _
  lpQOCInfo As QOCINFO) As Long
 
Private Type QOCINFO
  dwSize As Long
  dwFlags As Long
  dwInSpeed As Long
  dwOutSpeed As Long
End Type
 
Public Function Ping(ByVal IP As String) As Boolean
  Dim QuestStruct As QOCINFO
  Dim lReturn As Long
 
  QuestStruct.dwSize = Len(QuestStruct)
 
  lReturn = IsDestinationReachable(IP, QuestStruct)
 
  If lReturn = 1 Then
    Ping = True
  Else
    Ping = False
  End If
End Function
 
 
Private Sub Command1_Click(Index As Integer)
    CR$ = Chr$(13) & Chr$(10)
 
    textbox.Text = "Starte IP-Scan" & CR$ & "--------------"
 
    For i = 1 To 254
        curip = "192.168.0." & i
        pingable = Ping(curip)
        If pingable Then
            textbox.Text = textbox.Text & CR$ & curip & " pingbar"
        Else
            textbox.Text = textbox.Text & CR$ & curip & " geht nicht :("
        End If
    Next i
End Sub
 
Private Sub textbox_Change()
    textbox.SelStart = Len(textbox.Text)
End Sub
soweit funktioniert das fast alles, allerdings habe ich hierzu ein paar fragen, da es scheinbar noch eine menge probleme gibt:

a) ich habe mir diese ping-funktion in irgendeiner faq abgeschaut, wenn ich damit im lokalen netzwerk pinge ist jede ip erreichbar, wenn ich damit im internet pinge, sind die zurückgegebenen daten korrekt. das muss ja an der funktion liegen, denn ein normaler dos-ping funktioniert ja auch.
b) wie kann ich bei einem ping einen timeout festlegen? für icmp pakete kann man ja einen time to live wert festlegen, allerdings durchblicke ich den code hier nicht
c) scanne ich damit einen externen ip-range im internet ab, hängt das programm und gibt keine rückmeldung ans system. wie kann ich hier mit sub-threads (oder wie sich das nennen mag) arbeiten, sodaß der programm-kern funktionsfähig bleibt?

ich weiß, daß das programm wohl seltsam anmuten mag, aber ich wollte nicht wie jeder typische programmieranfänger mit einem taschenrechner oder tic-tac-toe spiel beginnen.

danke schon jetzt für eure hilfe,
daniel
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Anfängerproblem, Programm "hängt"398Daniel07.10.02 04:24
Re: Anfängerproblem, Programm "hängt"333Elwood07.10.02 09:15
Re: Anfängerproblem, Programm "hängt"279Daniel07.10.02 14:58

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel