RTF-Datei neu schreiben

Nutzung, Komponenten, .NET

Moderator: Moderatoren

Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

RTF-Datei neu schreiben

Beitrag von Rolf Ramacher »

Hallo zusammen,

ich habe word 20126 im Einsatz. meine Kunden haben vermutlich diverse versionen

Ich habe Listen die ich als rtf-Datei speichere und dann nach bedarf ausdrucken kann. hatte mir vorherigen word-versionen immer funkt.

wie kann ich eine bestehende rtf-Datei ersetzen. word setzt immer beim ersten Mal einen schreibschutz drauf.
ich hebe diesen schon immer mit fattr auf. d.h. die Datei kann ich einmal schreiben.

wie kann ich das umgehen. richtig setzen??
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: RTF-Datei neu schreiben

Beitrag von Tom »

FErase()?
Herzlich,
Tom
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: RTF-Datei neu schreiben

Beitrag von Rolf Ramacher »

ferase funktioniert nicht - es bleibt immer die gleiche Datei. von heute Uhrzeit 10.15
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: RTF-Datei neu schreiben

Beitrag von Rolf Ramacher »

es hat auf jedenfall mit Zugriffsberechtigung zu tun. ich bin Administrator und habe auch in den Berechtigungen keine Einschränkung gefunden.

WIN 7 - 64 bit. alaska - version 19 335

oder liegt es an Word 16 Home ??
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
flanelli
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 151
Registriert: Di, 11. Mai 2010 16:27
Hat sich bedankt: 3 Mal
Danksagung erhalten: 9 Mal

Re: RTF-Datei neu schreiben

Beitrag von flanelli »

Rolf Ramacher hat geschrieben: Do, 11. Jul 2019 12:03 ferase funktioniert nicht - es bleibt immer die gleiche Datei. von heute Uhrzeit 10.15
Würde ja bedeuten, dass Du diese Datei nicht löschen kannst aber kannst Du die Datei eventuell renamen?
Klingt jetzt paradox aber ...
Ahoile aus dem Süden
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: RTF-Datei neu schreiben

Beitrag von Rolf Ramacher »

nein geht auch nicht - keine Änderung möglich.
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: RTF-Datei neu schreiben

Beitrag von HaPe »

Hallo Rolf !
wie kann ich eine bestehende rtf-Datei ersetzen. word setzt immer beim ersten Mal einen schreibschutz drauf.
ich hebe diesen schon immer mit fattr auf. d.h. die Datei kann ich einmal schreiben.
Wie sieht es denn mit den Einstellungen in Word im Trust Center unter Zugriffsschutzeinstellungen für RTF-Dateien fürs Öffnen und Speichern aus?
Vielleicht will Word die Datei vor Veränderungen schützen weil gefährlich oder der Dateityp zu alt ist :?

Bei mir sitzen dort keine Häkchen und ich kann meine (alten) RTF-Dateien öffnen, ändern und wieder Speichern ohne dass ein Schreibschutz aktiviert wird.
Wenn das bei dir hilft, könnte man eine REG-Datei mit den geänderten Einstellungen machen und deinen Kunden zukommen lassen mit der Bitte diese "auszuführen" um die passenden Word-Einstellungen zu setzen.
--
Hans-Peter
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: RTF-Datei neu schreiben

Beitrag von AUGE_OHR »

hi,

beim Schreib-Schutz kann man von "locking" sprechen denn mit Office 2016 Dokumenten kann man inzwischen "gemeinsam" arbeiten.
IMHO ist das der Grund warum es SMB3 gibt

ich habe mich mit dem Thema noch nicht beschäftigt also kann ich zu dem Problem nichts sagen aber bei Google findet man weitere Hinweis.
gruss by OHR
Jimmy
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: RTF-Datei neu schreiben

Beitrag von ramses »

Hallo Rolf

vielleicht liegt es ja auch an den erweiterten Fileattributen die kannst du mit fattr() gar nicht sehen.

