Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - In TMemo HTML aktivieren oder einzelne Buchstaben fett
beastofchaos - Fr 10.06.11 00:25
Moderiert von
Narses: Abgetrennt von [url=http://branch.delphi-forum.de/viewtopic.php?t=88669]hier[/url].
Nur so im Naachhinein - die leichteste Lösung ist simpel:
Dazu muss am besten der HTML-Code in einer txt-Datei nebenbei liegen...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| procedure TMainForm.AddTextToMemo; var file: textfile; Zeilen: array of String; i: Integer; begin assignfile(file, path + "HTMLdatei.txt"); if not FileExists(file) then Exit; Reset(file); i := 0; while not EOf(file) do begin SetLength(Zeilen, i + 1); ReadLn(file, Zeilen[i]); Inc(i); end; Closefile(file); for i := 0 to high(Zeilen) do Memo1.Lines.Add(Zeilen[i]); end; |
Jetzt hab ich dafür eine Frage. Ist es möglich in einer Memo HTML zu aktivieren oder (in der Memo) einzelne Buchstaben fett zu machen?
Gruß, Thomas
Narses - Fr 10.06.11 00:43
Moin!
beastofchaos hat folgendes geschrieben : |
Nur so im Naachhinein |
Was brachte das jetzt den jahrealten Thread wieder auszugraben? :nixweiss:
beastofchaos hat folgendes geschrieben : |
die leichteste Lösung ist simpel: |
Dein Code ist viel zu umständlich und auch unflexibel. Wenn, dann würde man es vielleicht so brauchen können: :idea: ;)
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| procedure AddTextToStrings(AStrings: TStrings; const AFilename: String); var SL: TStringList; begin if NOT FileExists(AFilename) then Exit; SL := TStringList.Create; try try SL.LoadFromFile(AFilename); except MessageDlg('Fehler beim Laden der Datei:'#13+Exception(ExceptObject).Message, mtError, [mbOK], 0); end; AStrings.AddStrings(SL); finally SL.Free; end; end;
procedure TForm1.FormCreate(Sender: TObject); begin AddTextToStrings(Memo1.Lines, 'C:\Test.txt'); end; |
beastofchaos hat folgendes geschrieben : |
Jetzt hab ich dafür eine Frage. Ist es möglich in einer Memo HTML zu aktivieren oder (in der Memo) einzelne Buchstaben fett zu machen? |
Nein, das kann ein TMemo nicht. Dafür brauchst du z.B. ein TRichEdit. :idea: ;)
cu
Narses
jaenicke - Fr 10.06.11 05:56
Es gibt in der JEDI JVCL entsprechende Komponenten. TJvHtLabel, TJvHtListBox und TJvHtComboBox. Wären die vielleicht für deinen Zweck für die Anzeige geeignet?
Sonst bleibt wirklich nur ein RichEdit und selber machen.
Gerd Kayser - Fr 10.06.11 10:14
beastofchaos hat folgendes geschrieben : |
Ist es möglich in einer Memo HTML zu aktivieren oder (in der Memo) einzelne Buchstaben fett zu machen? |
In einem RichEdit ist das eigentlich recht einfach. Beispiel:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| procedure TMainform.ERueckseiteKeyPress(Sender: TObject; var Key: Char); const Key_Ctrl_S = 19; begin with (Sender as TRichEdit).SelAttributes do begin if BtnFett.Pressed then Style := Style + [fsBold] else Style := Style - [fsBold];
if BtnKursiv.Pressed then Style := Style + [fsItalic] else Style := Style - [fsItalic];
if BtnUnterstrichen.Pressed then Style := Style + [fsUnderline] else Style := Style - [fsUnderline];
if Ord(Key) = Key_Ctrl_S then Key := #0; end; end; |
Oder wenn Du die Attribute im Programm selber setzen möchtest. Beispiel:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| ERueckseite2.Clear; ERueckseite2.SelAttributes.Style := [fsUnderline]; ERueckseite2.Lines.Add('Seriennummer:'); ERueckseite2.SelAttributes.Style := []; ERueckseite2.Lines.Add(''); ERueckseite2.Lines.Add('XXXX'); |
beastofchaos - Fr 10.06.11 18:57
Gut, jetzt brauch ich nur die TRichEdit :P Ganze Palette durchgeschaut und nichts gefunden :/ Ist das kostenpflichtig oder gäbe es eine kostenlose Ausweich-Möglichkeit?
Gruß, Thomas
PS: @Narses: Also kurz "StringList.LoadFromFile(AFilename);" :) - und ich hab das hier gepostet, um nicht einen neuen Thread zu öffnen und weil es hier reinpasste. Was ist besser? 100 Threads über das selbe oder nur 50 xD
jaenicke - Fr 10.06.11 19:36
TRichEdit sollte eigentlich bei allen Versionen dabei sein.
Und es liegt unter Win32:
beastofchaos - Sa 11.06.11 01:31
Gefunden, getestet und glücklich geworden ;)
Dankeschön :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!