Einzelnen Beitrag anzeigen

therowe

Registriert seit: 9. Jan 2010
18 Beiträge
 
FreePascal / Lazarus
 
#1

Problem mit Memo

  Alt 25. Jul 2010, 16:41
Hey DPler
Zuerst mal zum Titel. Ich wusste nicht wie ich mein Problem beschreiben sollte, also wählte ich diesen Titel
So nun zum Problem :
Ich arbeite gerade ein wenig mit Freunden an einem Programm, welches später mal das Profil editieren auf Communitys etc. erleichtern soll. Klapp auch alles wunderbar, bis auf das Laden von Texten. Ich weiß es klingt doof weil das ja eines der Dinge ist, die man fast am Anfang des Programmierens lernt.
Um das Problem zu beschreiben mal eine kleine erläuterung:
In einer Memo können durch Klicks auf Buttons etc. BBCODES eingefügt werden, die später dann in Htmlcodes umgewandelt werden und in einer html Datei abgespeichert werden und dann mithilfe der Komponente Webbrowser angezeigt werden. Speichere ich aber meinen Text und will ihn wieder laden, funktioniert es zwar, aber auf einmal lässt sich die memo nicht mehr ''bearbeiten''. Die [ werden nicht mehr durch < ersetzt und auch nicht abgespeichert und somit auch nicht im Webbrowser angezeigt.
Hier mal ein paar Codeschnipsel :
(Der Text, in dem das Profil bearbeitet wird und indem sich die BBcodes befinden , befindet sich auf memo1)
--Hier werden die [,] gesucht und durch <,> ersetzt bzw. durch mailto etc.--
Delphi-Quellcode:
var Text: string;
begin
memo1.Lines := form1.memo1.Lines;
memo1.Lines[0] := '<pre>' + memo1.Lines[0];
  text := Memo1.text;
  text := StringReplace(text,'[','<',[rfReplaceAll]);
    text := StringReplace(text,']','>',[rfReplaceAll]);
     text := StringReplace(text,'<quote>','<fieldset>',[rfReplaceAll]);
          text := StringReplace(text,'</quote>','</fieldset>',[rfReplaceAll]);
                    text := StringReplace(text,'<color','<font color',[rfReplaceAll]);
                    text := StringReplace(text,'</color>','</font>',[rfReplaceAll]);
          text := StringReplace(text,'<email>','<a href="mailto:',[rfReplaceAll]);
            text := StringReplace(text,'</email>','">Email.</a>',[rfReplaceAll]);

  text := StringReplace(text,'<code>','<b><i>',[rfReplaceAll]);
  text := StringReplace(text,'</code>','</b></i>',[rfReplaceAll]);
      text := StringReplace(text,'<url>','<a href="',[rfReplaceAll]);
      text := StringReplace(text,'</url>','">Link.</a>',[rfReplaceAll]);
  memo1.Lines.SaveToFile('Preview.html');
  webbrowser1.Navigate(ExtractFilePath(Application.ExeName) + '/Preview.html');
Ich hoffe ich konnte euch mein Problem einigermassen gut erläutern
Das komische ist ja, wenn ich den Text neuschreibe, ohne ihn zu laden funktioniert alles ..

würde mich über eine baldige, brauchbare Antwort freuen
  Mit Zitat antworten Zitat