| |

Visual-Basic EinsteigerAnfä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 |  |
 | 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 |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) sevWizard für VB5/6 
Professionelle Assistenten im Handumdrehen
Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Weitere Infos
|
|
|
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
|
|