Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi string nach smileys parsen (https://www.delphipraxis.net/20857-string-nach-smileys-parsen.html)

Nicolai1234 24. Apr 2004 13:51


string nach smileys parsen
 
Es geht in diesem Thema um einen newsreader für die shoutbox:
Ich hbae einen String den jemand in die shoutbox geschrieben hat. nun möchte ich ihn nach sachen wie : cry: (ohne leerzeichen) durchsuchen und an diesen Stellen trennen.
Wenn ich also folgenden string habe:
Zitat:

Zitat von string
Hallo : hi: tschüss

soll dieser zu in drei strings geteilt werden also so:
  • Hallo
  • : hi:
  • tschüss
Dann könnte ich ihn nämlich weiterverarbeiten und die bilder darstellen!

Weiß einer, wie ich an dieses Problem herangehen kann?

StefanDP 24. Apr 2004 13:58

Re: string nach smileys parsen
 
...vor und nach jedem smiley ist ein leer...
Delphi-Quellcode:
" :cry: "
...

Nicolai1234 24. Apr 2004 13:59

Re: string nach smileys parsen
 
Ich weiß, die habe ich weggelassen, damit er sie nicht angezeigt hat!

toms 24. Apr 2004 14:00

Re: string nach smileys parsen
 
Hi,

Suche nach einem '
Dann nach einem 2. '
Denn Text dazwischen wertest du aus und wenn es
ein Smiley ist (hast du vorher definiert), dann ersetzt du das '...' durch ein Smiley-Bild.

Wheelie 24. Apr 2004 14:04

Re: string nach smileys parsen
 
Mach diese Teilstrings in einer Schleife mit Pos ausfindig und schau dir mal Hier im Forum sucheninsert an. Vor und nach dem Teilstring fügst du Chr(13) ein und schon hast du die gewünschten Zeilenumbrüche :thuimb:

EDIT: oops :oops: :oops:, habe mir deine Frage gar nicht richtig durchgelesen :wall:

SirThornberry 24. Apr 2004 14:04

Re: string nach smileys parsen
 
ungefähr so (UNGEFÄHR)
Delphi-Quellcode:
var Nachricht: String;
    LStringlist: TStringlist;
begin
  LStringlist := TStringlist.create;
  while pos(' ', LNachricht) > 0 do
  begin
    LStringlist.Add(copy(Nachricht, 1, pos(' ', LNachricht)-1);
    LNachricht := copy(LNachricht, length(LStringlist.Strings[LStringlist.count-1]) + 1, length(LNachricht));
  end;
  LStringlist.Free;

himitsu 24. Apr 2004 14:06

Re: string nach smileys parsen
 
Vorgehen siehe toms

Funktionen, die helfen können sind Pos/PosEx, Copy, Insert, Delete und/oder StringReplace

such dir das Passende aus - hier im Forum und in der OH findest du Geschreibungen dazu

Und in der OH ist unter "String-Verarbeitung" noch viel mehr dazu.

Nicolai1234 24. Apr 2004 15:18

Re: string nach smileys parsen
 
Ich habs jetzt hinbekommen danke

Nicolai1234 25. Apr 2004 11:39

Re: string nach smileys parsen
 
In der variante vom swissdelphicenter wird der smiley immer an den Anfang vom jvxrichedit gemacht. Ich möchte aber erst Text und dann den Smiley haben. Wie kann ich das machen! Es müsste so sein dass er immer am Ende eingefügt wird

(SourceStream ist das Bild und RichEdit das jvxRichEdit)
Delphi-Quellcode:
procedure PutRTFSelection(RichEdit: TMyRichEdit; SourceStream: TStream);
var
  EditStream: TEditStream;
begin
  with EditStream do
  begin
    dwCookie := Longint(SourceStream);
    dwError := 0;
    pfnCallback := EditStreamInCallBack;
  end;
  RichEdit.Perform(EM_STREAMIN, SF_RTF or SFF_SELECTION, Longint(@EditStream));
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:23 Uhr.

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