Hier helfen die beiden Aufrufe weiter:

Code: Alles auswählen

DLLFUNCTION SetFileAttributesA( cSfile, nAttrib  ) USING STDCALL from Kernel32.dll
DLLFUNCTION GetFileAttributesA( cSfile  ) USING STDCALL from Kernel32.dll
Valar Morghulis

Gruss Carlo
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: RTF-Datei neu schreiben

Beitrag von Tom »

Nochmal für Fußgänger: Eine RTF-Datei wird in Word - per AX - erzeugt, aus Word heraus gespeichert, und das funktioniert, aber wenn man die Datei später überschreiben will, geht das nicht? oWord:Save() oder so macht/bewirkt nichts? Oder wie versuchst Du das, Rolf?

Word sperrt Dateien während der Bearbeitung nach außen fürs Überschreiben.
Herzlich,
Tom
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: RTF-Datei neu schreiben

Beitrag von AUGE_OHR »

Rolf Ramacher hat geschrieben: Do, 11. Jul 2019 11:23 Ich habe Listen die ich als rtf-Datei speichere und dann nach bedarf ausdrucken kann.
es passiert beim "speichern unter"
Nämlich indem Sie das Dokument unter „Speichern unter“ als .odt, .rtf oder .txt abspeichern. Wenn Sie sich für ein .rtf-Dokument entscheiden, bleibt der Dokumentenschutz zwar aktiv, das Passwort ist jedoch nicht mehr vorhanden.
Rolf Ramacher hat geschrieben: wie kann ich eine bestehende rtf-Datei ersetzen. word setzt immer beim ersten Mal einen schreibschutz drauf.
das ist im Pop-Up Menu
1. Klicken Sie mit der rechten Maustaste auf das Word-Dokument, bei dem Sie den Schreibschutz aufheben wollen.

2. Nun öffnet sich ein Dialogfenster. Wählen Sie den Punkt „Eigenschaften“ aus.

3. Es öffnet sich ein weiteres Fenster. Ganz unten finden Sie den Bereich Attribute.

4. Entfernen Sie das Häkchen bei „Schreibgeschützt“.
gruss by OHR
Jimmy
flanelli
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 151
Registriert: Di, 11. Mai 2010 16:27
Hat sich bedankt: 3 Mal
Danksagung erhalten: 9 Mal

Re: RTF-Datei neu schreiben

Beitrag von flanelli »

AUGE_OHR hat geschrieben: Fr, 12. Jul 2019 11:17
Rolf Ramacher hat geschrieben: Do, 11. Jul 2019 11:23 Ich habe Listen die ich als rtf-Datei speichere und dann nach bedarf ausdrucken kann.
es passiert beim "speichern unter"
Nämlich indem Sie das Dokument unter „Speichern unter“ als .odt, .rtf oder .txt abspeichern. Wenn Sie sich für ein .rtf-Dokument entscheiden, bleibt der Dokumentenschutz zwar aktiv, das Passwort ist jedoch nicht mehr vorhanden.
Der Dokumentschutz hat aber absolut NICHTS mit dem Schreibschutz einer Datei an sich zu tun und genau
um diese Problem geht es m.E. bei Rolfs Posting.
AUGE_OHR hat geschrieben: Fr, 12. Jul 2019 11:17
Rolf Ramacher hat geschrieben: wie kann ich eine bestehende rtf-Datei ersetzen. word setzt immer beim ersten Mal einen schreibschutz drauf.
das ist im Pop-Up Menu
1. Klicken Sie mit der rechten Maustaste auf das Word-Dokument, bei dem Sie den Schreibschutz aufheben wollen.
2. Nun öffnet sich ein Dialogfenster. Wählen Sie den Punkt „Eigenschaften“ aus.
3. Es öffnet sich ein weiteres Fenster. Ganz unten finden Sie den Bereich Attribute.
4. Entfernen Sie das Häkchen bei „Schreibgeschützt“.
Solche manuellen Manipulationen sind absolut nicht zielführend, es geht lt. Rolf's Problemdarstellung m.E. doch EINDEUTIG
darum, dass offenbar unter "word 2016" die DATEI selbst beim speichern schreibgeschützt wird und somit in weiterer Folge
ohne Aufheben des DATEI-Schreibschutzes nicht überschrieben und zudem auch mittels ferase etc. nicht direkt gelöscht werden kann.
Rolf hat ja auch angeführt, dass es in früheren Word-Versionen dieses Problem nicht gab ( kenne so ein Problem selbst auch nicht )
Zuletzt geändert von flanelli am Fr, 12. Jul 2019 11:47, insgesamt 1-mal geändert.
Ahoile aus dem Süden
flanelli
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 151
Registriert: Di, 11. Mai 2010 16:27
Hat sich bedankt: 3 Mal
Danksagung erhalten: 9 Mal

Re: RTF-Datei neu schreiben

Beitrag von flanelli »

ramses hat geschrieben: Fr, 12. Jul 2019 10:23 Hallo Rolf

vielleicht liegt es ja auch an den erweiterten Fileattributen die kannst du mit fattr() gar nicht sehen.

Hier helfen die beiden Aufrufe weiter:

Code: Alles auswählen

DLLFUNCTION SetFileAttributesA( cSfile, nAttrib  ) USING STDCALL from Kernel32.dll
DLLFUNCTION GetFileAttributesA( cSfile  ) USING STDCALL from Kernel32.dll
Rolf hat doch geschrieben
Zitat
ich hebe diesen schon immer mit fattr auf. d.h. die Datei kann ich einmal schreiben


also löst er bis dato sein Problem ja bereits "behelfsmäßig" um die Datei erzeugen zu können
aber er möchte ja genau diesen Schritt umgehen und sucht nach einer Möglichkeit, den offenbar unter WORD2016
vorgenommenen Dateischreibschutz beim Speichern einer RTF generell zu verhindern.

Kann ja sein, dass nur ich das ganz falsch sehe, aber ich kann Rolf's Problembeschreibung einfach nicht anders deuten ..
Ahoile aus dem Süden
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: RTF-Datei neu schreiben

Beitrag von AUGE_OHR »

flanelli hat geschrieben: Fr, 12. Jul 2019 11:36
Nämlich indem Sie das Dokument unter „Speichern unter“ als .odt, .rtf oder .txt abspeichern. Wenn Sie sich für ein .rtf-Dokument entscheiden
ich hätte es auf den Teil kürzen sollen ...

sobald man unter "speichern unter" .odt, .rtf oder .txt abspeichert wird die Schreibgeschützt :!:
Dann gibt es noch den Dokumenten Schutz und Passwort

wie schon gesagt sollte man im Dokument, rechte Maustaste -> Eigenschaften -> Schreibschutz eine Checkbox finden.
gruss by OHR
Jimmy
flanelli
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 151
Registriert: Di, 11. Mai 2010 16:27
Hat sich bedankt: 3 Mal
Danksagung erhalten: 9 Mal

Re: RTF-Datei neu schreiben

Beitrag von flanelli »

AUGE_OHR hat geschrieben: Fr, 12. Jul 2019 11:59
flanelli hat geschrieben: Fr, 12. Jul 2019 11:36
Nämlich indem Sie das Dokument unter „Speichern unter“ als .odt, .rtf oder .txt abspeichern. Wenn Sie sich für ein .rtf-Dokument entscheiden
ich hätte es auf den Teil kürzen sollen ...

sobald man unter "speichern unter" .odt, .rtf oder .txt abspeichert wird die Schreibgeschützt :!:
Dann gibt es noch den Dokumenten Schutz und Passwort

