IRC - Zeichenketten

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

N0X

Betreff: IRC - Zeichenketten

BeitragFr, Jun 19, 2009 16:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey!
Ich habe mir den IRC-Client von 'DA' angeguckt und wollte daran weiterprogrammieren.
Ich habe versucht die einkommenden Nachrichten zurechtzuschneiden, habe aber versagt. Embarassed
Wo muss ich im Code ansetzen, wenn ich z.B. ein Zeichen ersetzen möchte?

Hier der Code: [AUSKLAPPEN]
SeedRnd MilliSecs()
Global IRC_stream, IRC_name$ = "N0X", IRC_port = 6667, IRC_host$ = "127.0.0.1", IRC_Server$ = "blitzforum.de", Channel$

Graphics 800,600,16,2
Connect()

While Not KeyHit(1)
     
   x$=irc_message_in$()
   While x$<>0
      Print x$
      x$=irc_message_in$()
   Wend
   
   If KeyHit(2) Then irc_message_out(Input(">"))

Wend
End

Function Connect(timeout=5000)
   ; mit IRC server verbinden
   IRC_stream = OpenTCPStream(IRC_Server$,IRC_port)
   go = MilliSecs()
   While Not  IRC_stream
      If MilliSecs()-go>timeout Then Return 0
   Wend
   ; Anmelden
   WriteLine IRC_stream, "USER " + IRC_name$ + " " + IRC_host$ + " " + IRC_Server$ + " :" + IRC_name$
   WriteLine IRC_stream, "NICK " + IRC_name$
   WriteLine IRC_stream, "PONG "
   ; Rückgabe
   Return 1
End Function   

Function IRC_message_in$()
    If IRC_stream = 0 Then Return 0
   
      If ReadAvail(IRC_stream) Then
          message_in$ = ReadLine(IRC_stream)
           
             ; Ping/Pong Wichtig!
             If Left$(message_in$,4) = "PING" Then WriteLine IRC_stream, "PONG " + Mid$(message_in$,7,Len(message_in$)-6)

             If Instr(message_in$, "~") Then

      If Instr(message_in$, "PRIVMSG") Then
           pos = Instr(message_in$, "PRIVMSG")
            name$ = Mid(message_in$, 1, Instr(message_in$, "~")-2)
               name$ = Mid(name$, 2, -1)
            pos   = Instr(message_in$, ":", pos)
         Return name$ + ": " + Mid(message_in$, pos+1, -1)
      EndIf
      
             EndIf

             Return message_in$

      Else
          Return 0
      EndIf
End Function

Function IRC_message_out(msg$)
If Mid$(Upper$(msg$), 1, 4) = "JOIN" Then
   Channel$ = Mid$(msg$, pos+5)
   WriteLine IRC_stream, msg$
Else
    WriteLine IRC_stream, "PRIVMSG " + Channel$ + " :"+msg$
 EndIf
End Function


Mfg,
N0X
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5%

ozzi789

BeitragFr, Jun 19, 2009 17:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Huh?
Du willst einen String bearbeiten?

Schau dir Instr an Wink
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Nicdel

BeitragFr, Jun 19, 2009 18:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Zeichen ersetzten? Replace
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

N0X

BeitragFr, Jun 19, 2009 21:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, die Befehle weiß ich, aber in dem Code oben weiß ich nicht wo ich was ersetzen muss. (Ich denke "message_in$", hat aber noch nicht geklappt) Confused
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5%

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group