Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Array -> Befehl zum überprüfen ob Datensatz in Array vorhand (https://www.delphipraxis.net/98427-array-befehl-zum-ueberpruefen-ob-datensatz-array-vorhand.html)

HolgerCW 27. Aug 2007 10:51


Array -> Befehl zum überprüfen ob Datensatz in Array vorh
 
Hallo zusammen,

gibt es einen Befehl zum überprüfen ob ein Datensatz in einem Array vorhanden ist, oder muss ich das mit einer Schleife machen ?

Gruss

Holger

shmia 27. Aug 2007 11:03

Re: Array -> Befehl zum überprüfen ob Datensatz in Array
 
Das geht nur über eine Schleife oder binäre Suche, falls die Daten sortiert sind.
Denk aber daran, dass eine Liste dem "normalen Array" überlegen ist, wenn häufige Einfügungen und/oder Löschungen stattfinden.

HolgerCW 27. Aug 2007 11:19

Re: Array -> Befehl zum überprüfen ob Datensatz in Array
 
Ich möchte eigentlich ein Array nach und nach mit Daten füllen. Vor dem Einfügen eines neuen Datensatzes wird geprüfen ob dieser schon vorhanden ist. Wenn ja wird nicht gefüllt, wenn nein wird der Datensatz in dem Array ergänzt.

Gruss

Holger

matashen 27. Aug 2007 11:22

Re: Array -> Befehl zum überprüfen ob Datensatz in Array
 
Nimm dazu besser eine Liste,
du mußt zwar dann noch mit einer Schleife prüfen ob der neue Datensatz vorhanden ist, aber mit .Add mußt du dich nicht um die erweiterung des Array usw kümmern und es müßte auch schneller laufen -Vermutung-.

Gruß Matthias

DeddyH 27. Aug 2007 11:55

Re: Array -> Befehl zum überprüfen ob Datensatz in Array
 
Zitat:

Zitat von matashen
...du mußt zwar dann noch mit einer Schleife prüfen ob der neue Datensatz vorhanden ist,...

Oder mit IndexOf prüfen, erspart die Schleife ;)

Klaus01 27. Aug 2007 12:55

Re: Array -> Befehl zum überprüfen ob Datensatz in Array
 
Wenn Du dann noch mit einer TStringList arbeiten möchtest (ich weiß nicht was für Daten Du in dem Array hast),
da gibt es noch die Eigenschaft "duplicates", damit kannst Du doppelte Einträge verhindern.
Die Stringlist muß dazu aber sortiert sein.

Grüße
Klaus

HolgerCW 27. Aug 2007 15:51

Re: Array -> Befehl zum überprüfen ob Datensatz in Array
 
HI,

habe jetzt mal mit TStringList rumprobiert und auch mit IndexOf die abfrage gemacht.

Die Geschwindigkeit ist echt zu langsam. Es bleibt mit da ncihts anderes übrig als die TQuery zwei mal aufzubauen

Gruss

Holger

mkinzler 27. Aug 2007 15:54

Re: Array -> Befehl zum überprüfen ob Datensatz in Array
 
Also eine 2. separate Abfrage für die Anzahl einzigartiger Einträge ist auf jdeden Fall schneller als die lösung über die Stringliste.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:16 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