WPCubed Product Support

Unicode in Serienfeldern (Mergefields)

Ja, das vereinfacht die Sache ein bisschen, da mit dem Dataprovider gleich der Cursor auf den richtigen Datensatz im Datasource gesetzt wird. Gut, danke für die Info.

#6 ♥ 0
9.4k Views 1 links 2 users read 2 min
support

Hallo

Danke - das ist so optimal. Den DataProvider braucht man eigentlich nicht, da das TWPRichText ja auch ein Ereignis OnMailMergeGetText hat.

beste Grüsse,

Julian Ziersch

#5 ♥ 0

So, ich hab jetzt noch eine bessere Möglichkeit gefunden

procedure TForm1.WPMailMergeGetText(Sender: TObject;
  const inspname: string; Contents: TWPMMInsertTextContents);
begin
  if not (VirtualTable.IsEmpty) and (Length(inspname)>0) then
    if(WPMMDataProvider.ShowFieldNames) then
    begin
      Contents.WideStringValue:=inspname;
    end
    else
    begin
      if not VarIsNull(VirtualTable.FieldByName(inspname).AsVariant) then
        Contents.WideStringValue:= VirtualTable.FieldByName(inspname).AsVariant
      else
        Contents.WideStringValue:='';
    end;
end;

Keine Ahnung, ob es jetzt die optimalste Methode ist, aber damit kann ich UnicodeZeichen problemlos zuweisen.

MfG Oliver Schulz

#4 ♥ 0

@wpsupport:
Hallo,

Sie müssen den Text als RTF einfügen damit do unicodes übertragen werden.

Sie werden dann als \u... codiert

Julian

Hmm, das ist leichter gesagt als getan.
Da ich ja reine Strings aus der Datenbank bekomme, hab ich jetzt mal versucht, den Text vor dem Einfügen in den Datatsource manuell in RTF zu konvertieren.

'{\rtf1'+chr(13)+chr(10)+ReplaceStr(dataSourceArray[i].dataValue, chr(13)+chr(10), '\par')+'}';

Damit verliert er aber auch die Formatierung und kann trotzdem noch keine Unicodes. Sollte ich mir hier einen WPRichedit erstellen, den String reinladen und das ganze dann wieder als RTF auslesen? Dann wären aber auch die Formatierungen im Urpsrungsdokument hinfällig, oder? Damit habe ich dann aber auch in meinem DataSource extremen Datenoverhead.
Kann ich den nächsten Hinweis haben, wo hier mein Denkfehler liegt?

MfG Oliver Schulz

#3 ♥ 0
support

Hallo,

Sie müssen den Text als RTF einfügen damit do unicodes übertragen werden.

Sie werden dann als \u... codiert

Julian

#2 ♥ 0

Hallo Julian

Ich habe ein Problem mit der Umsetzung von Unicode Zeichen (Chinesisch, Russisch..) in Serienfeldern.

🖼 www.mycom-net.com

Wie man sieht, unterstützt WPTools selber die Darstellung der Zeichen. Sofern ich diese aber als reine Textfelder per Mergefields einfügen möchte, bekomme ich nur Fragezeichen.
Wird das noch nicht unterstützt oder muss ich noch irgendwo Unicodemarker, Charset oder ähnliches setzen? Wenn ja, wie mache ich so etwas!
Bis zur VirtualTable die als Datasource für den WPMMDataProvider benutzt wird, scheinen alle Zeichen korrekt enthalten zu sein.

Danke, Oliver

#1 ♥ 0