listview - Ignore item in FileList Delphi -
i'm making simple file manager, using delphi. use listview
show folders , files , use filelist
(it's not visible) files , folders names directory.
the problem want not include [.]
element (it's symbol of current dir, don't know why delphi's filelist
shows it) in listview. but, when try ignore it(here's code)
procedure tfolderframe.showfiles; var i: integer; size: int64; filename, extension: string; begin edt1.text := currentfullpath; lvlistview.clear; fllstfiles.directory := currentfullpath; := 0 fllstfiles.items.count-1 begin filename := fllstfiles.items.strings[i]; extension := uppercase(extractfileext(filename)); size := dsifilesize(filename); delete(extension, 1, 1); if (filename <> '[.]') begin //error apperas @ line! if (not(isdirectory(filename))) begin lvlistview.items.add.caption := filename; lvlistview.items[i].subitems.add(inttostr(size)); lvlistview.items[i].subitems.add(extension); lvlistview.items[i].imageindex := getitemimage(filename, extension); end else begin delete(filename, 1, 1); delete(filename, length(filename), 1); lvlistview.items.add.caption := filename; lvlistview.items[i].imageindex := getitemimage(filename, extension); end; end; end; end;
an error appers
access violation @ address 004634df in module file_manager.exe. read of adress 00000010
what i've done wrong?
you're not adding item in each iteration in loop. when skip [.]
, should av lvlistview.items[i]
in next iteration, because index of item added i-1
. resolve, keep reference item add , work on it.
var .. item: tlistitem; begin .. item := lvlistview.items.add; item.caption := filename; item.subitems.add(inttostr(size)); item.subitems.add(extention); item.imageindex := getitemimage(filename, extention); ..
Comments
Post a Comment