Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

Re: Fehler E2283 beim Übersetzen

  Alt 8. Jan 2008, 10:32
Zitat von Commander Tom:
Inzwischen hat die Prozedur aber leider 10000 Zeilen...
Du meinst, deine Prozedur sieht ungefähr so aus:
Delphi-Quellcode:
PROCEDURE TReportForm.frxReport1GetValue(CONST VarName: STRING; VAR Value: Variant);
BEGIN
  IF CompareText(VarName, '1') = 0 THEN Value := MainForm.RegIniFile.ReadString(Datei, '1', '?')
  else if CompareText(VarName, '2') = 0 THEN Value := MainForm.RegIniFile.ReadString(Datei, '2', '?')
  else if CompareText(VarName, 'B8') = 0 THEN Value := MainForm.RegIniFile.ReadString(Datei, 'B8', '?')
  // und hier noch 9997 weitere else Anweisungen
END;
Wäre gut gewesen, du hättest so ungefähr 3 Zeilen aus GetValue() angegeben, damit man das ganze Elend erkennen kann.
Also prinzipiell bräuchtest du eine Zuordnung zwischen dem Parameter VarName und dem Name in der Ini-Datei.
Diese Zuordnung kann man in einem Konstantenarray ablegen und später über eine For-Schleife auslesen:
Delphi-Quellcode:
type
   TListEintrag = record
      a:string;
      b:string;
   end;
const liste:array[1..10000] of TListEintrag = (
(a:'1'), (b:'1'),
(a:'2'), (b:'2'),
(a:'B8'), (b:'B8'),
...
)
Andreas
  Mit Zitat antworten Zitat