Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Listbox ohne Anzeige für TStrings

  Alt 11. Dez 2007, 19:07
Moin Marcel,

ein paar Sachen, die mir so aufgefallen sind:

Das
if Path[Length(Path)] <> '\then Path := Path + '\' geht schief, wenn Path leer ist.

Zwei Lösungsansätze:

Delphi-Quellcode:
Path := IncludeTrailingPathDelimiter(Path);
// oder
if (Length(Path) > 0) and (Path[Length(Path)] <> '\') then Path := Path + '\';
Ausserdem noch etwas, das definitiv falsch ist:

(Search.Name[1] <> '.') filtert auch gültige Verzeichnisnamen heraus.
Du musst explizit auf

(Search.Name <> '.') and (Search.Name <> '..') prüfen, da ein Datei-/Verzeichnisname durchaus mit einem . beginnen kann.

List würde ich auch nicht als Wert- sondern als Const-Parameter übergeben, damit man nicht versehentlich bei einer Überarbeitung List einen Wert zuweist, und sich dann anschliessend wundert, warum man kein Ergebnis zurück erhält.

Ich für meinen Teil verwende sogar ausschliesslich Var- oder Const-Parameter
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat