Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Finde den fehler nicht (https://www.delphipraxis.net/5110-finde-den-fehler-nicht.html)

City Light 24. Mai 2003 01:20


Finde den fehler nicht
 
bin ich zu blöd oder was ,aber ich finde den nicht... :wall:
Delphi-Quellcode:
procedure GetFileList(const Path: String; const Extensions: String; FileList: TStrings);
var
  SR: TSearchRec;
begin
  if FindFirst(Path + '*.*', faAnyFile, SR) = 0 then
  try
    repeat
      if (SR.Attr and faDirectory) > 0 then
      begin
        if SR.Name[1] <> '.' then
          GetFileList(Path + SR.Name + '\', Extensions, FileList);
      end
      else
      if Pos(UpperCase(ExtractFileExt(SR.Name)), Extensions) > 0 then
        FileList.Add(Path + SR.Name);
    until
      FindNext(SR) <> 0;
  finally
    FindClose(SR);
  end;
end;
[Fehler] Unit1.pas(41): Anweisung erforderlich, aber Ausdruck vom Typ 'Integer' gefunden

CalganX 24. Mai 2003 01:42

Delphi-Quellcode:
if Pos(UpperCase(ExtractFileExt(SR.Name)), Extensions) > 0 then
Da fehlt for dem > eine )...

Chris

City Light 24. Mai 2003 01:50

nein auch nicht jeden fals bei mir nicht ,hab es jetzt so gemacht ,und es geht jetzt

Delphi-Quellcode:
if Pos(UpperCase(ExtractFileExt(SR.Name)), Extensions) > 0 then
        FileList.Append(Path + SR.Name);

Christian Seehase 24. Mai 2003 14:06

Moin Tino,

diese Abfrage ist falsch.

Delphi-Quellcode:
if SR.Name[1] <> '.' then ...
Du musst explicit auf <> '.' und <> '..' prüfen, denn es ist durchaus zulässig, dass Verzeichnis- / Dateinamen mit einem Punkt beginnen.

Eventuell solltest Du statt UpperCase lieber AnsiUpperCase verwenden, damit auch Umlaute korrekt umgewandelt werden.

City Light 24. Mai 2003 18:34

Danke für den Tipp :)


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