wie schon gesagt sollte man im Dokument, rechte Maustaste -> Eigenschaften -> Schreibschutz eine Checkbox finden.
Jimmy, das würde aber dennoch bedeuten. dass jeder Anwender ( Kunde ) von Rolf's Programm, falls dieser eine, der vom Programm
erstellten RTF-Dateien direkt in Word verändert und dann erneut abspeichert, diesen automatischen "Datei"schreibschutz selbst
wieder aufheben müßte. Das wäre ja thematisch schon deshalb völliger Unsinn, denn wenn der Kunden die, vom Programm ja immer
wieder neu zu erstellende Datei bzw. erstellte verändert aber nicht unter einem anderen Namen abspeichert, seine manuellen Änderungen
ohnehin auch immer wieder "verschwinden" würden.

via ActiveX finde ich jedenfalls beim Speichern einer Datei im RTF-Format keinen Parameter der einen DATEI-Schutz erstellt bzw.
einen solchen verhindert, allerdings verfüge ich über keine WORD-VBA-2016.CHM Datei in der es möglicherweise eine solche
Möglichkeit gegenüber den Vorgängerversionen eventuell doch geben könnte.

Ausdruck.SaveAs(FileName, FileFormat, LockComments, Password, AddToRecentFiles, WritePassword, ReadOnlyRecommended, EmbedTrueTypeFonts, SaveNativePictureFormat, SaveFormsData, SaveAsAOCELetter)

LockComments und ReadOnlyRecommended beziehen sich EINDEUTIG nur auf den INHALT des Dokumentes aber nicht auf die DATEI an sich.
Ahoile aus dem Süden
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: RTF-Datei neu schreiben

Beitrag von AUGE_OHR »

flanelli hat geschrieben: Fr, 12. Jul 2019 12:08 Jimmy, das würde aber dennoch bedeuten.
wenn es da besagte Checkbox() gibt ...
gruss by OHR
Jimmy
flanelli
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 151
Registriert: Di, 11. Mai 2010 16:27
Hat sich bedankt: 3 Mal
Danksagung erhalten: 9 Mal

Re: RTF-Datei neu schreiben

Beitrag von flanelli »

AUGE_OHR hat geschrieben: Fr, 12. Jul 2019 12:23
flanelli hat geschrieben: Fr, 12. Jul 2019 12:08 Jimmy, das würde aber dennoch bedeuten.
wenn es da besagte Checkbox() gibt ...
Jimmy, Ich gebs auf...

wenn ich einem Kunden vorschreiben muss, dass er beim MANUELLEN Abspeichern darauf achten muss
und ich das Problem programmtechnisch nicht automatisch lösen kann dann wird mir der Kunde was "pfeifen".

Wenn der Kunde die Datei unter dem gleichen Namen und Speicherort abspeichert, unter dem diese RTF-Datei
wohl offenbar von Ralf's Programm immer wieder erstellt wird, ja DANN aber NUR DANN ist der Kunden wahrlich selbst schuld
wenn "Seine" maneullen Änderungen nicht mehr vorhanden sind.

Rolf "löst" das Problem ja derzeit via fattr und genau das möchte er eben - ich sehe das immer noch so - vermeiden
und einen anderen Weg finden bzw. zumindest wenn nicht machbar klar sehen, dass er eben weiterhin mit fattr das machen muss,

@Rolf, wäre nett, wenn Du gelegentlich mal kurz dazu Stellung nehmen könntest wie das nur wirklich abläuft bei dir, DANKE

So wie Tom schon des öfteren mal angeführt hat .... "für Fußgänger" ....
Sollte ich in diesem Fall einer sein, dann gebe ICH JEDENFSLLS meinen Irrtum gerne ohne wenn und aber zu... :-)

PS.: @Jimmy, ich habe derzeit ca. 1800 Anwender und wenn ich jedem vorschreiben möchte wie er eine von meinen Programmen
erstelle "externe" Datei wie z.B. Word oder Excel" in weiterer Folge manuell abspeichern muss damit es bei einer neuerlichen Erstellung
keine Probleme gibt, dann habe ich sehr schnell nur mehr 0 Anwender...
Ahoile aus dem Süden
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: RTF-Datei neu schreiben

