Delphi-PRAXiS
Seite 2 von 4     12 34      

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 22. Jul 2006 21:02

Re: Smilies im Chat??
 
Danke für eure Hilfe aber ich brauch nur ein Codeausschnitt !
Danke

Sko 22. Jul 2006 21:25

Re: Smilies im Chat??
 
in meinem MiniChat mach ich das bisher so:

Delphi-Quellcode:
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;
wobei der Smiley als Text in den Nachrichten versendet wird (z. B. *grins* für :-D)

EDIT:
Zitat:

Zitat von kabuco
Hallo,

ich habe für meinen Chat (NetChat Link) die ThtmlLite Komponente verwendet. Dort kann man dann auch mit HTML-Code den Text formatieren. Für CHatprogramme garnicht mal so schlecht.

Danke für den Tipp, das werd ich mir mal für meinen MiniChat ansehen :thumb:

Tobiax 23. Jul 2006 07:44

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

mkinzler 23. Jul 2006 08:45

Re: Smilies im Chat??
 
Indem du den String durchsuchst un die extra Kürzel durch die Smilies ersetzt.

Tobiax 23. Jul 2006 08:56

Re: Smilies im Chat??
 
Hi ich bin noch Anfänger und iach hab verstanden
Code:
 if FoundAt <> -1 then
durch was erstezen soll und string durchsuchen????? kannst du etwas Code geben da lernt man am besten danke dir :)

mkinzler 23. Jul 2006 09:05

Re: Smilies im Chat??
 
Schau dir mal die Funktionen Pos, PosEx unr StringReplace an.

Tobiax 23. Jul 2006 09:11

Re: Smilies im Chat??
 
Ja schon aber was soll da sein """Rücksicht"""" :oops:

mkinzler 23. Jul 2006 09:17

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.

Tobiax 23. Jul 2006 09:26

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:
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 }
    );
das waren dann die eingabe codes??

mfg.Tobiax

mkinzler 23. Jul 2006 09:33

Re: Smilies im Chat??
 
Pos:
Delphi-Quellcode:
    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.
StringReplace:
Delphi-Quellcode:
  newstr := StringReplace( str, 'Italiener', ':Io', [rfReplaceAll]);


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:51 Uhr.
Seite 2 von 4     12 34      

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