Autor Beitrag
slugg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: Sa 26.01.08 18:10 
hallo
ich will eine art chat coden, leider weiß ich nicht, wie ich mit hilfe einer radiobox farbigen text an eine tmemo schicken kann
also der text der in memo2 steht soll farbig an memo 1 übergeben werden, in einer text datei farbig gespeichert und beim nächsten client auch wieder farbig ausgegeben werden

kann mir ener helfen? bin delphi noob

mfg
Kroko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1284

W98 W2k WXP
Turbo D
BeitragVerfasst: Sa 26.01.08 19:14 
mit TMemo geht das nicht, umsteigen auf TRichEdit

_________________
Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 26.01.08 20:31 
Titel: Farbiger Text von Radio-Group
Beschreib mal ganauer:
Welche Farbe soll der Text wann haben?
Soll man die Farbe inder Radio-Group auswählen können oder was?
slugg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: Sa 26.01.08 22:49 
ja farben sollen in der radio group ausgewählt werden
also geplant is folgendes
eine art netzwerkchat... jeder user soll seine schriftfarbe wählen können, in seinem client... das wird dann mit richtiger farbe in einer textfile gespeichert und beim anderen client mit passender farbe ausgegeben werden
mfg
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: So 27.01.08 12:09 
Also, da müsstest du wohl ein bisschen RTF lernen.

Zur Einleitung brauchst du den Header:

ausblenden RTF-Quelltext:
1:
{\rtf1 }					

Da sieht man schon die Syntax: Eine geschweifte Klammer leitet einen RTF-Tag ein, darauf folgt ein Backslash, und der eigentliche Name. Das Ende des Bereiches symbolisiert eine geschlossene geschweifte Klammer.

Für Farben brauchen wir eine Farbtabelle:

ausblenden RTF-Quelltext:
1:
2:
3:
4:
5:
6:
7:
8:
{\colortbl
  \red255\green0\blue0;
  \red0\green255\blue0;
  \red0\green0\blue255;
  \red255\green255\blue0;
  \red255\green0\blue255;
  \red0\green255\blue255;
}

Du leitest die Farbtabelle mit {\colortbl ein, und schreibst dann die einzelnen Farbwerte ein. Ich denke, der Rest ist selbsterklärend.

Zur Vollständigkeit möchte ich jetzt auch noch Schriftarten erklären:

ausblenden RTF-Quelltext:
1:
2:
3:
4:
5:
{\fonttbl
  {\f1 Arial}
  {\f2 Courier New}
  {\f3 Times New Roman}
}

Die Tabelle ist ähnlich der Farbtabelle aufgebaut, dur leitest sie mit {\fonttbl ein, und schreibst dann die Schriftartnamen in dieser Form untereinander.

Jetzt wollen wir diese Tabellen auch noch verwenden. Du kannst einfach unter den Tabellen anfangen, deinen Text zu schreiben. Wichtig ist allerdings, dass er sich genau im Tag {\rtf1 befindet. Also nicht ganz draußen, aber auch nicht in eriner Tabelle.

Hier ein Beispiel zum Formatieren von Text:

ausblenden RTF-Quelltext:
1:
2:
3:
Guten Tag!\par
{\i Dies} ist ein {\cf3 formatierter} {\b Text}.\par
Das Ende.

\par erzeugt einen Zeilenumbruch; mit {\i schreibst du kursiv (Fett und Unterstrichen funktionieren genauso), und auf die Farbtabellen greifst du mit {\cf zu. Wichtig ist noch, dass man ab 1 zählt, {\cf0 formatiert den Text mit der Standardfarbe. Natürlich musst du die Farbtabelle auch noch in die Datei nehmen; mit der obrigen formatiert dieser Code den Text "formatierter" blau.

Die Schriftarten fehlen noch:

ausblenden RTF-Quelltext:
1:
2:
3:
{\f1\fs30 Diser Text ist Arial \par}
{\f2\fs20 Hier siehst du Courier New \par}
{\f3\fs40 Diesmal Times New Roman \par}

Wir brauchen diesmal die Schrifartentabelle. Mit \fs20 formatieren wir den Text mit der Schriftgröße 20. Du siehst hier, dass Tags auch verschachtelt verwendet werden können.

Als noch mal eine Datei komplett:

ausblenden RTF-Quelltext:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
{\rtf1
  {\fonttbl
    {\f1 Arial}
    {\f2 Courier New}
    {\f3 Times New Roman}
  }

  {\colortbl
    \red255\green0\blue0;
    \red0\green255\blue0;
    \red0\green0\blue255;
    \red255\green255\blue0;
    \red255\green0\blue255;
    \red0\green255\blue255;
  }

  {\f1\fs30 Guten Tag!}\par
  {\f2\fs20 {\i Dies} ist ein {\cf3 formatierter} {\b Text}.}\par
  {\f3\fs40 Das Ende.}
}


Ich will noch erwähnen, dass in RFT keine Zeilenumbrüche zwingend sind. Du kannst den Code auch so umformen:

ausblenden RTF-Quelltext:
1:
{\rtf1{\fonttbl{\f1 Arial}{\f2 Courier New}{\f3 Times New Roman}}{\colortbl\red255\green0\blue0;\red0\green255\blue0;\red0\green0\blue255;\red255\green255\blue0;\red255\green0\blue255;\red0\green255\blue255;}{\f1\fs30 Guten Tag!}\par{\f2\fs20 {\i Dies} ist ein {\cf3 formatierter} {\b Text}.}\par{\f3\fs40 Das Ende.}}					

Du musst nur aufpassen, dass keine zwei Buchstaben plötzlich direkt hintereinander stehen, die eigentlich einen Zeilenumbruch dazwischen hatten.

Tutorial: Copyright © 2008 by Yogu. Alle Rechte vorbehalten.
Quellen: Word-Texte leserlich gemacht und studiert


Ich hoffe, ich konnte dir helfen.

[meta]RFT RichTextFormat Rich Text Format RichText Tutorial Formatieren Text Schriftart Schriftfarbe Schrift Farbe Größe Schriftgröße Fett Kursiv Unterstrichen[/meta]


Zuletzt bearbeitet von Yogu am Mo 28.01.08 16:31, insgesamt 1-mal bearbeitet
slugg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: So 27.01.08 15:02 
huhu
danke, muss mal bissl rumprobieren :)
muss die datei eine .rtf sein?
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: So 27.01.08 15:10 
Wenn du sie speichern willst, sollte es schon eine .rtf sein. Aber wenn du den Chat nur anzeigen willst, genügt es, RichEdit.Text zuzuweisen. Da brauchst du keine Datei.
slugg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: So 27.01.08 15:17 
öhm und wie kann ich da z.b. nur eine zeile "einfärben"?
bin nich so der delphi pro ^^ hab erst angefangen x_X

edit: naja mein chat geht über eine datei auf nem server ^^