Delphi maakt heel handig gebruik van resourcestrings, maar nu loop ik toch echt tegen een probleem aan. Een resourcestring is niets ander dan een string opgeslagen in een resource, dus die moet je kunnen verkrijgen met de standaard Windows functie LoadString. Helaas, het lukt me niet.
Reden dat ik niet gewoon ShowMessage(SNativeLanguageName) gebruik, is dat ik straks uit allerlei resource modules de bewuste string wil laden. Dan werkt het gebruik van SNativeLanguageName niet meer
Delphi:
Je begrijpt het al: tijd om af te knappen. Als ik een resource editor gebruik, kan ik heel eenvoudig opzoeken wat de ident van de resource is, in mijn geval 65203. Als ik op regel 7 de waarde van Ident instel op 65203, laadt hij netjes de string resource. Maar hoe bepaal ik de waarde van de ident?1
2
3
4
5
6
7
8
9
10
11
12
| resourcestring SNativeLanguageName = English'; var LanguageName: array[0..1023] of Char; Ident: Cardinal; begin Ident := Cardinal(SNativeLanguageName); if LoadString(0, Ident, LanguageName, SizeOf(LanguageName) <> 0 then ShowMessage('De taal is: ' + LanguageName') else ShowMessage('Tijd om af te knappen'); end; |
Reden dat ik niet gewoon ShowMessage(SNativeLanguageName) gebruik, is dat ik straks uit allerlei resource modules de bewuste string wil laden. Dan werkt het gebruik van SNativeLanguageName niet meer
[ Voor 4% gewijzigd door Tomatoman op 01-02-2004 08:19 ]
Een goede grap mag vrienden kosten.