Autor Beitrag
Force
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 143

Ubuntu Jaunty
FreePascal
BeitragVerfasst: Sa 20.05.06 12:26 
Hi!

Ich wollte fragen, ob einer weiß, wie man prüfen kann, ob Werte doppelt vorhanden sind und gegebenfalls löschen kann.

Beipsiel: In einem Valuelisteditor sind folgende Keys/Values:


Schokolade=ja
Schokolade=nein
Obst=ja
Obst=ja


In dem Beispiel sollte der letzte Wert gelöscht werden, da Obst=ja zweimal vorkommt...


Kann mir da einer helfen?
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Sa 20.05.06 17:05 
Hab grad kein Delphi da aber du müsstest z.B. im OnKeyUp Ereignis eine Schleife bauen, die schaut ob der eingegebene Wert des aktuellen Feldes bereits in den anderen Feldern enthalten ist. Gabs aber dafür keine Property, die man setzen konnte? Kommt mir n bissel komishc vor, dass man das nachprogrammieren muss...
Force Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 143

Ubuntu Jaunty
FreePascal
BeitragVerfasst: Sa 20.05.06 17:08 
nein, es gibt nur die propety, dass die schlüssel nicht gleich sein dürfen, dass heißt dass du entweder nur schokolade=ja oder schokolade=nein schreiben dürftest
delphiuserno1
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82


Delphi 7 enterprise, Delphi 2007
BeitragVerfasst: So 11.06.06 13:52 
welche property is das denn?


//EDIT: habs gefunden is keyunique. Allerdings löst das ne exception aus. Wie kann man das verhindern? Also statt der Exception ne meldung oder so


//Edit: das mit keyunique is sch***e! hab mir jez selbst was geschrieben! der überprüft ob schon der Schlüssel vorhanden ist. Wenn ja dann überschreibt er den Wert. Is der Wert für den Schlüssel allerdings auch schon vorhanden dann zeigt er die Meldung an

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm2.Button2Click(Sender: TObject);
var Row:Integer;
    value:String;
begin
  row:=valuelisteditor1.RowCount;
  if valuelisteditor1.FindRow(edit1.Text,row) = true then
    begin
      value:=valuelisteditor1.Values[edit1.Text];
      if value = edit2.Text then
          showmessage('Eintrag schon vorhanden')
      else
        valuelisteditor1.Values[edit1.Text]:=edit2.Text;
    end
  else
      valuelisteditor1.InsertRow(edit1.text,edit2.text,false);
end;