Einzelnen Beitrag anzeigen

Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Probleme mit Constant Strings

  Alt 3. Jul 2019, 08:59
Schätze, das Interessante ist, wie Du Deine diversen Strings definierst/deklarierst.
Das hier funktioniert einwandfrei:

Delphi-Quellcode:
procedure TfrmTesterMain.Button1Click(Sender: TObject);
const
  MaxColumns = 5;

TYPE
  TColDef = RECORD
    col: INTEGER;
    descrEXC: STRING; (* descrEXC in EXCEL *)
    descrDB: STRING;
    activ: BOOLEAN;
    typ: CARDINAL;
  END;

  TRowDef = ARRAY[1..MaxColumns] OF TColDef;

CONST
   KredRowDef: TRowDef =
     (
         (col: 1; descrEXC: 'ER-Nummer'       ; descrDB: 'KreditRechnID' ; activ: TRUE; typ: varEmpty )
       , (col: 2; descrEXC: 'R-Nummer'        ; descrDB: 'KreditRechnNr' ; activ: TRUE; typ: varOleStr)
       , (col: 3; descrEXC: 'Rechnungsdatum'  ; descrDB: 'Rechnungsdatum'; activ: TRUE; typ: varEmpty )
       , (col: 4; descrEXC: 'NochaNummer'     ; descrDB: 'NoaNr'         ; activ: TRUE; typ: varOleStr)
       , (col: 5; descrEXC: 'SchoWiedaANummer'; descrDB: 'SwaNr'         ; activ: TRUE; typ: varOleStr)
     );
var
  c: Integer;
  titel: string;
  s: string;
begin
  titel := 'R-Nummer';
  for c := 1 to MaxColumns do begin
    if (titel = KredRowDef[c].descrEXC) then begin
      ShowMessage('[1] ' + titel + ' ' + KredRowDef[c].descrDB);
    end; { if ('R-Nummer' = KredRowDef[c].descrEXC) }
    ShowMessage('[2] ' + KredRowDef[c].descrEXC);
    s := KredRowDef[c].descrEXC;
    ShowMessage('[3] ' + s);
  end; { for c := 1 to MaxColumns do }
end;
Nr.1 Delphi-Tool: [F7]
  Mit Zitat antworten Zitat