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: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Memoline [Erledigt]

Beitrag von Jan »

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: 9343
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 358 Mal
Kontaktdaten:

Re: Memoline

Beitrag von Tom »

Code: Alles auswählen

c := HardCr(c)
Oder Chr(141) selbst entfernen. :wink:
Herzlich,
Tom
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Memoline

Beitrag von Jan »

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: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Memoline [Erledigt]

Beitrag von brandelh »

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: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Memoline [Erledigt]

Beitrag von brandelh »

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: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Memoline [Erledigt]

Beitrag von Jan »

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: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Memoline [Erledigt]

Beitrag von brandelh »

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: 16488
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Memoline

Beitrag von Martin Altmann »

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
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Memoline [Erledigt]

Beitrag von Jan »

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: 16488
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Memoline [Erledigt]

Beitrag von Martin Altmann »

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
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Antworten