Thema: Delphi Chat und Smileys

Einzelnen Beitrag anzeigen

Benutzerbild von Delphi_Mario
Delphi_Mario

Registriert seit: 15. Feb 2003
Ort: Bönen
2 Beiträge
 
Delphi 6 Professional
 
#1

Chat und Smileys

  Alt 16. Feb 2003, 12:45
Hallo alle zusammen !

Zunächst möchte Ich sagen das mir das Portal sehr gut gefällt.
Grafisch sehr aufwendig gestaltet und schön Übersichtlich.

Super.

Zu meinem Problem :

Ich habe einen Chat Programiert indem Ich gerne Smileys benutzen möchte.
Eine passende Komponente dafür habe Ich auch gefunden unter : Http://www.tmssoftware.com/

Ich benutze die Komponente : THtmlListbox

Die Komponente kann Html Tags wie zb.
THtmlListbox.Items.Add('[img]idx:1[/img]'); // IDX:1 bezieht sich auf die TImageList.

In zusammenhang mit einer TImageList1.

Ich habe jetzt eine TMemo Komponente für denn Text der Eingegeben wird, und einen Sende Button mit folgendem Code :

Delphi-Quellcode:
//-------Prüfen ob text eingegeben wurde----------------------------------------
 IF Nachricht.Lines.Count >0 THEN BEGIN
//------Solange laufen bis das Ende der BenutzerListe erreicht ist------
 ServerLog.Lines.Add('Server : Sende Nachrichten an Clients');

 While zaehler < BenutzerListe.Lines.Count Do Begin
 name :=Gettoken(BenutzerListe.Lines[zaehler],'#',2); // IP Hohlen
 TcpClient1.RemoteHost :=name; // Ip des Ziel Clients.
 try

  TcpClient1.Connect; // Versuche zu Konnekten
  IF TcpClient1.Connected = True then Begin //Wenn Konnektet dann Sende Nachricht

 For i :=0 to Nachricht.Lines.Count -1 do
 TcpClient1.Sendln('m1#' + MeinBenutzerName + '#' + nachricht.Lines[i]);
 Zaehler:=Zaehler +1;

//---------Wenn der Client sich nicht Konnekten kann dann diesen Code---
  End
  Else Begin
  BenutzerListe.Lines.Delete(zaehler);// Fehlerhaften Client Löschen----

//---------Server Log gibt Nachricht über Fehlerhaften Client aus.------
  ServerLog.Lines.Clear;
  ServerLog.Lines.Add('Server : Dieser Client konnte nicht erreicht werden : ' + name);
  ServerLog.Lines.Add('Server : Der Client ' +name + ' wurde Entfernt, um Fehler zu vermeiden.');

//----------Leerzeilen aus Benutzer Liste löschen-----------------------
  For e:=0 to BenutzerListe.Lines.Count -1 Do Begin
  IF BenutzerListe.Lines[e] = 'Then BenutzerListe.Lines.Delete(e); //Leerzeilen Löschen
  End;

  zaehler:=0;
  TcpClient1.Disconnect;
Und ein THtmlListbox wo die Nachricht plus Smileys dargestellt werden soll.
Evtl. noch ein TTreeview1, wo man die Smileys aussuchen kann.

Wie kann Ich es nun machen ?

Was Funktioniert ist z.b. Beim Klick auf ein Smiley : Memo1.Lines.Text := Memo1.Lines.Text + ('[img]idx:1[/img]');

Funktioniert sieht aber doof aus.

Hat jemand eine Idee wie man sowas eleganter Lösen kann

[edit=sakura]Tags aus der Überschrift entfernt und CODE- durch DELPHI Tags ersetzt.[/edit]
Application.MessageBox('Delphi ist Geil', 'Delphi ist Geil',0);
  Mit Zitat antworten Zitat