Schleifenprobleme

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Benutzeravatar
kralle
Lazarusforum e. V.
Beiträge: 1202
Registriert: Mi 17. Mär 2010, 14:50
OS, Lazarus, FPC: Manjaro Linux, Mint und Windows 10 ,Lazarus 3.99, FPC-Version: 3.3.1
CPU-Target: 64Bit
Wohnort: Bremerhaven
Kontaktdaten:

Schleifenprobleme

Beitrag von kralle »

Moin,

ich stehe mir gerade gerade scheinbar selber im Weg und sehe vor lauter Bäumen nicht den Wald.

Geben ist diese Liste;
Dateinamenliste.png
Dateinamenliste.png (55.29 KiB) 1153 mal betrachtet
Wenn die Dateinamen von Links bis zum "DAU" gekürzt werden, dann sind Zeile 8 und 14 gleich und da sollte die Meldung erscheinen - macht sie aber nicht.
code.png
code.png (36.69 KiB) 1153 mal betrachtet
(Copy&Paste aus der VM will nicht)

Im Memo kann ich sehen das die Kombination 8/14 wird durchlaufen wird.

Wieso wird die Message nicht ausgegeben?

Gruß Kralle
OS: MX Linux, Linux Mint und Windows 10
FPC-Version: 3.3.1 , Lazarus 3.99
+ Delphi XE7SP1

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6808
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Schleifenprobleme

Beitrag von af0815 »

kralle hat geschrieben: Mo 30. Sep 2024, 21:25 Im Memo kann ich sehen das die Kombination 8/14 wird durchlaufen wird.
Wieso wird die Message nicht ausgegeben?
Lass dir nicht einfach nur 8/14 ausgeben, sondern mit Begrenzerzeichen auch den Inhalt der beiden abgefragten Strings, weil wie du die Strings kürzt zeigts du ja nicht.

Vor allen, lege beide Strings auf lokale Variablen und setzt dir einen Breakpoint, dann steppe hin und kontrollliere ob nicht die Routine zum kürzen ein problem hat, oder du einfach über ein Leerzeichen (oder ähnlich) als Unterschied stolperst. Ich mache neben dem Lowercase auch noch gerne ein Trim, damit sowas ausgeschlossen wird. Besonders bei Datenbanken kann man sich sonst einen Wolf suchen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

wp_xyz
Beiträge: 5160
Registriert: Fr 8. Apr 2011, 09:01

Re: Schleifenprobleme

Beitrag von wp_xyz »

kralle hat geschrieben: Mo 30. Sep 2024, 21:25 Wenn die Dateinamen von Links bis zum "DAU" gekürzt werden, [...]
Das machst du in dem Code aber nicht, du vergleichst nur die kompletten Zell-Strings. Oder bin ich mal wieder komplett blind?

Soner
Beiträge: 732
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: Schleifenprobleme

Beitrag von Soner »

Du hast zu kurze Codeabschnitt mitgeteilt.
Ich denke, dass du die gekürzten Dateinamen in die zweite Spalte mit dem Namen "Gekürzter Dateinmae" kopierst, aber die Vergleiche immer noch mit der ersten Spalte machst:
lowercase(StringGrid1.Cells[0,durchlauf])=lowercase(StringGrid1.Cells[0,innereschleife]).

Versuche das:
lowercase(StringGrid1.Cells[1,durchlauf])=lowercase(StringGrid1.Cells[1,innereschleife]).

Rheinländer
Beiträge: 6
Registriert: Di 1. Okt 2024, 13:05

Re: Schleifenprobleme

Beitrag von Rheinländer »

Hallo kralle, wie ich es in der Liste (Dateinamelist.png) sehe, ist die Zeile 8 und 14 nicht gleich. Schon das erste Zeichen ist unterschiedlich.

Benutzeravatar
Zvoni
Beiträge: 378
Registriert: Fr 5. Jul 2024, 08:26
OS, Lazarus, FPC: Windoof 10 Pro (Laz 2.2.2 FPC 3.2.2)
CPU-Target: 32Bit
Wohnort: BW

Re: Schleifenprobleme

Beitrag von Zvoni »

Rheinländer hat geschrieben: Di 1. Okt 2024, 13:11 Hallo kralle, wie ich es in der Liste (Dateinamelist.png) sehe, ist die Zeile 8 und 14 nicht gleich. Schon das erste Zeichen ist unterschiedlich.
Was ist an dem hier denn nicht zu verstehen?
Wenn die Dateinamen von Links bis zum "DAU" gekürzt werden,
Soner hat schon das mutmassliche Problem erkannt: Kralle vergleicht die Original-Strings, anstatt die "gekürzten"
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.

Rheinländer
Beiträge: 6
Registriert: Di 1. Okt 2024, 13:05

Re: Schleifenprobleme

Beitrag von Rheinländer »

Hallo Zvoni,
du hast recht. Eine Methode zum kürzen des String ist nicht vorhanden. Jetzt kommt das schöne ABER wenn die Methode da wäre, dann würde es trotzdem nicht gleich sein.

Benutzeravatar
kralle
Lazarusforum e. V.
Beiträge: 1202
Registriert: Mi 17. Mär 2010, 14:50
OS, Lazarus, FPC: Manjaro Linux, Mint und Windows 10 ,Lazarus 3.99, FPC-Version: 3.3.1
CPU-Target: 64Bit
Wohnort: Bremerhaven
Kontaktdaten:

Re: Schleifenprobleme

Beitrag von kralle »

Moin,

die "Kürzen-Routine" funktioniert, wie wir in Wittenberg sehen konnten :P

Soner hat natürlich recht, ich habe die falsche Spalte genutzt. Danke.
Mit Angabe der richtigen Spalte, funktioniert es.

Jetzt muss ich noch die Zeilen mit den Doppelten farbig markieren und "ShowMessage" nur einmal ausgeben, egal wie viele Doppelte es gibt.
Und die Logik von den visuellen Komponenten trennen :lol:

Danke für Eure Hilfe.

Gruß Heiko
OS: MX Linux, Linux Mint und Windows 10
FPC-Version: 3.3.1 , Lazarus 3.99
+ Delphi XE7SP1

Antworten