AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Frage zu "Typenkompatibilität" und "array index"
Thema durchsuchen
Ansicht
Themen-Optionen

Frage zu "Typenkompatibilität" und "array index"

Ein Thema von barnti · begonnen am 23. Jan 2004 · letzter Beitrag vom 23. Jan 2004
Antwort Antwort
Seite 1 von 2  1 2      
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#1

Frage zu "Typenkompatibilität" und "array ind

  Alt 23. Jan 2004, 13:12
Habe im Forum folgendes gefunden:

Delphi-Quellcode:
Type TWochenTag = (Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag);
     TNachtwaechter = Record
                        Vorname,
                        Nachname,
                        Strasse,
                        PLZ_Ort: string;
                      end;

...

VAR Nachtwaechter: Array[Montag..Sonntag] of TNachtwaechter;
Meine Frage: Gibt es eine Möglichkeit, evtl mit kleinen Änderungen, nicht über den "enumeration Typ" (Montag..Sontag) auf das array zuzugreifen, sondern auch über einen Index. Bsp:

Nachtwaechter[1].Vorname:= 'Karl-Heinz' Ich würde gern die Möglichkeit nutzen per Enum auf den Inhalt zuzugreifen. Bei der Initialisierung würde ich aber gern mit einer Schleife arbeiten, in etwa:

Delphi-Quellcode:
for i:=0 to count do
  Nachtwaechter[i].name:= List.items[i];
Ideen? Her damit

Danke & Gruß,

Barnti
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#2

Re: Frage zu "Typenkompatibilität" und "array

  Alt 23. Jan 2004, 13:31
Hehe, in genau dem gleichen Thread steht das hier.

Code:
var Nachtwaechter: Array[1..7] of TNachtwaechter;
Somit hast Du 7 Elemente die Du mit Nachtwaechter[1] bis Nachtwaechter[7] auch mit einer Variablen ansprechen kannst.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#3

Re: Frage zu "Typenkompatibilität" und "array

  Alt 23. Jan 2004, 13:32
Achso. Frage im ersten Moment falsch verstanden.

Ja, das geht, und zwar musst Du da mal nach Hier im Forum suchenRTTI suchen. Da findest Du informationen wie die Enums intern aufgelöst werden um sie direkt anzusprechen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#4

Re: Frage zu "Typenkompatibilität" und "array

  Alt 23. Jan 2004, 13:33
mache aus deinen var typ einfach:var nachtwaechter:array[1..7] of tnachtwaechter;
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#5

Re: Frage zu "Typenkompatibilität" und "array

  Alt 23. Jan 2004, 13:36
Zitat von kiar:
mache aus deinen var typ einfach:var nachtwaechter:array[1..7] of tnachtwaechter;
Na, das will er ja nicht. Er will ja zum initialisieren mit einer Schleife durch und an anderen Stellen aber weiterhin mit der Enumeration darauf zugreifen. Das geht so freilich nicht.

Deswegen muss man da einen Umweg über die RTTI nehmen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#6

Re: Frage zu "Typenkompatibilität" und "array

  Alt 23. Jan 2004, 13:41
hallo phoenix,

ist ja richtig, mir ging es genau wie dir, bloß war ich ein wenig langsamer

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Frage zu "Typenkompatibilität" und "array

  Alt 23. Jan 2004, 13:51
Hi phoenix,

ich habe Dein Beispiel zwar gefunden, leider aber nicht ganz durchschaut. Ist es möglich, dass Du mir Beispielcode dazuschreibst? Ich weiß so einfach nicht, wie ich über das Array iterieren soll?! Sorry!

Danke & Gruß,

Barnti
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#8

Re: Frage zu "Typenkompatibilität" und "array

  Alt 23. Jan 2004, 13:59
Ist eigentlich ganz einfach:

Delphi-Quellcode:
var
  i: integer;
begin
  for i := ord( low( TWochenTag ) ) to
           ord( high( TWochenTag ) ) do
  begin
    // i geht vom ersten bis zum letzten Element durch
  end;
end;
Schau dazu auch mal in die Onlinehilfe zum Thema "TypeInfo".
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Frage zu "Typenkompatibilität" und "array

  Alt 23. Jan 2004, 14:09
Hallo,
also irgentwie ist mir das nicht ganz klar. Vielleicht muss ich noch mal ausholen:

Delphi-Quellcode:
var
  i: integer;
begin
  for i := ord( low( TWochenTag ) ) to
           ord( high( TWochenTag ) ) do
  begin
    Nachtwaechter[i].Name //Hier ist das Problem. Ich muss irgentwie über das Array
                              // iterieren. So geht es nicht. Enum-Typ gefordert
  end;
end;
Wie iteriere ich hier über das Array "Nachtwaechter", so dass ich alle Positionen beschreiben kann?

Gruß,

Barnti
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#10

Re: Frage zu "Typenkompatibilität" und "array

  Alt 23. Jan 2004, 14:15
Hallo,
wo ist denn das Problem ?

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  iCnt : TWochentag;
  Nachtwaechter: Array[TWochenTag] of TNachtwaechter;
begin
  For iCnt:=Montag to Sonntag do
    Nachtwaechter[iCnt].Nachname:='Problem gelöst';
end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz