Ladet euch zunächst das .rar Archiv aus dem Anhang herunter. Entpackt es anschließend. Ihr findet lediglich eine DLL und die oben erwähnte PHP - Datei vor. Öffnet nun MS Visual Basic 2010 und erstellt ein neues WindowsForm - Projekt. Erstellt nun drei TextBoxes und einen Button. Dabei wird in der TextBox1 die Nachrichten der User ausgegeben. In der Textbox2 soll dein Nachrichten-Text eingegeben werden und in der TextBox3 soll der Nickname gewählt werden können. Bei TextBox1 solltet ihr unter Eigenschaften 'ReadOnly' und 'MultiLine' auf 'true' stellen und eine vertikale Scrollbar hinzufügen. Nach einem Druck auf dem Button soll die Nachricht gesendet werden.
So als nächstes müsst ihr die Chat-Klasse aus der Dll eurem Projekt hinzufügen. Klickt dazu im Projektmappenexplorer doppelt auf das Item 'My Project'. Klickt nun auf 'Verweise' und dann auf 'Hinzufügen'. Wählt anschließend 'Durchsuchen' und sucht nach der Dll, die ihr am Anfang runtergeladen habt. Wählt sie aus und drückt auf 'Ok'. Nun können wir anfangen zu programmieren.
Als erstes müssen wir den Namespace der Chat-Klasse importieren. Dieser lautet "chatLib":
Code:
Imports chatLib
Public Class Form1
End Class
Als nächstes deklarieren wir ein Objekt der Klasse 'PHPChatClient'. Diese Klasse regelt den gesamten Chatablauf:
Code:
Imports chatLib
Public Class Form1
Private myChat As PHPChatClient
End Class
Als nächstes wird das Objekt im Konstruktor der Form erstellt:
Code:
Imports chatLib
Public Class Form1
Private myChat As PHPChatClient
Sub New()
InitializeComponent()
myChat = New PHPChatClient("http://test.te.funpic.de/", TextBox3, TextBox1, TextBox2, Me)
End Sub
End Class
Der erste Parameter ist die Adresse des Verzeichnisses, an der die PHP - Datei liegt. Ich habe die PHP - Datei in diesem Beispiel in das root Verzeichniss hochgeladen, also "http://test.te.funpic.de". Ihr müsst natürlich den Link mit dem Verzeichniss eurer PHP-Datei ersetzen. Der zweite Parameter ist die TextBox, die den Nickname beinhaltet. Der dritte Parameter ist die Textbox, die die Nachrichten anzeigen soll. Der vierte Parameter ist die Textbox, die die Eingabe des Users beinhaltet. Und der letzte Parameter ist unsere Form, in der der Chat angezeigt werden soll.
Nachdem das Chat-Objekt erstellt wurde, müssen wir ihn starten, damit er die Nachrichten empfangen kann:
Code:
Imports chatLib
Public Class Form1
Private myChat As PHPChatClient
Sub New()
InitializeComponent()
myChat = New PHPChatClient("http://test.te.funpic.de/", TextBox3, TextBox1, TextBox2, Me)
myChat.StartReceiving(4000)
End Sub
End Class
Um den Chat zu startet rufen wir also einfach die 'StartReceiving()' Funktion auf. Der Parameter gibt den Intervall in millisekunden an, nach dem sich der Chat refreshed. In dem Beispiel also alle 4Sekunden.
Um einen Text zu senden müssen wir lediglich die 'SendMessage()' Funktion aufrufen. Das machen wir am besten, wenn der Senden-Button gedrückt wurde:
Code:
Imports chatLib
Public Class Form1
Private myChat As PHPChatClient
Sub New()
InitializeComponent()
myChat = New PHPChatClient("http://test.te.funpic.de/", TextBox3, TextBox1, TextBox2, Me)
myChat.StartReceiving(4000)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim str As [String] = myChat.SendMessage()
If str IsNot Nothing Then
TextBox1.Text = str
End If
End Sub
End Class
Die Funktion 'SendMessage()' gibt einen String mit dem neuen Inhalt der Ausgabe-TextBox zurück, sodass wir diese auch refreshen können. Jedoch müssen wir davor prüfen, ob der String überhaupt einen Wert erhält. Konnte die 'SendMessage()' Funktion nicht richtig ausgeführt werden, gibt sie nämlich Nothing zurück.
Damit wäre der Chat eigentlich schon fertig. Bis auf das Aufräumen. Es ist essentiell, dass am Schluss ordnungsmgemäß aufgeräumt wird, sonst kann das Programm unter Umständen nicht richtig beendet werden. Zum Aufräumen muss einfach folgende Funktion hinzugefügt werden:
Code:
Protected Overrides Sub OnClosing(e As System.ComponentModel.CancelEventArgs)
myChat.Dispose()
myChat = Nothing
GC.Collect()
End Sub
Damit sieht der vollständige Code so aus:
Code:
Imports chatLib
Public Class Form1
Private myChat As PHPChatClient
Sub New()
InitializeComponent()
myChat = New PHPChatClient("http://test.te.funpic.de/", TextBox3, TextBox1, TextBox2, Me)
myChat.StartReceiving(4000)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim str As [String] = myChat.SendMessage()
If str IsNot Nothing Then
TextBox1.Text = str
End If
End Sub
Protected Overrides Sub OnClosing(ByVal e As System.ComponentModel.CancelEventArgs)
Me.myChat.Dispose()
Me.myChat = Nothing
GC.Collect()
End Sub
End Class