Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem beim Vergleich verschiedener ListBox-Einträge (https://www.delphipraxis.net/42520-problem-beim-vergleich-verschiedener-listbox-eintraege.html)

St.Pauli 20. Mär 2005 10:53


Problem beim Vergleich verschiedener ListBox-Einträge
 
Hi,
ich will die Einträge der ListBox4 mit den Einträgen der ListBox2 vergleichen. Die Doppelten Einträge werden dann immer in der LB 4 gelöscht.

Delphi-Quellcode:
  hilfs := ListBox4.Items.Count;

for i := ListBox4.Items.Count -1 downto 0 do
  ProgressBar1.Position := hilfs-i;
    begin
      for i2 := ListBox2.Items.Count - 1 downto 0 do
        begin
          s1 := ListBox4.Items[i];
          s2 := ListBox2.Items[i2];
          if (s1 = s2) then
            begin
              ListBox4.Items.Delete(i);
            end;
        end;
    end;
Nur leider kommt immer die Meldung
Zitat:

[Warning] Unit1.pas(82): Symbol 'FindData' is specific to a platform
[Warning] Unit1.pas(82): Symbol 'FindData' is specific to a platform
Was kann/muss ich machen?

semo 20. Mär 2005 10:56

Re: Problem beim Vergleich verschiedener ListBox-Einträge
 
sorry, aber ich kann in dem geposteten Quelltext "FindData" nicht lokalisieren?!
postest du evtl. mal den ganzen Quelltext bzw den Auszug wo dieses "FindData" auftaucht?

alcaeus 20. Mär 2005 11:00

Re: Problem beim Vergleich verschiedener ListBox-Einträge
 
Zitat:

[Warning] Unit1.pas(82): Symbol 'FindData' is specific to a platform
[Warning] Unit1.pas(82): Symbol 'FindData' is specific to a platform
Solange du den Code nicht auf andere Plattformen portieren musst, kannst du die Warnungen getrost ignorieren. Der Code laeuft ja, oder?

Greetz
alcaeus

St.Pauli 20. Mär 2005 11:07

Re: Problem beim Vergleich verschiedener ListBox-Einträge
 
nein, läuft nicht...
hier mal der ganze code....

Delphi-Quellcode:
 GetFilesInDirectory('C:\', '*.*', ListBox1.Items, True, False);
  GetFilesInDirectory('C:\', '*.*', ListBox3.Items, True, False);

  ProgressBar1.Min := 0;
  ProgressBar1.Max := ListBox1.Items.Count;

  for i := 0 to ListBox1.Items.Count -1 do
    begin
      ProgressBar1.Position := i;
      ListBox2.Items.Add(ExtractFileName(ListBox1.Items[i]));
    end;

  for i := 0 to ListBox3.Items.Count -1 do
    begin
      ProgressBar1.Position := i;
      ListBox4.Items.Add(ExtractFileName(ListBox3.Items[i]));
    end;

  ProgressBar1.Min := 0;
  ProgressBar1.Max := ListBox4.Items.Count;

  hilfs := ListBox4.ITems.Count;

  for i := ListBox4.Items.Count -1 downto 0 do
  ProgressBar1.Position := hilfs-i;
    begin
      for i2 := ListBox2.Items.Count - 1 downto 0 do
        begin
          s1 := ListBox4.Items[i];
          s2 := ListBox2.Items[i2];
          if (s1 = s2) then
            begin
              ListBox5.Items.Add(ListBox3.Items[i]);
              ListBox3.Items.Delete(i);
              ListBox4.ITems.Delete(i);
            end;
        end;
    end;
Dient zur suche doppelter dateien - ich weiss, im moment macht das ganze noch keinen sinn, wollte aber erstmal, das der code steht.

SirThornberry 20. Mär 2005 11:09

Re: Problem beim Vergleich verschiedener ListBox-Einträge
 
Zitat:

Zitat von St.Pauli
nein, läuft nicht...

was heißt: "Läuft nicht"? kommt ein Fehler, wird nur nicht das gemacht was passieren soll. Lässt sich das ganze nicht kompilieren? eine Fehlerbeschreibung wäre hilfreich

Fehler liegt auch hier
Delphi-Quellcode:
for i := ListBox4.Items.Count -1 downto 0 do
  ProgressBar1.Position := hilfs-i;
  begin
  [...]
du musst das progressbar1.position hinter das begin packen. Ansonsten gilt die vorschleife nur für die Zeile
Delphi-Quellcode:
ProgressBar1.Position := hilfs-i;
und das darunter hat nix mehr mit der schleife zu tun

semo 20. Mär 2005 11:11

Re: Problem beim Vergleich verschiedener ListBox-Einträge
 
was steht in der methode Getfilesindirectory?

sniper_w 20. Mär 2005 11:19

Re: Problem beim Vergleich verschiedener ListBox-Einträge
 
Zitat:

du musst das progressbar1.position hinter das begin packen. Ansonsten gilt die vorschleife nur für die Zeile
:thumb: Genau. Am sonsten sollte es gehen.

St.Pauli 20. Mär 2005 11:53

Re: Problem beim Vergleich verschiedener ListBox-Einträge
 
OK, hab jetzt die ProgressBar in das begin getan. War ein Flüchitgkeitsfehler. Hatte mich bei der Fehlersuche zu stark auf
Delphi-Quellcode:
  s1 := ListBox4.Items[i];
          s2 := ListBox2.Items[i2];
          if (s1 = s2) then
konzentriert....

SirThornberry 20. Mär 2005 11:56

Re: Problem beim Vergleich verschiedener ListBox-Einträge
 
und funktionierts jetzt so wie du es wolltest?

St.Pauli 20. Mär 2005 12:09

Re: Problem beim Vergleich verschiedener ListBox-Einträge
 
Ja, THX!!! :thumb: :thumb: :thumb:


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