Schleifenprobleme
- 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
Moin,
ich stehe mir gerade gerade scheinbar selber im Weg und sehe vor lauter Bäumen nicht den Wald.
Geben ist diese Liste; 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. (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
ich stehe mir gerade gerade scheinbar selber im Weg und sehe vor lauter Bäumen nicht den Wald.
Geben ist diese Liste; 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. (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
FPC-Version: 3.3.1 , Lazarus 3.99
+ Delphi XE7SP1
- 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
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.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?
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).
Re: Schleifenprobleme
Das machst du in dem Code aber nicht, du vergleichst nur die kompletten Zell-Strings. Oder bin ich mal wieder komplett blind?kralle hat geschrieben: Mo 30. Sep 2024, 21:25 Wenn die Dateinamen von Links bis zum "DAU" gekürzt werden, [...]
-
- 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
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]).
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]).
-
- Beiträge: 6
- Registriert: Di 1. Okt 2024, 13:05
Re: Schleifenprobleme
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.
- 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
Was ist an dem hier denn nicht zu verstehen?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.
Soner hat schon das mutmassliche Problem erkannt: Kralle vergleicht die Original-Strings, anstatt die "gekürzten"Wenn die Dateinamen von Links bis zum "DAU" gekürzt werden,
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.
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
-
- Beiträge: 6
- Registriert: Di 1. Okt 2024, 13:05
Re: Schleifenprobleme
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.
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.
- 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
Moin,
die "Kürzen-Routine" funktioniert, wie wir in Wittenberg sehen konnten
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
Danke für Eure Hilfe.
Gruß Heiko
die "Kürzen-Routine" funktioniert, wie wir in Wittenberg sehen konnten

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

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
FPC-Version: 3.3.1 , Lazarus 3.99
+ Delphi XE7SP1