Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Zugriff auf Variablen im Record wie FindComponent (https://www.delphipraxis.net/49289-zugriff-auf-variablen-im-record-wie-findcomponent.html)

Robert_G 8. Jul 2005 13:27

Re: Zugriff auf Variablen im Record wie FindComponent
 
Zitat:

Zitat von barf00s
freilich

Ich denke, das war nicht was er will, auch wenn er es noch nicht gesehen hat.
Zitat:

< D8 ist sowieso immer die beste wahl - .NET is nich so der hit - aber das ja ne andere sache
Das versuche ich mal als Aussage von jemanden, der gerne mit Pointern auf primitive Typen spielt, zu respektieren...
Auch wenn ich es genau andersherum sehe (zumindest solange nicht D.Net gemeint ist :zwinker: )

barf00s 8. Jul 2005 13:31

Re: Zugriff auf Variablen im Record wie FindComponent
 
ich bin ja von berufswegen auch .NETler (kein d.net)

s.h.a.r.k 8. Jul 2005 13:34

Re: Zugriff auf Variablen im Record wie FindComponent
 
Zitat:

Zitat von Robert_G
Zitat:

Zitat von barf00s
sowas geht nich...
im .NET schon

Shark, bist du VB'ler, einfach nur faul oder willst du 10GHz CPUs verkaufen? :gruebel:

Darf ich fragen, was der Kommentar soll?! Trägt wohl auch nicht wirklich zum Lösnug meines Problems bei - aber egal.

Jedenfalls sitz ich hier leider nicht am Rechner, wo Delphi drauf is - konnte den Code leider bisher noch nicht testen! Werde ich aber gleich machen.
@barf00s: Schon mal danke für die schnelle hilfe!!!

barf00s 8. Jul 2005 13:45

Re: Zugriff auf Variablen im Record wie FindComponent
 
BESSER wäres ja noch wenn du von "record" auf "class" umstellst, dann brauchst dieses PRecorc() gefricke nich...

Delphi-Quellcode:
uses
  Contnrs; // TObjectList

type
  TEintrag = class
  private
    FName: string;
    FVorname: string;
    FStrasse: string;
    FPlz: integer;
    procedure SetName(const Value: string);
  public
    property Name: string read FName write SetName;
    // ...
  end;

  TEintraege = class(TObjectList)
  private
    function GetItems(Index: integer): TEintrag;
    procedure SetItems(Index: integer; const Value: TEintrag);
  public
    function FindByName(const Name: string): TEintrag;
    proeprty Items[Index: itneger]: TEintrag read GetItems write SetItems; default;
  end;

implementation

function TEintraege.GetItems(Index: integer): TEintrag;
begin
  Result := TEintrag(inherited Items[Index]);
end;

procedure TEintraege.SetItems(Index: integer; const Value: TEintrag);
begin
  inherited Items[Index] := Value;
end;

function TEintraege.FindByName(const Name: string): TEintrag;
var
  iIndex: integer;

begin
  Result := nil;
  for iIndex := 0 to Count - 1 do begin
    if Items[iIndex].Name = Name then begin
      Result := Items[iIndex];
      Exit;
  end;
end;

Robert_G 8. Jul 2005 13:53

Re: Zugriff auf Variablen im Record wie FindComponent
 
Zitat:

Zitat von Robert_G
Zitat:

Zitat von barf00s
freilich

Ich denke, das war nicht was er will, auch wenn er es noch nicht gesehen hat.

:lol: Ich dachte, dass er innerhalb einer Record-"Instanz" auf einzelne Felder per Namen zugreifen will...

Sorum macht das natürlich mehr Sinn. ;)

Willst du eine Art HashTable dürftest du etwas in der Art in der CodeLib finden. (IMHO von alzaimer... :gruebel: )
Bei 100 Einträgen dürften sich die Stringvergleiche noch nicht sooo dramatisch bemerktbar machen, bei mehr Elementen oder bei häufiger Nutzung wäre hier eine HashTable wohl sicher schneller. (Auch wenn ich hier immer noch keinen Sinn für einen Zugriff per String sehen kann... :gruebel: )

s.h.a.r.k 8. Jul 2005 14:04

Re: Zugriff auf Variablen im Record wie FindComponent
 
Vielen Dank für eure Hilfe Leut, aber ich hab das Problem jetzt gelöst! Der erste Tip von barfOOs wars! Danke nochmals! Ich hab zwar keine Ahnung was genau Poniter sind, aber ich verwend sie jetz einfach einmal *lol*


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

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