Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#11

Re: Probleme mit ExtractFileName

  Alt 29. Mär 2006, 12:05
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
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?
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;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat