CHR(26) am Dateiende entfernen???

Von Ausgaben mit der Gra-Engine über Generatoren bis zum Export in diversen Formaten

Moderator: Moderatoren

Antworten
Benutzeravatar
Wolfgang_B
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 484
Registriert: Do, 14. Jun 2007 18:22
Wohnort: 94065 Waldkirchen
Hat sich bedankt: 14 Mal
Danksagung erhalten: 5 Mal

CHR(26) am Dateiende entfernen???

Beitrag von Wolfgang_B »

Hallo,

ich benutze memoWrit() bzw. Fwrite() um z.B. eine Serienbriefsteuerdatei zu erzeugen. Die beiden Funktionen schreiben dummerweise jedesmal ein CHR(26) als Dateiende dazu. Dies führt dazu, daß Word bei Serienbriefen das anmeckert.

Kennt jemand eine Möglichkeit, das Schreiben von CHR(26) zu verhindern oder es wieder automatisch zu entfernen?

Bi für jeden Tipp dankbar.

Gruß
Wolfgang
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Wolfgang,

hast Du den Thread schon durchgeackert?

http://www.xbaseforum.de/viewtopic.php?t=1850
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hi,

also FWrite() setzt kein CHR(26) hinter den zu schreibenden String.
Wenn allerdings ein CHR(26) im String ist (z.b. von MemoWrit()), wird es auch nicht gelöscht.

Hier habe ich Austauschfunktionen hinterlegt:

http://www.xbaseforum.de/viewtopic.php?t=1811

Nun kann man vor dem Speichern den String ja noch überprüfen:

Code: Alles auswählen

nCH26 := at(chr(26),cTxt)
if nCH26 > 0
   cTxt := left(cTxt,nCH26-1)
endif
Str2Disk(cFile,cTxt)
Gruß
Hubert
Benutzeravatar
Wolfgang_B
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 484
Registriert: Do, 14. Jun 2007 18:22
Wohnort: 94065 Waldkirchen
Hat sich bedankt: 14 Mal
Danksagung erhalten: 5 Mal

Beitrag von Wolfgang_B »

Hallo Hubert, hallo Manfred,

Manfred Du hattet recht. CHR(26) war schon in dem String enthalten, den ich mit FWRITE() weggeschrieben habe. Hatte vorher schon MemoWrit verwendet. Habe jetzt komplett auf Fwrite umgestellt. Das PRoblem ist damit gelöst. Die kleine Checkroutine ist prima. Habe bei der Gelegenheit wieder ein Paar Befehle (AT, LEFT) kennengelernt, wo ich sonst riesen Klimmzüge gemacht habe.

Vielen Dank und Gruß
Wolfgang
Antworten