Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Smilies im Chat?? (https://www.delphipraxis.net/73711-smilies-im-chat.html)

Tobiax 23. Jul 2006 09:44

Re: Smilies im Chat??
 
KK erst mal danke für den Code aber wie füge ich den ein letzte Frage

Dank Danke Danke!!!!

mkinzler 23. Jul 2006 09:45

Re: Smilies im Chat??
 
Zitat:

Zitat von Tobiax
KK erst mal danke für den Code aber wie füge ich den ein letzte Frage

Dank Danke Danke!!!!

Diese Frage verstehe ich nicht

Tobiax 23. Jul 2006 09:57

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;

Sko 23. Jul 2006 10:01

Re: Smilies im Chat??
 
Zitat:

Zitat von Tobiax
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 = Very Happy Einstelllen?



mfg.Tobiax

Also, ich hab in meinem Programm eine Imagelist mit dem Namen "Smileys" in der die Bilder drin sind. Wenn eine Nachricht kommt rufe ich die Prozedur SucheSmiley auf, z. B. so:
Delphi-Quellcode:
SucheSmiley(':)',0, Smileys);
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:
Delphi-Quellcode:
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;
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.

Tobiax 23. Jul 2006 10:07

Re: Smilies im Chat??
 
OK hab alles Danke!!!!!

fkerber 23. Jul 2006 10:23

Re: Smilies im Chat??
 
Hi!
Zitat:

Zitat von Sko
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:
Delphi-Quellcode:
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;
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.

Warum rufst du denn das ganze 11x auf?

Ciao Frederic

Sko 23. Jul 2006 10:30

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:

Tobiax 23. Jul 2006 10:37

Re: Smilies im Chat??
 
Hi Sko hab doch noch eine Frage wo soll ich den erken code einfügen
Code:
SucheSmiley(':)',0, Smileys);
und wo bekomm ich JvRichEdit her ???


Danke nochmal

PS: wo soll ich den einfügen
Code:
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;
mfg.Tobiax

fkerber 23. Jul 2006 10:40

Re: Smilies im Chat??
 
Hi!

Der Code sollte dahin, wo du eingehende Messages bearbeitest und JvRichedit gehört zu den Jedis:
http://www.delphi-jedi.org/


Ciao Frederic

Sko 23. Jul 2006 10:45

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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:28 Uhr.
Seite 3 von 4     123 4      

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