Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Probleme mit ExtractFileName (https://www.delphipraxis.net/66357-probleme-mit-extractfilename.html)

himitsu 29. Mär 2006 11:05

Re: Probleme mit ExtractFileName
 
Zitat:

Delphi-Quellcode:
if (length(s1) > 0) and (length(s2) > 0) then
  if s1[1] > s2[1] then

Verwende doch statt Length(S) besser S <> '' ... das ist etwas optimaler von der Codegröße und Rechenzeit her ;)

Also
Delphi-Quellcode:
if (s1 <> '') and (s2 <> '') then
  if s1[1] > s2[1] then
oder in Kurz
Delphi-Quellcode:
if (s1 <> '') and (s2 <> '') and (s1[1] > s2[1]) then

PS: so wie es aussieht, willst du doch die Dateien nach ihrem Namen sortieren, warum dann also nicht gleich nach dem vollem Namen und nicht nur nach dem ersten Buchstaben?
Delphi-Quellcode:
if s1 > s2 then
PSS:
eventuell macht sich auch noch ein etwas efektiverer SortierAlgo nicht schlecht ^^
Delphi-Quellcode:
procedure TfrmPlayer.btnSortClick(Sender: TObject);
var
  z1, z2 : LongInt;
  Speicher : TFileName;
  s1, s2 : String;
begin
  For z1 := 0 To High(FileNames) - 1 do
    For z2 := z1 + 1 To High(FileNames) do
    begin
      s1 := ExtractFileName(FileNames[z1]);
      s2 := ExtractFileName(FileNames[z2]);
      if (s1 <> '') and (s2 <> '') and (s1[1] > s2[1]) then
      begin
        Speicher := FileNames[z1];
        FileNames[z1] := FileNames[z2];
        FileNames[z2] := Speicher;
      end;
    end;

  lbxFiles.Clear;
  For z := 0 To Length(FileNames) - 1 do
    lbxFiles.Items.Add(ExtractFileName(FileNames[z]));
end;
Delphi-Quellcode:
procedure TfrmPlayer.btnSortClick(Sender: TObject);
var
  z1, z2 : LongInt;
  Speicher : TFileName;
begin
  For z1 := 0 To High(FileNames) - 1 do
    For z2 := z1 + 1 To High(FileNames) do
      if ExtractFileName(FileNames[z1]) > ExtractFileName(FileNames[z2]) then
      begin
        Speicher := FileNames[z1];
        FileNames[z1] := FileNames[z2];
        FileNames[z2] := Speicher;
      end;

  lbxFiles.Clear;
  For z := 0 To Length(FileNames) - 1 do
    lbxFiles.Items.Add(ExtractFileName(FileNames[z]));
end;

Cyberbob 29. Mär 2006 16:00

Re: Probleme mit ExtractFileName
 
Ich hab das ganze mal als beispiel für meine Klassenkameraden geschrieben. die sind nicht so fit wie wir hier im forum.

Die Sollen es ja auch verstehen.


Problem gelöst, es lag an einer komponente!


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:03 Uhr.
Seite 2 von 2     12   

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