AGB  ·  Datenschutz  ·  Impressum  







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

Stringlisten vergleichen

Ein Thema von creehawk · begonnen am 6. Jun 2022 · letzter Beitrag vom 6. Jun 2022
Antwort Antwort
Seite 2 von 2     12   
creehawk

Registriert seit: 1. Jul 2013
Ort: Hamburg
241 Beiträge
 
Delphi 10.4 Sydney
 
#11

AW: Stringlisten vergleichen

  Alt 6. Jun 2022, 15:19
So, funktioniert anstandlos und zügig.

Aber warum geht mein Kunstwerk von oben nicht. Okay, mit IndexOf geht es nicht. Also dachte ich eben wenn ich frage, ob der String (also der Dateiname) in dem anderen String(s) enthalten ist oder nicht das er wenn nicht diesen String in die neue Liste schreibt.

SackerlZement.

creehawk
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Stringlisten vergleichen

  Alt 6. Jun 2022, 15:22
Ausgehend vom Code aus Post #1 und der Bemerkung , dass eine Liste den gesamten Pfad enthält. und die andere Liste nur die Dateinamen, sind in deiner CopyList ca. 9.6 Mio Zeilen. Ist dir das bewusst?
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
creehawk

Registriert seit: 1. Jul 2013
Ort: Hamburg
241 Beiträge
 
Delphi 10.4 Sydney
 
#13

AW: Stringlisten vergleichen

  Alt 6. Jun 2022, 15:23
Aha, 9.6 Mill Zeilen. Und das ist mir jetzt nicht bewusst.

Ich sage ja, da ist was faul. Und jetzt: WAS?

creehawk
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Stringlisten vergleichen

  Alt 6. Jun 2022, 15:26
Da dein Vergleich *nie* stimmt, fügst du 3049 * 3293 Zeilen der CopyList hinzu.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#15

AW: Stringlisten vergleichen

  Alt 6. Jun 2022, 15:30
Versuche doch mal zum Test, deine Dateien so zu kürzen, damit du nur 2-3 Zeilen hast. Dann wirst du bestimmt sehen, was Jürgen meint.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#16

AW: Stringlisten vergleichen

  Alt 6. Jun 2022, 15:32
IndexOf und Find nutzen die interne Vergleichsmethode,
welche man natürlich auch überschreiben und somit ändern kann.
Delphi-Referenz durchsuchenTStringList.CompareStrings

z.B. mit einem ExtractFileName




und bei canz vielen ADD könnte man vorher noch Capacity setzen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 6. Jun 2022 um 15:34 Uhr)
  Mit Zitat antworten Zitat
creehawk

Registriert seit: 1. Jul 2013
Ort: Hamburg
241 Beiträge
 
Delphi 10.4 Sydney
 
#17

AW: Stringlisten vergleichen

  Alt 6. Jun 2022, 15:33
Wie gesagt also, erste Post:

If AnsiPos(STR,DDSList.Strings[II]) = 0 dann aufschreiben

Wenn der STR (also ein Dateiname) im aktuellen String der DDSList NICHT enthalten ist dann...

Aja, natürlich.

Das muss ich jetzt erstmal ventilieren.

creehawk
  Mit Zitat antworten Zitat
creehawk

Registriert seit: 1. Jul 2013
Ort: Hamburg
241 Beiträge
 
Delphi 10.4 Sydney
 
#18

AW: Stringlisten vergleichen

  Alt 6. Jun 2022, 15:48
So, kurzer Überschlag, jetzt habe ich das verstanden.

Bevor ich mich nun in mein Schwert stürze wegen verschärfter Begriffstutzigkeit möchte ich mich für die Hilfestellungen bedanken.

Ade, du schnöde Programmierwelt.

creehawk
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#19

AW: Stringlisten vergleichen

  Alt 6. Jun 2022, 16:02
Zitat:
Warum OutOfMemory
Wo?


Beim Laden einer Datei in eine TStringList braucht man vorübergehend bis zum 5-fachen der Dateigröße.
Und das Doppelte bis Dreifache auch noch an einem Stück, was bei 32 Bit effektiv durchschnittlich nur bis zu 800MB sind.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 01:55 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