AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Listboxen vergleichen

Ein Thema von Paulh · begonnen am 29. Sep 2012 · letzter Beitrag vom 1. Okt 2012
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#1

AW: Listboxen vergleichen

  Alt 29. Sep 2012, 18:43
Oder mit ein bischen Quelltext:

Delphi-Quellcode:
for i := Listbox1.items.count-1 downto 0 do begin
  if Listbox2.items.indexof(Listbox1.items[i])=-1 then begin
    if DeleteFile(Listbox1.items[i]) then
      Listbox1.delete(i);
  end;
end;
Hier gehe ich die Listbox1 von unten nach oben durch. Wenn das jeweilige Element in der Listbox2 nicht vorhanden ist, dann wird das Backup gelöscht. Ist das Löschen erfolgreich, wird das Element aus Listbox1 auch auch gleich entfernt.
Achso, noch eine kleine Ergänzung:

das "downto" würde ich diese Stelle verwenden, weil wenn du es anders herum macht, also "for i:=0 to Listbox1.items.count-1" dann kommst du ja irgendwann an eine Stelle, wo aus Listbox1 ein Element löscht. Nach dem Löschen ist Listbox1.Items.count ja kleiner, und die Schleife will am Ende irgendwann auf ein Element zugreifen, was ja gar nicht mehr existiert. Dann hagelt es eine Exception.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#2

AW: Listboxen vergleichen

  Alt 29. Sep 2012, 18:53
das "downto" würde ich diese Stelle verwenden, weil ...
Auch wenn es die Höflichkeit gebietet in der Kommunikation immer die Ich-Form zu wählen um den Gegenüber nicht vor den Kopf zu stoßen, wie z. B. "würde ich", ändert es nichts daran, dass hier ein "musst du" angebracht ist, denn es gibt nur die eine Variante. Alles andere führt zum Knall
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#3

AW: Listboxen vergleichen

  Alt 29. Sep 2012, 18:57
das "downto" würde ich diese Stelle verwenden, weil ...
Auch wenn es die Höflichkeit gebietet in der Kommunikation immer die Ich-Form zu wählen um den Gegenüber nicht vor den Kopf zu stoßen, wie z. B. "würde ich", ändert es nichts daran, dass hier ein "musst du" angebracht ist, denn es gibt nur die eine Variante. Alles andere führt zum Knall
Naja, rein theoretisch kann er ja auch die Items erst einmal in einer weiter StringList speichern, um später damit zu arbeiten, und die Elemente in den ListBoxen noch so lassen. In dem Fall wäre es egal. Ich habe das ganze halt nur der Form halber erläutert.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#4

AW: Listboxen vergleichen

  Alt 29. Sep 2012, 19:00
... kleiner Fehler. Code mal kurz entfernt...

@Captnemo

War ja keine Kritik.

Geändert von Popov (29. Sep 2012 um 19:02 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#5

AW: Listboxen vergleichen

  Alt 29. Sep 2012, 19:03
Delphi-Quellcode:
for i := Listbox1.items.count-1 downto 0 do
begin

  if Listbox2.items.indexof(Listbox1.items[i]) = -1 then
    Listbox2.Items.Delete(i);

end;
Genau hier ist ja das downto nicht zwingend notwendig, weil du die Elemente ja nicht in ListBox1 löscht.

Okay, aber am ende kommt ja alles auf das gleiche raus.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Paulh

Registriert seit: 29. Mai 2011
34 Beiträge
 
Delphi XE3 Professional
 
#6

AW: Listboxen vergleichen

  Alt 29. Sep 2012, 19:04
Okey jetzt gehts, O.o komisch...

Aber danke an alle !
..war schon wieder am verzweifeln..
Gruß Paulh - Minecaft Server
  Mit Zitat antworten Zitat
Paulh

Registriert seit: 29. Mai 2011
34 Beiträge
 
Delphi XE3 Professional
 
#7

AW: Listboxen vergleichen

  Alt 29. Sep 2012, 19:01
Ich grübe grade darüber nach was ich von den 3 Mengenoperationen verwenden muss, aber ich denke,
wenn ich
DifferenceStrings(Listbox2.Items,Listbox1.Items,Listbox3.Items) nehmen würde müsste es doch gehen oder ?
Gruß Paulh - Minecaft Server
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#8

AW: Listboxen vergleichen

  Alt 29. Sep 2012, 19:05
Ich grübe grade darüber nach was ich von den 3 Mengenoperationen verwenden muss, aber ich denke,
wenn ich
DifferenceStrings(Listbox2.Items,Listbox1.Items,Listbox3.Items) nehmen würde müsste es doch gehen oder ?
Also ganz ehrlich. Ich würde an deiner Stelle jetzt nicht den Code aus DifferenceStrings kopieren.

Die von dir gestellt Aufgabe ist so einfach, dass du dir selbst einen Gefallen tust, wenn diesen zweizeiler selber entwirfst, und am ende auch verstehst, wo wie ich und popov es dir vorgeschlagen haben.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Paulh

Registriert seit: 29. Mai 2011
34 Beiträge
 
Delphi XE3 Professional
 
#9

AW: Listboxen vergleichen

  Alt 29. Sep 2012, 19:08
Ja,okey habe aber auch schon lange nichts mehr mit Delphi gemacht...

Habs jetzt auch so hin bekommen.
Gruß Paulh - Minecaft Server
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#10

AW: Listboxen vergleichen

  Alt 29. Sep 2012, 19:17
Ja, manchmal beißt man sich an einfachsten Sachen fest. Kein Problem.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:46 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