Hallo,
ich habe ein ListView, bei dem in der zweiten Spalte (also Columns[1]) die Größe der Dateien angezeigt wird. Allerdings formatiert, sodass dahinter auch noch B, KB, MB oder GB steht.
Mein Problem ist, dass auch Ordner angezeigt werden, und von denen nicht die Größe. Wenn ich die Dateien jetzt nach Größe sortieren will bekomme ich den Fehler
| Zitat: |
| '' is not valid integer value! |
Jetzt will ich das ganze über try..except abfangen, aber ich weiß nicht, was ich bei der except-anweisung hinschreiben soll... Kann mir das jemand sagen?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer); var ix: Integer; begin if ColumnToSort = 0 then Compare := not (CompareText(Item1.Caption,Item2.Caption)) else begin ix := ColumnToSort - 1; if ColumnToSort = 1 then try Compare := CompareValue(StrToInt(Copy(Item1.SubItems[ix],1,Pos(#20, Item1.SubItems[ix]))), StrToInt(Copy(Item2.SubItems[ix],1,Pos(#20, Item1.SubItems[ix])))); except on Exception do end else Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]); end; if columnclicks mod 2 = 0 then compare := not compare; end; |