Memoline [Erledigt]

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

Moderator: Moderatoren

Antworten
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 12806
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Memoline [Erledigt]

Beitrag von Jan » Mo, 10. Feb 2014 17:02

Gerade kämpfe ich mit einem Problem beim Ausdruck von Inhalten aus Memofeldern. Das lief alles gut, aber plötzlich wird ein Sonderzeichen mit ausgedruckt. Das sieht aus wie ein kleines i ,mit Aczent Grave. Mit Memotran() wird der Softreturn entfernt, das Sonderzeichen bleibt. Auch ein StrTran() auf Chr(236), das so aussieht wie das Sonderzeichen im Ausdruck, hilft nicht.

Was kann da helfen?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 7090
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Re: Memoline

Beitrag von Tom » Mo, 10. Feb 2014 17:36

Code: Alles auswählen

c := HardCr(c)
Oder Chr(141) selbst entfernen. :wink:
Herzlich,
Tom

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 12806
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: Memoline

Beitrag von Jan » Di, 11. Feb 2014 8:22

Moin Tom,

jetzt bin ich aber mehr als nur ein wenig irritiert.

Ersteinmal: Ja, StrTran(cMemotext, Chr(141), "") hat funktioniert.

Aber: Das hätte doch schon MemoTran(cMemotext, crlf, "") machen müssen. Oder übersehe ich da irgendwas?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14285
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Memoline [Erledigt]

Beitrag von brandelh » Di, 11. Feb 2014 8:26

ja du übersiehst etwas ;-)

harte Zeilenschaltung mit Enter Taste: chr(13)+chr(10) // CRLF
weiche Zeilenschaltung mit MEMOEDIT() (nicht mit XbpMLE()): Chr(141)

MemoTran() sagt mir jetzt nichts, die vorgesehene Funktion ist: HardCR()

HardCR(cMemoFeldvonMemoEdit) => normaler Text mit CRLF
Gruß
Hubert

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14285
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Memoline [Erledigt]

Beitrag von brandelh » Di, 11. Feb 2014 8:29

Doku hat geschrieben:MemoTran( <cString> , ;
[<cNewHardCR>], ;
[<cNewSoftCR>] ) --> cNewString

Parameter
<cString>
<cString> ist eine Zeichenkette oder der Inhalt eines Memo-Felds, in der die Zeichen für einen Zeilenumbruch ersetzt werden sollen.
<cNewHardCR>
Mit dem Zeichen <cNewHardCR> werden alle harten Zeilenumbrüche (Chr(13)+Chr(10)) ersetzt. Als Standardwert wird ein Semikolon (;) verwendet.
<cNewSoftCR>
Mit dem Zeichen <cNewSoftCR> werden alle weichen Zeilenumbrüche (Chr(141)+Chr(10)) ersetzt. Als Standardwert wird ein Leerzeichen (Chr(32)) verwendet.
was es alles gibt ;-)

Wenn die Beschreibung stimmt, macht MemoTran() einen Fehler, da die weiche Zeilenschaltung eben Chr(141) und nicht Chr(141)+Chr(10) ist.
Unter Win32 reicht ja sogar ein Chr(10) für eine neue Zeile in z.B. msgbox()
Gruß
Hubert

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 12806
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: Memoline [Erledigt]

Beitrag von Jan » Di, 11. Feb 2014 8:49

Moin Hubert,

der Unterschied zwischen MemoTran() und HardCr() ist, das HardCR() die weiche Zeilenschaltung durch eine harte ersetzt. Das kann ich in diesem Fall aber garnicht gebrauchen, da ich Fließtext haben möchte. Der sich nicht an der Zeilenlänge im Editierfenster orientiert. Daher ersetze ich die weiche Zeilenschaltung ja auch durch ein "". Mit MemoTran() kann ich beide Zeilenschaltung halt sehr einfach durch ein x-beliebiges Zeichen ersetzen, was flexibler als HardCr() ist.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14285
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Memoline [Erledigt]

Beitrag von brandelh » Di, 11. Feb 2014 8:59

Jan hat geschrieben:Mit MemoTran() kann ich beide Zeilenschaltung halt sehr einfach durch ein x-beliebiges Zeichen ersetzen, was flexibler als HardCr() ist.
wenn es funktionert ;-) (was es eigentlich sollte ...)
Gruß
Hubert

Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 14227
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Re: Memoline

Beitrag von Martin Altmann » Di, 11. Feb 2014 9:57

Moin Jan,
Jan hat geschrieben:Ersteinmal: Ja, StrTran(cMemotext, Chr(141), "") hat funktioniert.
Aber: Das hätte doch schon MemoTran(cMemotext, crlf, "") machen müssen. Oder übersehe ich da irgendwas?
klar übersiehst Du da etwas :D
chr(13)+chr(10) ist was anderes, als chr(141).
Es nützt also nur teilweise, wenn Du ein MemoTran(cMemotext, crlf, "") machst.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 12806
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: Memoline [Erledigt]

Beitrag von Jan » Di, 11. Feb 2014 10:47

Mein lieber Martin,

schau Dir noch einmal die Onlinehilfe zu MemoTran() an (insbesondere was der 3. Parameter bedeutet), und dann sage mir, ob Du Deinen Beitrag noch so stehen lassen möchtest :-D

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 14227
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Re: Memoline [Erledigt]

Beitrag von Martin Altmann » Di, 11. Feb 2014 10:50

Hast recht - aber stehen lasse ich das trotzdem ;-)
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.

Antworten