Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
sollniss_
Coder
Coder

Anmeldedatum: 08.09.2007
Beiträge: 212

for schleife in data arrivel unterbrechen
Verfasst am: 18.01.2008, 16:13

hab folgenden code, der zwar net funzt aber mein prob ziemlich gut beschreibt:

Code:

Private Sub ws_DataArrival(ByVal bytesTotal As Long)
On Error Resume Next
' incoming
Dim strDaten As String
Dim strSpamArr() As String
Dim i As Integer
Dim Rand As String

ws.GetData strDaten, vbString
DoEvents

If InStr(strDaten, "!spam +") <> 0 Then
strSpamArr = Split(strDaten, "+")
For i = 1 To strSpamArr(1)
' !stop
If InStr(strDaten, "!stop") <> 0 Then
Exit Sub
Else
Randomize
Rand = Rnd * 1000 + Rnd
ws.SendData "PRIVMSG " & strChannel & " : " & Rand & vbCrLf
End If
Next i
End Sub


die nachichten werden einfach weiter gesendet, er ignoriert !stop
http://sollniss.1x.to/

 
The-God-of-all_
Poster
Poster

Anmeldedatum: 20.05.2007
Beiträge: 170
Wohnort: App.Path


Verfasst am: 18.01.2008, 17:04

Ich habe den Code mal so umgeschrieben das er funktionieren sollte. Ich habe dazu eine Auswertung mit Select Case und Split gemacht. Wenn man !spam 10 an den Server sendet dann fängt er an die Schleife 10 mal zu durchlaufen. Wenn während des durchlaufens der Schleife !stop gesendet wird dann wird die Schleife abgebrochen. Ich weiß nicht was du machen willst, aber ich vermute das es sinnvoller wäre einen Timer anstelle einer Schleife zu nehmen.

Code:
Private Sub ws_DataArrival(ByVal bytesTotal As Long)
    On Error Resume Next
    Dim Buffer As String
    Dim Attributs() As String
    Static Cancel As Boolean
    Dim i As Integer

    ws.GetData Buffer, vbString
   
    Attributs = Split(Buffer, " ")
   
    Select Case Attributs(0)
   
        Case "!spam"
            Cancel = False
           
            For i = 0 To Int(Attributs(1))
                'Code für Spam
                DoEvents
                If Cancel = True Then Exit For
            Next
           
        Case "!stop"
            Cancel = True
   
    End Select
   
End Sub
 
sollniss_
Coder
Coder

Anmeldedatum: 08.09.2007
Beiträge: 212


Verfasst am: 18.01.2008, 17:26

hm ja ich kommuniziere mit nem irc server, und da sind im buffer keine leerzeichen, also isses schwer das command rauszufiltern
http://sollniss.1x.to/

 
The-God-of-all_
Poster
Poster

Anmeldedatum: 20.05.2007
Beiträge: 170
Wohnort: App.Path


Verfasst am: 18.01.2008, 17:43

Eigentlich müsste das auch gehen, weil IRC Messages können Leerzeichen enthalten und wenn man die richtig splittet sollte man an die ganze Nachricht dran kommen. Aber man kann das ganze auch mit Instr machen.

Code:
Private Sub ws_DataArrival(ByVal bytesTotal As Long)
    On Error Resume Next
    Dim Buffer As String
    Dim Attribut As String
    Static Cancel As Boolean
    Dim i As Integer

    ws.GetData Buffer, vbString
   
    Attributs = Split(Buffer, " ")
   
    If InStr(1, Buffer, "!spam +") > 0 Then
        Cancel = False
        Attribut = Mid$(Buffer, InStr(1, Buffer, "!spam +") + 7)
        For i = 0 To Int(Attribut)
            'Code für Spam
            DoEvents
            If Cancel = True Then Exit For
        Next
       
    ElseIf InStr(0, Buffer, "!stop") > 0 Then
        Cancel = True
    End If
   
End Sub
 
sollniss_
Coder
Coder

Anmeldedatum: 08.09.2007
Beiträge: 212


Verfasst am: 18.01.2008, 18:37


habs jetz doch mit nem timer gemacht (mit der hilfe von ringwrath-4), trotzdem thx^^
http://sollniss.1x.to/

 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten

Tags: schleife, for, unterbrechen, error, sub

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge [suche] Tuturials winsock & daten senden 983 09.06.2011, 13:19
Keine neuen Beiträge [Video] *.dll & *.ocx Installer 2609 06.03.2008, 21:19
Keine neuen Beiträge ListView speichern & laden 1331 05.08.2008, 13:32
Keine neuen Beiträge Registry & Co Fragen 1203 03.05.2007, 10:57
Keine neuen Beiträge Listbox speichern & laden 2268 22.03.2007, 21:25
 


[ Time: 0.1687s ][ Queries: 92 (0.0961s) ][ GZIP on - Debug on ]