PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → [WD19] Watermark with text in printing language
[WD19] Watermark with text in printing language
Débuté par Stefan Bentvelsen, 01 avr. 2015 16:38 - 2 réponses
Posté le 01 avril 2015 - 16:38
Hi all,

I use a Watermark variable to print a watermark on an invoice. The invoice language is set before by iPrintingNation() to German or English depending on the language set in the customer record. Is it possible to make the watermark text (i.e. 'Confidential') also in the printing language ?

In fact, you have to create the watermark variable before printing the report and also his text content. So if my Nation() is Dutch, I want to set the watermark text in a specific (iPrintingNation) language. Is this possible ? How ?
Posté le 01 avril 2015 - 17:28
Hi Stefan,

In such a case you are responsible to send the good string-language to use to the report. The other solution is to use Nation() but this is result in visual undesired results.

The other solution is to have your watermark strings in the report, or at least in global multilangual strings. Then you pass to the report the watermark "id" you want to use in the report. At that point the report will get the watermark multilangual string from it's ID in an array, whatever, and it will display in the good language.

Exemple:
gtabWM is an array of strings ["Multi-lingual Watermark 1","Multi-lingual Watermark 2"]

iPrintingNation(nation)
iPrintReport(MyReport,WaterMarkConstant)

// In your report
PROCEDURE MyReport(nWM is int=0)
let sWatermark = nWM > 0 ? gtabWM[nWM] ELSE ""


Best regards,
Alexandre Leclerc
Posté le 01 avril 2015 - 21:28
Hi Alexandre,

Thanks for your response, but I don't really understand the last step of your work-around. Indeed, I can use global multilingual messages. But in my report I cannot change the text of my Watermark variable anymore. It is not a simple string sWatermark, it is a special variable type in WinDev and I would not know how to chache the value from within my report.

I have tested it with a global Watermark variable, but without result. Ones set before the call of my report, changing the text in my report doesn't change the end result. It stays the same value, set before the call of my report.

As another work around I have set the value (before calling my report) in a simple SWITCH statement with a case for each possible printing-language en simple literals as values.

Thanks anyway for your help.