![]() |
Verständnis: Zugriff auf Typen
hallo, ich habe folgendes:
Delphi-Quellcode:
kann ich nicht einfach auf
type
TWochentag = (Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag); // ... var Tag: TWochentag; // ... procedure test(test: Byte); begin; if test = 0 then begin // tue A end else if test = 1 then begin // tue B end; // usw. end; // ... for i := 0 to 10 do begin MeineUnit.test(MeineUnit.Tag(i)); // <- Fehler: E2066: Operator oder Semikolon fehlt. end;
Delphi-Quellcode:
oder
Tag(i)
Delphi-Quellcode:
zugreifen?
Tag[i]
denn
Delphi-Quellcode:
ist ja auch gültig. aber ich würde nur ungerne in der schleife folgendes machen:
Tag.Montag;
Delphi-Quellcode:
for i := 0 to Integer(high(MeineUnit.Tag)) do // fehler korrigiert
begin if i = 0 then MeineUnit.test(MeineUnit.Tag.Montag) else if i = 1 then MeineUnit.test(MeineUnit.Tag.Dienstag; // usw. end; |
AW: Verständnis: Zugriff auf Typen
Nicht
Delphi-Quellcode:
sondern
Tag(I)
Delphi-Quellcode:
.
TWochentag(I)
|
AW: Verständnis: Zugriff auf Typen
oder
Delphi-Quellcode:
:stupid:
ListBox1.Items.Add(MeineUnit.test(i));
oder
Delphi-Quellcode:
MeineUnit.test(Ord(MeineUnit.Tag))
(k.A. was genau gemacht werden soll) Aber wenn ich mir deine Schleife anseh ... Bist du dir sicher, daß "Tag" (echt blöder Name) ein ENUM sein soll, oder nicht etwa ein SET? |
AW: Verständnis: Zugriff auf Typen
Oder auch:
Delphi-Quellcode:
var
i: TWochentag; // ... for i := low(TWochentag) to high(TWochentag) do begin MeineUnit.test(i) end; |
AW: Verständnis: Zugriff auf Typen
wenn du, nebenbei bemerkt, 11 Schleifendurchgänge willst
Delphi-Quellcode:
,
for i := 0 to 10 do
dann wird´s ab i = 7 knallen, da dein TWochentag nur 7 Elemente (0..6) enthält. |
AW: Verständnis: Zugriff auf Typen
Delphi-Quellcode:
kann ich leider nicht benutzen da ich des öfteren mal
var
i: TWochentag; // ... for i := low(TWochentag) to high(TWochentag) do begin MeineUnit.test(i) end;
Delphi-Quellcode:
usw. abfrage.
if i = 1 then
das hat sich dank Integer(i) erledigt. aber ein aufruf folgendermaßen sagt mir es würde ein komma fehlen:
Delphi-Quellcode:
i: TWochentag; // ...
MeineUnit.test( MeineUnit.Tag(Integer(i))); |
AW: Verständnis: Zugriff auf Typen
Zitat:
Delphi-Quellcode:
arbeiten.
Ord( i )
Klarer wird der Code allerdings durch
Delphi-Quellcode:
if i = Dienstag then
|
AW: Verständnis: Zugriff auf Typen
ok das habe ich nun gemacht. es ist nun überall
Delphi-Quellcode:
usw. zu finden.
if i = Dienstag
aber ein zugriff folgendermaßen funktioniert leider noch immer nicht:
Delphi-Quellcode:
MeineUnit.test( MeineUnit.Tag(Integer(i)));
|
AW: Verständnis: Zugriff auf Typen
Zitat:
Delphi-Quellcode:
MeineUnit.test(i)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:55 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 by Thomas Breitkreuz