Für eine kontextsensitive Hilfe habe ich folgenden Code benutzt.
Code:
type
TC_Hilfe_Link = record
Name : String; // Caption des Formulars
Number : integer; // Sprungnummer in der Hilfedatei
onlyPart : boolean; // false = gesamter Text in Name muss mit der Caption des
// aufrufenden Formulars übereinstimmen
// true = der Caption des Formulars kann weiterer Text anhängen
end;
const
C_AnzahlHilfe_LST = 3;
C_Hilfe_LST : array[0..C_AnzahlHilfe_LST - 1] of TC_Hilfe_Link =
(
(Name : '' ; Number : 4001 ; onlyPart : false),
(Name : 'Filter' ; Number : 4062 ; onlyPart : false),
(Name : rcCaptionForm ; Number : 4017 ; onlyPart : false)
);
Leider habe ich dabei außer acht gelassen, daß unser Übersetzungstool nur Ressourcenstrings übersetzt. (im obigen Beispiel: rcCaptionForm). Aber weil es in eine Konstante übertragen wird, wird an dieser Stelle keine Übersetzung angeworfen.
jetzt wollt' ich aus der Konstanten einfach eine Variable machen, die im Initialisierungsteil mit den Ressourcenstrings gefüllt wird:
Code:
const
C_AnzahlHilfe_GDV = 26;
var
C_Hilfe_GDV : array[0..C_AnzahlHilfe_GDV - 1] of TC_Hilfe_Link;
...
implementation
begin
C_Hilfe_GDV :=
(
(Name := '' ; Number : 3001 ; onlyPart : false),
(Name : 'Filter' ; Number : 3068 ; onlyPart : false),
(Name : rcCaptionForm ; Number : 3084 ; onlyPart : false)
);
end.
Das geht natürlich nicht, aber wie kann ich denn jetzt am einfachsten C_Hilfe_GDV Werte zuweisen? Am besten nach dem gleichen Schema, damit alles übersichtlich bleibt.
Gruß David