Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Chat und Smileys (https://www.delphipraxis.net/2964-chat-und-smileys.html)

Delphi_Mario 16. Feb 2003 11:45


Chat und Smileys
 
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. :D

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]

Delphi_Mario 17. Feb 2003 17:44

Hat keiner eine Idee ?? :(

Na denne.

Alexander 17. Feb 2003 17:59

Wenn ich dich richtig verstanden habe, willst du im Memo die Smilies anzeigen, oder?
Wenn dem so ist, kannst du entweder die TRxRichEdit-komponete nehmen oder du benutz den TWebbrowser, den man auf bearbeiten stellen kann. Ich glaube auf www.Swissdelphicenter.ch sind für beides Beispiele


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz