Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   BBCodes nutzen oder Dateien erstellen? (https://www.delphipraxis.net/131188-bbcodes-nutzen-oder-dateien-erstellen.html)

TheMiller 20. Mär 2009 00:34


BBCodes nutzen oder Dateien erstellen?
 
Schönen Abend...

ich stehe vor einem kleinen Problem. Da es anscheind nicht möglich ist, RTF-Formatierungsmerkmale in eine XML-Node zu speichern und wieder zu laden, stehe ich vor einer Grundsatzfrage:

Benutzerfreundlichkeit erhöhen und Programmflexibilität senken oder Benutzerfreundlichkeit senken und Felibilität erhöhen ?

Soll folgendes bedeuten: Ich könnte den Benutzer seinen RichEdit-Text formatieren und als RTF-Datei speichern lassen. Dabei würde in die XML-Node der Pfad zum RTF-Dokument gespeichert und bei Bedarf in ein RichEdit wieder geladen.

Das hat aber zur Folge, dass ich das Programm nicht mehr so einfach auf einen USB-Stick kopieren kann, da der Speicherordner danke UAC von Windows Vista in %Dokumente\Programmname liegt. Woanders hat man ja keine Schreibrechte mehr.

Was soll ich nun tun?

Danke...

sx2008 20. Mär 2009 00:39

Re: BBCodes nutzen oder Dateien erstellen?
 
Zitat:

Zitat von DJ-SPM
...Da es anscheind nicht möglich ist, RTF-Formatierungsmerkmale in eine XML-Node zu speichern und wieder zu laden...

Warum die Daten vor dem Speichern nicht einfach mit Base64Base64 kodieren und nach dem Lesen entsprechend dekodieren?

TheMiller 20. Mär 2009 00:47

Re: BBCodes nutzen oder Dateien erstellen?
 
Wäre eine gute Idee gewesen, aber auch dabei geht die Formatierung verloren (gerade ausprobiert). Beim einfachen Speichern mit Base64Encode(String) und lesen mit Base64Decode(String)

Jürgen Thomas 20. Mär 2009 08:41

Re: BBCodes nutzen oder Dateien erstellen?
 
Hallo,

Entschuldigung, ich verstehe überhaupt nicht, was die Formatierung einer Datei (RTF, XML, Base64) mit dem Ort der Speicherung zu tun haben soll. Kannst du das erklären, damit man besser raten kann?

Jürgen

sx2008 20. Mär 2009 10:26

Re: BBCodes nutzen oder Dateien erstellen?
 
Zitat:

Zitat von DJ-SPM
... aber auch dabei geht die Formatierung verloren (gerade ausprobiert). Beim einfachen Speichern mit Base64Encode(String) und lesen mit Base64Decode(String)

Dann machst du etwas falsch.
Wenn Daten mit Base64 kodiert werden, dann überstehen sie unbeschadet den Transport über XML (und auch über EMail-Systeme, die nur 7-Bit unterstützen).
Du solltest zunächst testen, ob Base64Encode und Base64Decode korrekt auf deinem Rechner laufen:
Delphi-Quellcode:
var
  a,b,c: string;
begin
  a := ...; // deine Daten
  b := Base64Encode(a);
  c := Base64Decode(b);
  if a <> c then
     ShowMessage('Base64 Unit ist fehlerhaft');

Satty67 20. Mär 2009 10:49

Re: BBCodes nutzen oder Dateien erstellen?
 
Zitat:

Zitat von Jürgen Thomas
was die Formatierung einer Datei (RTF, XML, Base64) mit dem Ort der Speicherung zu tun haben soll

Er will das RTF-Format in einer XML speichern. Die RTF-Steuerzeichen überschneiden aber mit denen der XML und dadurch kann die XML nicht mehr sauber gelesen werden.

Muetze1 20. Mär 2009 11:24

Re: BBCodes nutzen oder Dateien erstellen?
 
Zitat:

Zitat von DJ-SPM
Wäre eine gute Idee gewesen, aber auch dabei geht die Formatierung verloren (gerade ausprobiert). Beim einfachen Speichern mit Base64Encode(String) und lesen mit Base64Decode(String)

Dabei geht keine Formatierung verloren. Diese geht dabei verloren wie du dir den String aus dem RTF besorgst.

hitzi 20. Mär 2009 12:12

Re: BBCodes nutzen oder Dateien erstellen?
 
Zitat:

Zitat von DJ-SPM
Das hat aber zur Folge, dass ich das Programm nicht mehr so einfach auf einen USB-Stick kopieren kann, da der Speicherordner danke UAC von Windows Vista in %Dokumente\Programmname liegt. Woanders hat man ja keine Schreibrechte mehr.

Hä? Seit wann hat man auf dem USB Stick oder außerhalb von "Programme", "Windows" und diversen anderen Ordnern keine Schreibrechte mehr?

TheMiller 20. Mär 2009 12:37

Re: BBCodes nutzen oder Dateien erstellen?
 
Zitat:

Zitat von hitzi
Hä? Seit wann hat man auf dem USB Stick oder außerhalb von "Programme", "Windows" und diversen anderen Ordnern keine Schreibrechte mehr?

Ähm... USB-Stick hat man Schreibrechte -> Logisch. Unter "C:\" auch. Doch in "Programme" nicht mehr (also dort, wo Programme eigentlich hingehören sollten.) Unter C:\ Programme abzulegen mag ich einfach nicht. Also musste ich das Programm unter Programme ablegen und die Benutzerdaten, die erstellt und gepseichert werden, unter %Eigene Dateien%. Somit kann das Programm schwerer mitgenommen werden...

Zitat:

Zitat von sx2008
Du solltest zunächst testen, ob Base64Encode und Base64Decode korrekt auf deinem Rechner laufen.

Hab ich.... geht ;)

Zitat:

Zitat von Muetze1
Dabei geht keine Formatierung verloren. Diese geht dabei verloren wie du dir den String aus dem RTF besorgst.

Hm. Und was kann ich dagegen tun? Jemand hat mir geraten, die RTF-Datei in der XML-Node als CDATA zu speichern. Hätte das evtl. Erfolg? Ach.. ich probier's einfach mal!

hitzi 20. Mär 2009 12:43

Re: BBCodes nutzen oder Dateien erstellen?
 
Zitat:

Zitat von DJ-SPM
Ähm... USB-Stick hat man Schreibrechte -> Logisch. Unter "C:\" auch. Doch in "Programme" nicht mehr (also dort, wo Programme eigentlich hingehören sollten.) Unter C:\ Programme abzulegen mag ich einfach nicht. Also musste ich das Programm unter Programme ablegen und die Benutzerdaten, die erstellt und gepseichert werden, unter %Eigene Dateien%. Somit kann das Programm schwerer mitgenommen werden...

Einfach ne Abfrage machen, die checkt ob im Programmverzeichnis gespeichert werden kann - wenn das nicht der Fall ist, dann lass den User den Speicherort angeben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:40 Uhr.
Seite 1 von 2  1 2      

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