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;