Einzelnen Beitrag anzeigen

David Martens

Registriert seit: 29. Sep 2003
205 Beiträge
 
Delphi XE Enterprise
 
#1

aus typisierter Konstante mach Variable

  Alt 18. Aug 2011, 17:00
Delphi-Version: 5
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
  Mit Zitat antworten Zitat