AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Daten auf Einzigartigkeit überprüfen...
Thema durchsuchen
Ansicht
Themen-Optionen

Daten auf Einzigartigkeit überprüfen...

Ein Thema von Nelphin · begonnen am 13. Dez 2009 · letzter Beitrag vom 14. Dez 2009
Antwort Antwort
Nelphin

Registriert seit: 2. Feb 2009
Ort: Kaiserslautern
71 Beiträge
 
Turbo Delphi für Win32
 
#1

Re: Daten auf Einzigartigkeit überprüfen...

  Alt 13. Dez 2009, 16:21
Zitat von Uwe Raabe:
Du sagst leider nicht, um was für Daten es sich bei A, B, C, ... handelt. Falls es Strings sind oder etwas, das man als String darstellen kann, bietet sich eine TStringlist an:

Delphi-Quellcode:
var
  daten: TStringlist;
  idx: Integer;
begin
  ...
  daten := TStringList.Create;
  { dupIgnore sorgt dafür, daß bei Add für bereits vorhandene Einträge der alte Index zurückgegeben wird }
  daten.Duplicates := dupIgnore;
  for x in <Eingangsdaten> do begin // Schleife über Datenmenge
    idx := daten.Add(x);
    <add Index (idx)> // wie auch immer das aussehen soll
  end;
  ...
end;
erstmal vielen dank für die antwort(en)...
da meine daten ursprünglich aus einer stringlist kommen und ich sie erst später in vektoren umbaue würde das funktionieren...

aber...

dupIgnore funktioniert irgendwie nur, wenn die stringlist vorher sorted wird und damit würfel ich die daten komplett durcheinander, ich brauche sie aber in der urpsrungsreihenfolge....

und das mit dem index rausschreiben habe ich nicht verstanden... denn wenn das funzen würde, könnte es sein das mir die reihenfolge egal sein kann... hauptsache in der indexliste stimmt sie wieder.

denn das hier idx := daten.Add(x); bringt mir nur den fehler Inkompatible Typen string und Integer...

zur zeit habe ich folgendes:

Delphi-Quellcode:
procedure TForm1.Button19Click(Sender: TObject);
var i:integer;
var idx:integer;

begin

slopt.clear;
slopt.Sorted:=true; // ohne das geht es nicht, aber mit kann ichs nicht gebrauchen.... oder doch??
slopt.duplicates:=dupignore;
for i := 0 to sl.count - 1 do
   slopt.Add(sl[i]);
 // idx := (slopt.Add(i)); // auskommentiert, weils nicht funktioniert...
end;
  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 05:51 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