Beitrag von Koverhage »

=D>
Gruß
Klaus
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: RTF-Datei neu schreiben

Beitrag von HaPe »

Hallo Rolf !

Du solltest uns nochmal genau beschreiben was du wie mit dem RTF-Dokument machst.

Ich kann bei mir ein Word-Dokument (Word 2016) im Original-Format (DOCX) sowohl auf dem PC wie einem Netzlaufwerk (NAS) mit händischem "Speichern unter" RTF schreiben ohne dass da ein Schreibschutz welcher Art auch immer (FileSystem, WinWord, ...) aktiviert wird.
Auch per OLE mit SaveAs( 'MyRTF.rtf', 6 ) wird kein Schreibschutz aktiviert :roll:
--
Hans-Peter
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: RTF-Datei neu schreiben

Beitrag von AUGE_OHR »

flanelli hat geschrieben: Fr, 12. Jul 2019 12:35 Jimmy, Ich gebs auf...
wir reden aneinander vorbei ... :boxing:

die Frage von Ralf war
wie kann ich eine bestehende rtf-Datei ersetzen. word setzt immer beim ersten Mal einen schreibschutz drauf.
...
ich hebe diesen schon immer mit fattr auf. d.h. die Datei kann ich einmal schreiben.
ich verstehe das er die Datei nicht löschen kann ... wieso :?:

Die Antwort von Tom war

Code: Alles auswählen

FErase()?
worauf Rolf geantwortet hat
ferase funktioniert nicht - es bleibt immer die gleiche Datei. von heute Uhrzeit 10.15
die Frage ist nun "warum" man die nicht löschen kann ... es sind nicht die gewöhnlichen File Attribute.
der erste Verdacht war "Netzwerk" denn ab Office 2016 ist es ja grundsätzlich möglich Dokumente gemeinsam zu nutzen.

das andere was ich fand war die Aussage über "speichern unter" wo bei besagten Formaten ein "Schreibschutz" aktiviert werden soll. das ist die besagte Checkbox die aber wohl kein File Attribut ist

---

wie Hape schon sagte sollte Rolf mal sagen wie die RTF erstellt wird und auf den Server (?) gelangt.

p.s. wenn eine Datei im Zugriff war dauert es eine Zeit bis es "wirkt" ... ähnlich wie beim löschen einer Datei.

p.s.p.s. für ganz hartnäckige Dateien gibt es "Delete.On.Reboot"
http://www.softwareok.de/?seite=Freewar ... .On.Reboot
gruss by OHR
Jimmy
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: RTF-Datei neu schreiben

Beitrag von Rolf Ramacher »

Guten Morgen zusammen,

ich bin seit wochenende aus dem Urlaub zurück. Die Vorgehensweise ist folgende. Ich habe eine RTF-Datei als Vorlage. Die Platzhalter [..]
werden entsprechend ersetzt und die RTF-Datei mit memowrit überschrieben. Damit diese von den "Usern" nicht gesehen und verändert werden können habe ich diese mit fattr "gesichert". Dies hat auch bisher immer funktioniert - bei Word 2016 scheint dies etwas anders zu laufen.

mein code sieht so aus.

Code: Alles auswählen

	cRtf:=strtran(cRtf,"[text]",cText)
	FAttr("artikelker.rtf","-H")
	FAttr("artikelker.rtf","-R")
	FErase("artikelker.rtf")

	memowrit("artikelker.rtf",cRtf)

	FAttr("artikelker.rtf","H")
	FAttr("artikelker.rtf","R")

gibt es bei Word 2016 einen anderen Ansatz?
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: RTF-Datei neu schreiben

Beitrag von HaPe »

