Mit deiner Verschiebung kann ich nichts anfangen.
DirsFiles scheint mir ein Array zu sein. Die Anzahl der darin enthaltenen Items ist Length(DirsFiles) - mehr geht nicht. Also übernimmst du diesen Wert für die ListItems.
Delphi-Quellcode:
procedure TRazFileManager.Liste(Directory : String; Recursive, ClearList : Boolean);
begin
[...]
LV.Items.Count := Length(DirsFiles);
end;
procedure TRazFileManager.LVData(Sender: TObject; Item: TListItem);
begin
with Item do
begin
// bei 0-basiertem Array:
Caption := Format('%s < %d', [DirsFiles[Index].Name, Index]);
// ansonsten allgemein:
Caption := Format('%s < %d', [DirsFiles[Index + Low(DirsFiles)].Name, Index]);
//SubItems.Add(...);
end;
end;
So müsste das nach meinem Verständnis aussehen, wenn die Zahl der ListItems mit der Zahl der Items in DirsFiles übereinstimmt.