AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Listbox Einträge vergl., bei Doppelbelegung einen Löschen
Thema durchsuchen
Ansicht
Themen-Optionen

Listbox Einträge vergl., bei Doppelbelegung einen Löschen

Ein Thema von Ginko · begonnen am 9. Okt 2008 · letzter Beitrag vom 9. Okt 2008
Antwort Antwort
Seite 3 von 3     123   
Ginko

Registriert seit: 30. Aug 2008
208 Beiträge
 
FreePascal / Lazarus
 
#21

Re: Listbox Einträge vergl., bei Doppelbelegung einen Lösche

  Alt 9. Okt 2008, 15:16
bernau das berücksichtigt aber nicht das die ersten beiden Stellen unterschiedlich sein können oder ?
Ah sehe 'edit' auch zurück
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#22

Re: Listbox Einträge vergl., bei Doppelbelegung einen Lösche

  Alt 9. Okt 2008, 15:29
OK. Anderer Versuch. Ich würde mit einer Hilfsstrinliste arbeiten

Delphi-Quellcode:

var
 sl:TStringlist;
 stri:String;
begin
  sl:=TStringlist.create;

  // downto verwenden, da items zwischendurch gelöscht werden können
  for a:=sllistbox0.Items.count-1 downto 0 do
    begin
      stri:=listbox0.Items[a][5] + listbox0.Items[a][7] + listbox0.Items[a][9];

      if sl.indexof(stri)>=0 then
        listbox0.items.delete(a)
      else
        sl.add(stri);

    end;

  sl.free;
end;

Einfach so runtergetippt und nicht getestet
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#23

Re: Listbox Einträge vergl., bei Doppelbelegung einen Lösche

  Alt 9. Okt 2008, 15:47
Hallo,

so, letzter Versuch
Delphi-Quellcode:
for i := listbox0.items.count - 1 DownTo 0 Do begin
  for k := i - 1 DownTo 0 Do begin
    if (i < listbox0.items.count - 1)
    and (k < listbox0.items.count - 1) then begin
      if listbox0.items[i][5] + listbox0.items[i][7] + listbox0.items[i][9]
       = listbox0.items[k][5] + listbox0.items[k][7] + listbox0.items[k][9] then begin
        listbox0.items.Delete(k);
      end;
    end;
  end;
end;
  Mit Zitat antworten Zitat
Ginko

Registriert seit: 30. Aug 2008
208 Beiträge
 
FreePascal / Lazarus
 
#24

Re: Listbox Einträge vergl., bei Doppelbelegung einen Lösche

  Alt 9. Okt 2008, 18:05
Nach einer kleinen Änderung klappt es nun danke dir nahpets!

Delphi-Quellcode:
for i := listbox0.items.count DownTo 0 Do begin
  for k := i - 1 DownTo 0 Do begin
    if (i < listbox0.items.count)
    and (k < listbox0.items.count) then begin
      if listbox0.items[i][5] + listbox0.items[i][7] + listbox0.items[i][9]
       = listbox0.items[k][5] + listbox0.items[k][7] + listbox0.items[k][9] then begin
        listbox0.items.Delete(k);
      end;
    end;
vorher wurde der letzte Eintrag nicht berücksichtigt.
bernau deine Methode hab ich jetzt noch nicht getestet aber, trotzdem danke.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 22:18 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