Hallo Rolf !
Ich habe eine RTF-Datei als Vorlage. Die Platzhalter [..] werden entsprechend ersetzt und die RTF-Datei mit memowrit überschrieben. Damit diese von den "Usern" nicht gesehen und verändert werden können habe ich diese mit fattr "gesichert". Dies hat auch bisher immer funktioniert - bei Word 2016 scheint dies etwas anders zu laufen.
Ich kann dir noch nicht ganz folgen.
Du hast eine RTF-Vorlagendatei mit den "Platzhaltern". Beim "Drucken" ersetzt du diese Platzhalter mit den aktuellen Werten. Soweit klar.
Aber welche "RTF-Datei mit memowrit überschrieben" wird denn nun überschrieben?
Doch nicht die Vorlagendatei sondern eine andere "Alte" weil ja sonst die Platzhalter weg wären.
Und diese ist noch auf Hidden und ReadOnly gesetzt, aber wozu?
Die RTF-Vorlagedatei sollte meiner Meinung nach auf Hidden und ReadOnly stehen. Wenn du diese Textdatei einliest, die Platzhalter ersetzt und dann mit memowrit wieder mit anderem Namen auf die Platte schreibst musst du doch keine Versteckte und Schreibgeschützte RTF-Datei ersetzten.

Ich blicke hier noch nicht durch wo ein Problem sein sollte. :roll:

Andere Möglichkeit: Wer sagt dass deine RTF-Vorlagendatei die Endung RTF haben muss. Die kann ja ganz anders heißen und kein User kann die dann durch anklicken im Explorer öffnen.
Oder noch anders: Bei jedem Drucken wird vom Netz diese Vorlagendatei durch deine Anwendung in ein lokales Verzeichnis kopiert, eingelesen, die Platzhalter ersetzt, gedruckt oder gespeichert. Nach Abschluß dann wieder ins Netz kopiert mit einem eindeutigen und einzigartigem Namen und mit dem Kunden verknüpft.
Es muss nichts überschrieben werden ...
--
Hans-Peter
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: RTF-Datei neu schreiben

Beitrag von Tom »

Mmh.

Ich würde zunächst einmal der entstehenden Datei einen anderen Namen geben als dem Original. Wenn ich das richtig verstehe, erzeugst Du aus dem Template den zu druckenden Text, den Du aber danach nicht mehr brauchst? Dann erzeuge ihn doch mit einem temporären Namen (es gibt in Xbase++ eine Funktion "TempFile()", die ggf. dabei hilft) im Temp-Verzeichnis des jeweiligen Users. Da kommt man auch üblicherweise nicht ganz so leicht ran. GetTempPathA() aus KERNEL32.DLL liefert Dir den User-Temp-Pfad. Speicher das Ding dort und drucke es auch von da. Und dann lösche es wieder. Oder warte darauf, dass das im Rahmen der Systembereinigung passiert.
Herzlich,
Tom
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: RTF-Datei neu schreiben

Beitrag von brandelh »

Ich denke es hängt mit den Dateieigenschaften selbst zusammen, Win 7 ff ... haben da ein Eigenleben.
Wie TOM schrieb, temporäre Namen nutzen ...

Ich habe z.B. das Problem, dass bei Bilddateien nicht mehr das Änderungsdatum sondern das Erstellungsdatum (Aufnahmedatum) im Explorer angezeigt wird.
Wenn ich speichern unter ... mache und einen neuen Namen wähle stimmt die Anzeige.
Lösche ich nun das Original und benenne die neue Datei auf den alten Namen um ... schon ist die Anzeige wieder auf dem Aufnahmedatum :evil:

Eventuell auch was mit Metadaten oder die Datei wird nicht schnell genug wieder frei gegeben und gilt als in Benutzung, all das kann man mit temporären Dateien umgehen.
Gruß
Hubert
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: RTF-Datei neu schreiben

Beitrag von Rolf Ramacher »

Hallo Hans Peter

die vorlage-dateien heissen alle auch vorlage .... .rtf

dann als neue rtf.datei abgespeichert . der User kann dann auswählen drucken oder ansehen. die rtf-datei wird nicht überschrieben.
bei den älteren word-versionen funktionierte alles einwandfrei
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Antworten