AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Array of records zellegen

Ein Thema von IMPEGA · begonnen am 22. Mär 2023 · letzter Beitrag vom 22. Mär 2023
 
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.005 Beiträge
 
Delphi 12 Athens
 
#6

AW: Array of records zellegen

  Alt 22. Mär 2023, 10:26
Das ist kein Profi bin und etwas überfordert bin, sollte auch klar sein. Array in Verbindung mit Pointer, scheint mir doch etwas zu kompliziert für mich.
@jaenicke Könntest du mir nur ein sehr einfaches Beispiel zeigen. Nur um zu sehen, ob ich es angreifen mag.
Das ist von der Verwendung her kaum anders als du es aktuell vermutlich machst. Auch die Sortierung wäre mit Pointern sehr viel schneller.
Delphi-Quellcode:
type
  TAuto = record
    Marke: string;
    Farbe: string;
    Baujahr: string;
    KM: string;
    Notiz: string;
  end;
  PAuto = ^TAuto;

var
  MyBaseArray: TArray<TAuto>;
  MySortArray: TArray<PAuto>;

  SetLength(MySortArray, Length(MyBaseArray));

  // extrahieren der Pointer als Array
  SetLength(MySortArray, Length(MyBaseArray));
  for i := Low(MyBaseArray) to High(MyBaseArray) do
    MySortArray[i] := @MyBaseArray[i];

  // Zugriff
  MySortArray[i].Baujahr := '1'; // compiler magic / pointer magic, keine Dereferenzierung notwendig
  MySortArray[i]^.Baujahr := '1';

Schau dir Spring4D mal an, danach weißt du nicht mehr, wie du jemals ohne konntest.
Ja, damit kann man sehr viel machen, aber bei größeren Datenmengen muss man auch auf die Performance achten. Spring4D ist da zwar sehr gut, aber es hat natürlich trotzdem einen gewissen Overhead. Da muss man dann schauen, was im konkreten Anwendungsfall wichtiger ist: Der Komfort der Spring4D Bibliothek oder die Performance.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
 


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 18:24 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-2025 by Thomas Breitkreuz