![]() |
BB-Codes in Delphi darstellen
Hallo liebe DP-User,
ich suche nach einer möglichkeit den Inhalt eines Memos mit BB-Codes als Voransicht anzuzeigen. Das Programm soll also: den inhalt des memos:
Code:
so anzeigen:
[b]hallo[/b]
hallo wie könnte ich das machen Gruß Sonic |
Re: BB-Codes in Delphi darstellen
TWebBrowser und dann BBCode nach HTML umformen. Sollte am leichtesten gehen.
|
Re: BB-Codes in Delphi darstellen
und wie kann ich des machen
wie ist den der code mit dem ich in einem memo was suchen kann und durch was anderes ersetzten kann? |
Re: BB-Codes in Delphi darstellen
|
Re: BB-Codes in Delphi darstellen
Zitat:
|
Re: BB-Codes in Delphi darstellen
aber bei memo gibts gar kein string replace
gibts da keine anderen möglichkeiten? ich will in einem memo das '[b]' in '[b]' umwandeln |
Re: BB-Codes in Delphi darstellen
Ne, StringReplace ist auch ne Funktion die überall geht, unabhänging von der verwendeten Komponente...
MFG Florian :hi: |
Re: BB-Codes in Delphi darstellen
aber bei stringreplace muss ich ja angeben, welcher string ersetzt werden soll
ich weiß aber nicht wo der string im memo ist außerdem werd ich aus der delphi-hilfe nicht schlau ich kappier den syntax von replacestring gar nicht |
Re: BB-Codes in Delphi darstellen
Zitat:
Delphi-Quellcode:
so könnte das gehen (ich habe die parameter von stringreplace gerade nicht im kopf, aber ein f1 dürfte dir da weiterhelfen -
var
I: Integer; begin for I := 0 to Memo1.Lines.Count - 1 do StringReplace(Memo1.Lines[I], 'Test suchen', 'Text ersetzen', [rfReplaceAll]); end; oder jemand hier aus dem forum korrigiert mich. im prinzip lässt du eine schleife für jede zeile durch dein memo laufen. um diese funktion nutzen zu können musst du noch (hast du wohl schon) die unit sysutils in deine unit einbinden. Zitat:
|
Re: BB-Codes in Delphi darstellen
dein code geht bei mir nicht :cry:
|
Re: BB-Codes in Delphi darstellen
interessant.
was geht denn nicht? welche fehlermeldung? wie sieht dein code aus? fragen über fragen. |
Re: BB-Codes in Delphi darstellen
Hier probier das mal aus:
Delphi-Quellcode:
mit der Fettschrift geht es schon ... musst halt nur noch Zeilenumbruch und evtl. andere Codes von BB anpassen... kenn mich mit BB nicht aus.
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, SHDocVw, StdCtrls, ActiveX; type TForm1 = class(TForm) Memo1: TMemo; WebBrowser1: TWebBrowser; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} function BBtoHTML(html : String): STRING; BEGIN html:=StringReplace(html,'[','<',[rfReplaceAll]); html:=StringReplace(html,']','>',[rfReplaceAll]); result := '<html><head></head><body>'+html+'</body>'; END; procedure TForm1.Button1Click(Sender: TObject); var memStream: TMemoryStream; bbhtml : STRING; begin bbhtml := BBtoHTML(memo1.Lines.Text); webbrowser1.Navigate('about:blank'); while webbrowser1.ReadyState <> READYSTATE_COMPLETE do begin Sleep(5); Application.ProcessMessages; end; memStream := TMemoryStream.Create; memStream.Write(Pointer(bbhtml)^,Length(bbhtml)); memStream.Seek(0,0); (webbrowser1.Document as IPersistStreamInit).Load( TStreamAdapter.Create(memStream)); memStream.Free; END; end. |
Re: BB-Codes in Delphi darstellen
@dahead
StringReplace ist eine Funktion und gibt den formatierten String zurück:
Delphi-Quellcode:
var
I: Integer; begin for I := 0 to Memo1.Lines.Count - 1 do Memo1.Lines[I] := StringReplace(Memo1.Lines[I], 'Test suchen', 'Text ersetzen', [rfReplaceAll]); end; |
Re: BB-Codes in Delphi darstellen
@Spider:
ja, danke weiß ich (eigentlich). habe vergessen das result zu übernehmen. @sonic: geht spiders version? |
Re: BB-Codes in Delphi darstellen
spiders version geht danke
aber ich werds aufgeben ich bekomme des einfach nicht hin |
Re: BB-Codes in Delphi darstellen
Zitat:
andererseits könntest du auch schreiben was nicht geht, dann könnte dir wiederum jemand helfen. liegt an dir dein problem zu schildern. |
Re: BB-Codes in Delphi darstellen
es ging jetzt soweit mit dem ersetzen aber
dann ist alles ohne zeilenumbruch |
Re: BB-Codes in Delphi darstellen
Altes Projekt, aber vielleicht die Lösung: http://assarbad.net/stuff/!import/nico.old/DelphUBBsrc.zip
|
Re: BB-Codes in Delphi darstellen
Die WPTools (
![]() |
Re: BB-Codes in Delphi darstellen
Und was ist, wenn man auch Attribute in den BB-Tags miteinbringen möchte? 10x string_replace für [size=1], [size=2] usw. :lol:
Fang es garnicht erst an ;) Für solche Zwecke sind Reguläre Ausdrücke (Delphi-Link: ![]() ![]() |
Re: BB-Codes in Delphi darstellen
Zu den StringReplace-Codes... wieso arbeitet ihr zeilenweise? :gruebel: Wäre es nicht einfacher, direkt die Property Text vom Memo zu formatieren? :gruebel:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:59 Uhr. |
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