![]() |
Probleme mit Constant Strings
Hallo
ich verwende Stringkonstanten in einem Array. Kann mir jemand auf die Sprünge helfen wie ich folgende Beispiele modifizieren muss um auf die Strings zugreifen zu können.
Delphi-Quellcode:
Ich finde die Beschreibung der verschiedenen Stringtypen nicht sehr klar:
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'; .... (* FUNKTIONIERT *) (1) IF titel = KredRowDef[c].descrEXC THEN (titel: STRING) (2) ShowMessage(titel + ' ' + KredRowDef[c].descrEXC); (* FUNKTIONIERT NICHT *) (1) ShowMessage(KredRowDef[c].descrEXC); (2) s := KredRowDef[c].descrEXC; z.B. ![]() Vielen Dank für Tipps |
AW: Probleme mit Constant Strings
Wenn ich mir
Delphi-Quellcode:
ausgeben lasse, sehe ich ER-Nummer.
showMessage(KredRowDef[1].descrEXC);
Delphi 10.3. |
AW: Probleme mit Constant Strings
Genau das würde ich erwarten.
Bei mir kommt aber nur ein String der Länge 0. Damit wird auch nix angezeigt. Ich verwende Delphi 10.1 Berlin. |
AW: Probleme mit Constant Strings
Hallo,
welchen Wert hat die Variable c? |
AW: Probleme mit Constant Strings
c beginnt mit 1 und wird hochgezählt bis zur Spalte N.
|
AW: Probleme mit Constant Strings
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz