![]() |
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 : ![]() 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:
Und ein THtmlListbox wo die Nachricht plus Smileys dargestellt werden soll.
//-------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; 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] |
Hat keiner eine Idee ?? :(
Na denne. |
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 ![]() |
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