AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Memo

Ein Thema von therowe · begonnen am 25. Jul 2010 · letzter Beitrag vom 25. Jul 2010
Antwort Antwort
therowe

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

Problem mit Memo

  Alt 25. Jul 2010, 17: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
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Problem mit Memo

  Alt 25. Jul 2010, 17:44
Wie unterscheidet sich das espeicherte vom Original?
Btw.:Es würden sich hier reguläre Ausdrücke anbieten
Markus Kinzler
  Mit Zitat antworten Zitat
therowe

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

AW: Problem mit Memo

  Alt 25. Jul 2010, 17:46
We es sich unterscheidet nach dem Speichern vom Text in der Memo?
Gar nicht Es muss eigentlich funktionieren ich habe keine Ahnung warum es nicht funktioniert ..
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Problem mit Memo

  Alt 25. Jul 2010, 17:48
Wo liegt die Kompo? Ist Memo1 und Form.memo1 das selbe?
Markus Kinzler
  Mit Zitat antworten Zitat
therowe

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

AW: Problem mit Memo

  Alt 25. Jul 2010, 17:50
Nein nein, ich will ja, das sich der Text für den Benutzer des Programmes nicht ändert, Man schreibt seinen Text in form1.memo1 dieser Text wird dann in eine Memo1 auf der Form3 geleitet und dort werden dann die Klammern durch die <,> ersetzt und abgespeichert ( Als Htmlcode ) was Ja funktioniert, bis eben ich einen Text in Form1.memo1 lade
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#6

AW: Problem mit Memo

  Alt 25. Jul 2010, 17:56
Delphi-Quellcode:
memo1.Lines.SaveToFile('Preview.html');
webbrowser1.Navigate(ExtractFilePath(Application.ExeName) + '/Preview.html');
Und der absolute Speicherpfad muß nicht mit dem Ladepfad übereinstimmen.

bis eben ich einen Text in Form1.memo1 lade
ich würde also mal spontan sagen "du bist schuld" ... ähhh, ich meine der FileOpenDialog oder sonstwas, welches du bestimmt verwendest.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
therowe

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

AW: Problem mit Memo

  Alt 25. Jul 2010, 18:03
Naja das Laden funktioniert ja , das Speichern auch ( Wenn ich ja selber den Text schriebe funttzts ja ) aber nur wenn ich einen geladenen Text verwende funktioniert es ja nicht ^^ der Text wird ja wunderschön angezeigt, nur geht halt nich mehr und natürlich meine ich den Opendialog der läd
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#8

AW: Problem mit Memo

  Alt 25. Jul 2010, 20:25
Sehe ich das richtig? Du weist der lokalen Variablen Text den Text des Memos zu, änderst ihn dann und speicherst trotzdem den Text des Memos ab? Dann kannst Du Dir die Änderungen ja auch sparen, oder ?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:19 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