Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Doppelte Einträge nicht zulassen, sondern... (https://www.delphipraxis.net/11232-doppelte-eintraege-nicht-zulassen-sondern.html)

DelphiUser7 2. Nov 2003 15:03


Doppelte Einträge nicht zulassen, sondern...
 
Hi,
wie kann ich proggen, dass, sobald ein doppelter Eintrag hinzugefügt werden würde, der Zähler um einen drüber geht, d.h. PlayList001,PlayList002,PlayList003, PlayList005;
in diesem Fall würde mein Programm zuerst PlayList004, dann PlayList005 einfügen; dann wäre PlayList005 doppelt; aber genau dies möchte ich verhindern;
Hier ein wenig Source:
Delphi-Quellcode:
procedure TForm1.CreateListClick(Sender: TObject);
begin
  newplaylist := TStringList.Create;
  c := PlayListBox.Items.Count;
  Name := 'PlayList00'+IntToStr(c+1);
  PlayListBox.Items.AddObject(Name, newplaylist);
  AddToList.Enabled := true;
  if c = 0 then
  PlayListBox.ItemIndex := 0;
end;
MFG
DelphiUser7

sharkx 2. Nov 2003 15:04

Re: Doppelte Einträge nicht zulassen, sondern...
 
mit TStringList.Sorted true und DupeIgnore

Christian Seehase 2. Nov 2003 15:09

Re: Doppelte Einträge nicht zulassen, sondern...
 
Moin DelphiUser,

Du könntest, mit Hilfe von IndexOf prüfen, ob der Eintrag schon enthalten ist, und ihn ggf. einfach weglassen.
Allerdings halte ich das nicht unbedingt für sinnvoll, kommt auf den Zusammenhang an. Wer mehrfach das gleiche einfügen will sollte das tun können.
Ich hoffe mal innerhalb der Playlisten ist das möglich.

BTW:
Die Verwendung von Name als Variablenname ist ausgesprochen unglücklich.
Durch Deinen Code änderst Du ständig den internen Namen des Formulares, da TForm die Eigenschaft Name hat.
Am Besten Du verwendest bei Variablen einen Präfix, der den Typ angibt, z.B. s für String, damit kannst Du solche Kollisionen ganz gut vermeiden.


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