Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Frage zu "Typenkompatibilität" und "array index" (https://www.delphipraxis.net/15177-frage-zu-typenkompatibilitaet-und-array-index.html)

Phoenix 23. Jan 2004 13:19

Re: Frage zu "Typenkompatibilität" und "array
 
Du castest das i einfach als TWochentag:
Delphi-Quellcode:
for i ... to ... do begin
   Nachtwachter[TWochentag(i)].Name := 'xxx';
end;

barnti 23. Jan 2004 13:21

Re: Frage zu "Typenkompatibilität" und "array
 
Hallo Jens,

Tja, warum einfach, wenns auch kompliziert geht?! Danke! Das Brett war (etwas) dicker.

Tschau & Danke an alle Beteiligten,

Barnti

barnti 23. Jan 2004 14:01

Re: Frage zu "Typenkompatibilität" und "array
 
Jetzt ist mir doch noch etwas eingefallen:

Ich möchte mein Array[TWochentag] of Nachtwaechter über eine Variable in Form eines Strings ansprechen:

Delphi-Quellcode:
function GetName(Wochentag: String): String;
begin
  result:= Nachtwaechter[Wochentag].name;    // so leider nicht
end;
Ich brauche für einen übergebenen Parameter, gezwungener Maßen ein String, den Inhalt des Records. Geht das mit einem Cast-Operator?
So in etwa:

[/delphi]
result:= Nachtwaechter[TWochentag(Wochentag)].Name
[delphi]

Kann jemand helfen?

Gruß,

Barnti

Phoenix 23. Jan 2004 14:04

Re: Frage zu "Typenkompatibilität" und "array
 
Jetzt guckst Du bitte mal hier: klick!

Da steht, wie Du die einzelnen Strings der WOchentage in eine Stringlist bekommst.
Du musst nun die Benutzereingabe (am besten über eine Listbox, geht aber auch als normaler String) in den Index auflösen. Bei der LIstbox hast Du das durch den Itemindex, bei einem normalen String musst Du halt selber vergleichen.

Den index castet Du als TWochentag und gut ist :)

barnti 23. Jan 2004 14:10

Re: Frage zu "Typenkompatibilität" und "array
 
Danke! So isses auch gut jetzt...

Gruß,

Barnti

Robert Marquardt 23. Jan 2004 19:01

Re: Frage zu "Typenkompatibilität" und "array
 
Delphi-Quellcode:
VAR
  Nachtwaechter: array [TWochenTag] of TNachtwaechter;
  I: TWochenTag;
begin
  for I := Low(TWochenTag) to High(TWochenTag) do
    List[Ord(I)]
Enumerationen sind ordinale Typen und Schleifen funktionieren mit ordinalen Typen.
Ord(I) liefert die Werte 0 bis 6 in der Schleife


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:19 Uhr.
Seite 2 von 2     12   

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