Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Chattext mit Textformatierung (https://www.delphipraxis.net/61053-chattext-mit-textformatierung.html)

Knotti2005 16. Jan 2006 15:03


Chattext mit Textformatierung
 
Wie kann ich einen Chat bauen der auch die Text Formatierung mit überträgt?

bisher mach ich es so

im memsend (richtext) steht der zu sendene Text...
in memrecv (richtext) steht der Empfangene Text..

Delphi-Quellcode:

-Senden-

procedure TForm1.SendenClick(Sender: TObject);
var
  I: Integer;
begin
  TcpClient1.RemoteHost := edtRemoteHost.Text;
  TcpClient1.RemotePort := edtRemotePort.Text;
    if TcpClient1.Connect then
    begin
      TcpClient1.Sendln(edtnickname.Text);
      for I := 0 to memSend.Lines.Count - 1 do
      TcpClient1.Sendln(memSend.Lines[I]);
  end;
    TcpClient1.Disconnect;
     for I := 0 to memSend.Lines.Count - 1 do
    memsend.Lines.Delete(I);
  end;


-Empfangen-


procedure TForm1.TcpServer1Accept(sender: TObject;
  ClientSocket: TCustomIpClient);
var
  s: string;
  nick: string;
  DataThread: TClientDataThread;
begin
  // create thread
  DataThread:= TClientDataThread.Create(true);
  // set the TagetList to the gui list that you
  // with to synch with.
  DataThread.TargetList := memRecv.lines;
  // Load the Threads ListBuffer
  nick := ClientSocket.Receiveln;
  s := ClientSocket.Receiveln;
  while s <> '' do
  begin
    DataThread.ListBuffer.Add( nick + '-' + TimeToStr(Time) +'@' + ClientSocket.RemoteHost + '');
    DataThread.ListBuffer.Add(s);
    s := ClientSocket.Receiveln;
  end;
  // Call Resume which will execute and synch the
  // ListBuffer with the TargetList
  DataThread.Resume;
  memrecv.Perform(EM_SCROLLCARET, 0, 0);
end;

Luckie 16. Jan 2006 15:09

Re: Chattext mit Textformatierung
 
Denk dir ein Protokoll aus, welches die Formatierung mitschickt.

Knotti2005 16. Jan 2006 17:28

Re: Chattext mit Textformatierung
 
Wie meinst du das?

gengler2 18. Jan 2006 20:02

Re: Chattext mit Textformatierung
 
Zitat:

Zitat von Knotti2005
Wie meinst du das?

Ein Beispiel für ein solches Protokoll : Du sendest eine bestimmte Zeichenkette vor der Formatierung des Textes die in diesem Fall nicht auf memrecv hinstehen kommt. Vorstellen kannst du dir das so:

/FORMAT FONT,SIZE,COLOR,STYLE

d.h.: Jedesmal wenn ein String mit /FORMAT anfängt, muss der Empfänger wissen dass es sich um eine Textformatierung handelt, und in diesem Fall nur die Formatierung ändert.

Khabarakh 18. Jan 2006 20:05

Re: Chattext mit Textformatierung
 
Warum schickst du nicht einfach den RTF-Code selbst mit? Ist zwar nicht sehr kompakt, aber wahrscheinlich etwas leichter :wink: .

Knotti2005 20. Jan 2006 14:41

Re: Chattext mit Textformatierung
 
Wenn du mir erzähls wie ich das machen Kann gerne!!!

Knotti2005 21. Jan 2006 14:13

Re: Chattext mit Textformatierung
 
Oder hat jemand anders ne Ahnung die Idee mit dem Übertragen der Formatierung ist garnicht so schlecht...


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:01 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