AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Felder eines Objectes

Ein Thema von michael.cohrs · begonnen am 14. Jun 2016 · letzter Beitrag vom 16. Jun 2016
Antwort Antwort
Seite 1 von 2  1 2   
michael.cohrs

Registriert seit: 11. Nov 2005
Ort: Hamburg
130 Beiträge
 
#1

Felder eines Objectes

  Alt 14. Jun 2016, 14:11
Hallo und guten Tag,

ich habe folgendes Problem:

aus einer Objectlist hole ich mir ein enthaltenes Object.
Dieses enthält Variablen wie zb.

Val1
Val2
Val3
...
...
...

Nun möchte ich jedes dieser Variablen zur Laufzeit mit Werten füllen jedoch benötige ich nicht alle Variablen
sondern zb. nur

Val1
Val2

wie kann ich diese Variablen aus dem Object in einer Schleife abfragen, zb

for i := 0 to 10
obj.Val+IntToStr(i) := irgendwas

funktioniert leider nicht

Vielen Dank für eine Antwort

Michael
Michael Cohrs
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Felder eines Objectes

  Alt 14. Jun 2016, 14:15
Wie wäre es an dieser Stelle mit einem (dynamischen) Array? Dann kannst du auch mit einer (For-)Schleife durchlaufen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
42.831 Beiträge
 
Delphi 12 Athens
 
#3

AW: Felder eines Objectes

  Alt 14. Jun 2016, 14:22
Oder per Generics auf Feld/Property 'Val' + IntToStr(i) zugreifen.

Oder in den Objekten "manuell" einen Zugriff über Funktion mit Name oder über ein Array-Property einbauen. (zusätzlich)


Oder geht auch andersrum.
In den Objekten ein Array und die "Variablen" werden durch je ein Index-Property ersetzt, auf den selben Getter/Setter, wie für das Array-Property.
Es ist eh "ungünstig" wenn direkt auf die Variablen Felder zugegriffen wird.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (14. Jun 2016 um 14:25 Uhr)
  Mit Zitat antworten Zitat
michael.cohrs

Registriert seit: 11. Nov 2005
Ort: Hamburg
130 Beiträge
 
#4

AW: Felder eines Objectes

  Alt 14. Jun 2016, 14:28
hallo himitsu,

uiha das kling schwierig, könntest Du mir ein codesnipsel senden?
Michael Cohrs
  Mit Zitat antworten Zitat
michael.cohrs

Registriert seit: 11. Nov 2005
Ort: Hamburg
130 Beiträge
 
#5

AW: Felder eines Objectes

  Alt 14. Jun 2016, 18:53
Ich muss mich korrigieren,

nicht die Variablen des Objects sollen beschrieben werden sondern ich möchte den Inhalt lesen, es handelt sich um eine
VAL Menge von 50, diese möchte ich in einer Schleife auslesen...
Michael Cohrs
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.363 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Felder eines Objectes

  Alt 14. Jun 2016, 19:04
entweder über die alte RTTI (unit TypeInfo) oder die neue RTTI http://docwiki.embarcadero.com/RADSt..._RTTI_arbeiten

KOmmt also erst mal drauf an welche Delphi-Version du hast, dann bastelt dir sicherlich jemand auch einen Beispielcode...
  Mit Zitat antworten Zitat
michael.cohrs

Registriert seit: 11. Nov 2005
Ort: Hamburg
130 Beiträge
 
#7

AW: Felder eines Objectes

  Alt 14. Jun 2016, 20:14
Danke für die Antwort,

ich arbeite tatsächlich noch mit Delphi 6.0 (Zwangsläufig weil in der Firma nichts anderes verfügbar ist)
Michael Cohrs
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
42.831 Beiträge
 
Delphi 12 Athens
 
#8

AW: Felder eines Objectes

  Alt 15. Jun 2016, 14:19
Natives ObjectPascal ohne RTTI:
Delphi-Quellcode:
type
  TTest = class
  private
    FTest: array[1..9] of Integer;
    function Getter(Index: Integer): Integer;
    procedure Setter(Index, Value: Integer);
  public
    property Test1: Integer index 1 read Getter write Setter;
    ...
    property Test9: Integer index 9 read Getter write Setter;
    property Test[Index: Integer]: Integer read Getter write Setter;
  end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
michael.cohrs

Registriert seit: 11. Nov 2005
Ort: Hamburg
130 Beiträge
 
#9

AW: Felder eines Objectes

  Alt 16. Jun 2016, 14:25
DANKE!!! so funktionierts!!

noch eine Frange: ich habe eine ObjectListe mit n Objekten die ich aus einer DB Lade.

das erste Feld des Objectes ist ein Wert vom Typ String der jedoch nummerisch ist.
wie kann ich diese Feld in der Objektliste sortieren?

Danke für weitere Antworten

Michael
Michael Cohrs
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: Felder eines Objectes

  Alt 16. Jun 2016, 14:29
das erste Feld des Objectes ist ein Wert vom Typ String der jedoch nummerisch ist.
wie kann ich diese Feld in der Objektliste sortieren?
Also wenn du die Reihenfolge deiner Objekte in der ObjectList sortieren möchtest, dann kannst du beim Erzeugen der ObjectList ein Comparer mit übergeben. Dort drin kannst du dann sortieren wie du willst. Bspw. mit Delphi-Referenz durchsuchenCompareString.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22:52 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