![]() |
Smilies im Chat??
Hallo ich Programmiere gerade einen Chat und ich will Smilies in diesem Chat nur ich hab keinen Plan davon :coder2: also ich hab zwei Memos die Erste zum reinschreiben von Texten die andere zum lesen??
Es ist sehr wichtig für mich! danke schon mal |
Re: Smilies im Chat??
Vrwende ein richedit das bilderanzeigen kann und ersetze : ) durch :)
|
Re: Smilies im Chat??
Hi!
Such einfach mal hier im Forum nach Smilies, Chat o.ä. - das hatten wir öfter schon! Ciao Frederic |
Re: Smilies im Chat??
Benutze bitte die Forensuche, hatten wir schon zig Threads zu...
|
Re: Smilies im Chat??
Ja kann ich machen aber gib es eine Möglichkeit das in der Memo zu machen?
Und wie meindest du das mit erstzen? danke für die Hilfe |
Re: Smilies im Chat??
PS hatte schon gesucht und nichts richtiges gefunden! :pale:
|
Re: Smilies im Chat??
Ein Memo kann keine Bilder anzeigen, also wird das nichts mit deinen Smilies. Ich habe grade 4 Threads gefunden wo das Problem gelöst wird, suche oder setze gleich in JvRichedit ein, dass kann Bilder verarbeiten. ;)
Btw, du kannst deinen Beitrag über den Knopf rechts oben an jedem Post von dir editieren, falls du mal wieder ein P.S. reinsetzen willst. ;) |
Re: Smilies im Chat??
ok aber wir belasen es mal bei JvRichedit wie kann ich das machen das wenn ich zb. :) das das erste bild aus einer Imagelist angezeigt wird danke schon mal
ich bin noch Anfänger :oops: |
Re: Smilies im Chat??
Links zu Chat und Smilies:
![]() ![]() ![]() Grüße LuphiSoft |
Re: Smilies im Chat??
|
Re: Smilies im Chat??
Danke für eure Hilfe aber ich brauch nur ein Codeausschnitt !
Danke |
Re: Smilies im Chat??
in meinem
![]()
Delphi-Quellcode:
wobei der Smiley als Text in den Nachrichten versendet wird (z. B. *grins* für :-D)
procedure TMainForm.BildEinfuegen(var Bilder: TImageList; const ImageIndex: integer);
var bitmap: TBitmap; begin Bitmap := TBitmap.Create; try Bilder.GetBitmap(ImageIndex,Bitmap); REEmpfangen.InsertGraphic(Bitmap,false); //REEmpfangen = JvRichEdit with REEmpfangen.GetSelection do REEmpfangen.SetSelection(cpMin + 1, cpMin + 1, False); finally bitmap.Free; end; end; procedure TMainForm.SucheSmiley(const Smiley: string; ImageIndex: integer; Liste: TImageList); var FoundAt: LongInt; StartPos, ToEnd: Integer; begin with REEmpfangen do begin if SelLength <> 0 then StartPos := SelStart + SelLength else StartPos := 0; ToEnd := Length(Text) - StartPos; FoundAt := FindText(Smiley, StartPos, ToEnd, []); if FoundAt <> -1 then begin SetFocus; SelStart := FoundAt; SelLength := Length(Smiley); BildEinfuegen(Liste, ImageIndex); end; end; end; EDIT: Zitat:
|
Re: Smilies im Chat??
Hi Sko der Code ist gut aber was haben die proceduren Bildeinfügen und SucheSmily zu tun sind das nochmal Extra Sachen? und wie kann ich zb. grinz = :-D Einstelllen?
mfg.Tobiax |
Re: Smilies im Chat??
Indem du den String durchsuchst un die extra Kürzel durch die Smilies ersetzt.
|
Re: Smilies im Chat??
Hi ich bin noch Anfänger und iach hab verstanden
Code:
durch was erstezen soll und string durchsuchen????? kannst du etwas Code geben da lernt man am besten danke dir :)
if FoundAt <> -1 then
|
Re: Smilies im Chat??
Schau dir mal die Funktionen Pos, PosEx unr StringReplace an.
|
Re: Smilies im Chat??
Ja schon aber was soll da sein """Rücksicht"""" :oops:
|
Re: Smilies im Chat??
Willst du was Lernen oder sollen wir dir hier fertige Lösungen liefern?
Also mit der Funktion Pos kannst du einen Teilstring innerhalb eines anderen finden. Die Funktion liefert dir die Position des gefundenen Teilstrings innerhalb des anderen Strings zurück. PosEx ist eine Erweiterung, bei der man angeben kann ab welchem Zeichen gesucht werden soll. StringReplace ersetzt, wie der Name schon andeutet Teilstrings innerhalb eines String s. Wenn man eine Funktion oder deren Parameter nicht kennt hilft oft die Hilfe weiter. Bei Delphi sind auch einen Menge Demos dabei. |
Re: Smilies im Chat??
Ich will schon was lernen aber ich versteh es einfach nicht mit dem Pos.... da wäre etwas Code sinnvoller da kenn ich auch lernen und testen und so also ich hatte schon sowas hat nicht geklappt wie ein smilie code da musste ich sowas hinschreiben
Code:
das waren dann die eingabe codes??
const
CImageToString: array[0..19] of string = ( ':-)', { Lachen } ':'(', { Weinen } ':-#', { Küssen } ':-D', { Großes Lachen } ':-p', { Zunge rausstecken } ':-o', { Überrascht } '>-I', { sauer } '8-)', { Sonnenbrille } '>-)', { Böse } ':-x', { Halt die Klappe } ';-)', { Zwinkern } ':-y', { Stinkefinger } ':-q', { *Lecker* } ':-[', { Wütend } ':-.', { Unschuldig } ':-]', { Hinterlistig } '8-o', { Hippie } '8-]', { PC-Freak } ':Io', { Italiener } ':-B', { Hasenzähne } ); mfg.Tobiax |
Re: Smilies im Chat??
Pos:
Delphi-Quellcode:
StringReplace:
str := 'Luigi ist ein Italiener';
i := Pos( 'Italiener', str); // Liefert 15 zurück weil der erste Buchstaben des Suchstrings ( Italiener) an Position 15 des zu durchsuchenden Strings (str) steht.
Delphi-Quellcode:
newstr := StringReplace( str, 'Italiener', ':Io', [rfReplaceAll]);
|
Re: Smilies im Chat??
KK erst mal danke für den Code aber wie füge ich den ein letzte Frage
Dank Danke Danke!!!! |
Re: Smilies im Chat??
Zitat:
|
Re: Smilies im Chat??
Wie füge ich jetzt deinen Code in den ein?
Code:
procedure TMainForm.BildEinfuegen(var Bilder: TImageList; const ImageIndex: integer);
var bitmap: TBitmap; begin Bitmap := TBitmap.Create; try Bilder.GetBitmap(ImageIndex,Bitmap); REEmpfangen.InsertGraphic(Bitmap,false); //REEmpfangen = JvRichEdit with REEmpfangen.GetSelection do REEmpfangen.SetSelection(cpMin + 1, cpMin + 1, False); finally bitmap.Free; end; end; procedure TMainForm.SucheSmiley(const Smiley: string; ImageIndex: integer; Liste: TImageList); var FoundAt: LongInt; StartPos, ToEnd: Integer; begin with REEmpfangen do begin if SelLength <> 0 then StartPos := SelStart + SelLength else StartPos := 0; ToEnd := Length(Text) - StartPos; FoundAt := FindText(Smiley, StartPos, ToEnd, []); if FoundAt <> -1 then begin SetFocus; SelStart := FoundAt; SelLength := Length(Smiley); BildEinfuegen(Liste, ImageIndex); end; end; end; |
Re: Smilies im Chat??
Zitat:
Delphi-Quellcode:
Diese Prozedur sucht den entsprechenden String (hier :)), löscht ihn und ruft die Prozedur Bildeinfuegen auf, die an diese Position dann den entsprechenden Smiley setzt(hier das Bild mit dem Index 0 aus der Imagelist "Smileys". Bei mir sieht das im ganzen dann so aus:
SucheSmiley(':)',0, Smileys);
Delphi-Quellcode:
Ist sicher nicht die optimalste Methode, ich bin auch noch Anfänger. Ich hab den ganzen Spass noch in einen Thread ausgelagert, da merkt mans nicht beim Nachrichtenschreiben etc.
for i := 0 to 10 do
begin SucheSmiley('*:-D*',0, MainForm.Smileys); SucheSmiley('*;-)*',1, MainForm.Smileys); SucheSmiley('*evil*',2, MainForm.Smileys); SucheSmiley('*cry*',3, MainForm.Smileys); SucheSmiley('*cool*',4, MainForm.Smileys); SucheSmiley('*shock*',5, MainForm.Smileys); SucheSmiley('*thumbup*',6, MainForm.Smileys); SucheSmiley('*grübel*',7, MainForm.Smileys); SucheSmiley('*angel*',8, MainForm.Smileys); SucheSmiley('*idea*',10, MainForm.Smileys); SucheSmiley('*->*',11, MainForm.Smileys); SucheSmiley('*!*',12, MainForm.Smileys); SucheSmiley('*?*',13, MainForm.Smileys); SucheSmiley('*freak*',14, MainForm.Smileys); SucheSmiley('*stupid*',15, MainForm.Smileys); SucheSmiley('*:-S*',16, MainForm.Smileys); SucheSmiley('*neutral*',17, MainForm.Smileys); SucheSmiley('*wiejetz*',0, MainForm.Smileys_2); SucheSmiley('*heuldoch*',1, MainForm.Smileys_2); SucheSmiley('*tuichdoch*',2, MainForm.Smileys_2); end; |
Re: Smilies im Chat??
OK hab alles Danke!!!!!
|
Re: Smilies im Chat??
Hi!
Zitat:
Ciao Frederic |
Re: Smilies im Chat??
Weil bei jedem Aufruf der Prozedur nur ein Smiley ersetzt wird, und beim testen wurde manchmal mehrmals der gleiche Smiley in eine Nachricht eingefügt, das sah dumm aus wenn der 2 oder 3 erst später ersetzt wurde, daher hab ichs in eine Schleife gepackt. Bin halt Anfänger :lol:
|
Re: Smilies im Chat??
Hi Sko hab doch noch eine Frage wo soll ich den erken code einfügen
Code:
und wo bekomm ich JvRichEdit her ???
SucheSmiley(':)',0, Smileys);
Danke nochmal PS: wo soll ich den einfügen
Code:
mfg.Tobiax
for i := 0 to 10 do
begin SucheSmiley('*:-D*',0, MainForm.Smileys); SucheSmiley('*;-)*',1, MainForm.Smileys); SucheSmiley('*evil*',2, MainForm.Smileys); SucheSmiley('*cry*',3, MainForm.Smileys); SucheSmiley('*cool*',4, MainForm.Smileys); SucheSmiley('*shock*',5, MainForm.Smileys); SucheSmiley('*thumbup*',6, MainForm.Smileys); SucheSmiley('*grübel*',7, MainForm.Smileys); SucheSmiley('*angel*',8, MainForm.Smileys); SucheSmiley('*idea*',10, MainForm.Smileys); SucheSmiley('*->*',11, MainForm.Smileys); SucheSmiley('*!*',12, MainForm.Smileys); SucheSmiley('*?*',13, MainForm.Smileys); SucheSmiley('*freak*',14, MainForm.Smileys); SucheSmiley('*stupid*',15, MainForm.Smileys); SucheSmiley('*:-S*',16, MainForm.Smileys); SucheSmiley('*neutral*',17, MainForm.Smileys); SucheSmiley('*wiejetz*',0, MainForm.Smileys_2); SucheSmiley('*heuldoch*',1, MainForm.Smileys_2); SucheSmiley('*tuichdoch*',2, MainForm.Smileys_2); end; |
Re: Smilies im Chat??
Hi!
Der Code sollte dahin, wo du eingehende Messages bearbeitest und JvRichedit gehört zu den Jedis: ![]() Ciao Frederic |
Re: Smilies im Chat??
Du kannst ihn in's OnChange-Event des JvRichEdits einbauen, dann wird immer nach Smileys gesucht wenn sich der Inhalt des JvRichEdits ändert.
|
Re: Smilies im Chat??
ja denn Code versteh ich schon aber wo bekomme ich das Jedi her auf der Page gib es viele Sachen bitte direkten Link und Name Danke!"!
|
Re: Smilies im Chat??
Hi!
Ein bisschen mehr Eigeninitiative könnte auch nicht schaden... :? ![]() Ciao Frederic |
Re: Smilies im Chat??
Hab es heruntergeladen wie Installiere ich das hab schon probiert aber hat nicht geklappt auch mit Readme nicht
Bitte bitte helfen! |
Re: Smilies im Chat??
Hi!
Prinzipiell wäre ein neuer Thread fällig, da es sich um eine neue Frage handelt, ABER es finden sich schon einige Threads dazu im Forum - also erstmal suchen! Ciao Frederic |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:32 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