AGB  ·  Datenschutz  ·  Impressum  







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

Code Optimierung gesucht

Ein Thema von Martin W · begonnen am 3. Jan 2015 · letzter Beitrag vom 16. Jan 2015
Antwort Antwort
Martin W

Registriert seit: 29. Mai 2004
Ort: Augsburg
220 Beiträge
 
Delphi XE3 Enterprise
 
#1

AW: Code Optimierung gesucht

  Alt 3. Jan 2015, 20:43
Pack doch einfach alle Autos in eine einzige Liste.
Ja, das hab ich gemacht, wie folgt:

Delphi-Quellcode:
var
  WorkingList: TList<TAuto>;
begin

  WorkingList := WorkingList<TAuto>.Create;

  WorkingList.AddRange(TAutoHerstellerA);
  WorkingList.AddRange(TAutoHerstellerB);
  WorkingList.AddRange(TAutoHerstellerC);
  WorkingList.AddRange(TAutoHerstellerD);

  for i:=0 to WorkingList.Count -1 do
    begin
      if WorkingList[i].FNameOfCar = aCar then
        WorkingList[i].FColor := aNewColor;
      Break;
    end;

  WorkingList.Free;

end;
Nachteil: Die Liste muss vor jeder Nutzung neu erstellt ("kombiniert") werden. Gibt es eine Möglichkeit, die Liste dynamisch zu halten, so dass bei Änderung von TAutoHerstellerA automatisch die WorkingList mit aktualisiert wird? Ok, eine Idee für das wären Properties.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.874 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Code Optimierung gesucht

  Alt 3. Jan 2015, 20:47
Nicht nur zum Suchen, sondern grundsätzlich eine Liste.
Markus Kinzler
  Mit Zitat antworten Zitat
Martin W

Registriert seit: 29. Mai 2004
Ort: Augsburg
220 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: Code Optimierung gesucht

  Alt 3. Jan 2015, 20:48
Nicht nur zum Suchen, sondern grundsätzlich eine Liste.
Die werden ziemlich häufig individuell verarbeitet, nur selten gemeinsam. Daher ist der dadurch entstehende Aufwand höher, als wenn ich sie auseinander lasse.

AddRange klappt im oberen Code nicht, gibt es eine andere Möglichkeit, die Listen zu kombinieren?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.874 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Code Optimierung gesucht

  Alt 3. Jan 2015, 20:51
Durch das Kominieren nur zu diesem Zweck gewinnst Du nichts im Vergleich zur separaten Suche in den getrennten Listen.
Markus Kinzler
  Mit Zitat antworten Zitat
Martin W

Registriert seit: 29. Mai 2004
Ort: Augsburg
220 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: Code Optimierung gesucht

  Alt 3. Jan 2015, 20:52
Durch das Kominieren nur zu diesem Zweck gewinnst Du nichts im Vergleich zur separaten Suche in den getrennten Listen.
Performancetechnisch nichts, aber codemäßig, vor allem wen das nicht 4 Listen sind, sondern 50.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.874 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Code Optimierung gesucht

  Alt 3. Jan 2015, 20:56
Vielleicht ist es möglich statt x Listen einen Array/Directory der Listen zu verwenden, dann kannst Du den Code einfach zusammenfassen.
Markus Kinzler
  Mit Zitat antworten Zitat
Martin W

Registriert seit: 29. Mai 2004
Ort: Augsburg
220 Beiträge
 
Delphi XE3 Enterprise
 
#7

AW: Code Optimierung gesucht

  Alt 3. Jan 2015, 20:57
Vielleicht ist es möglich statt x Listen einen Array/Directory der Listen zu verwenden, dann kannst Du den Code einfach zusammenfassen.
Danke für die Idee, werde mir das mal näher anschauen.
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Code Optimierung gesucht

  Alt 3. Jan 2015, 20:59
Wenn Autohersteller eine so wichtige Eigenschaft ist könnte man überlegen die nach TAuto zu packen? Und ich würde auf jeden Fall auch nur eine Liste nehmen.
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:32 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