|
#1
|
|||
|
|||
treeview
Скачал с этого сайта исходник к программе, которая сканирует виндовс и в древе показывает папки. А как сделать, чтобы и файлы показывало?
|
#2
|
||||
|
||||
Мне с трудом удалось решить проблему с построением дерева, перехода и чтобы не глючило. Вот кусок кода
Procedure TForm1.ShowFiles(Dir:String); var ListItem: TListItem; sr: tsearchrec; NewColumn: TListColumn; ImgList:TImageList; A:TDateTime; begin While Dir[Length(Dir)]='\' Do Delete(Dir,Length(Dir),1); ListView1.Items.Clear; if FindFirst(Dir+'\*.*', faAnyFile, sr) = 0 then begin FindNext(sr); ListItem := ListView1.Items.Add; // создается объект ListItem.Caption := sr.name; If (sr.Attr And faDirectory)<>0 Then ListItem.ImageIndex:=0 Else ListItem.ImageIndex:=1; ListItem.SubItems.Add(inttostr(sr.Size)); //ListItem.SubItems.Add(datetimetostr(FileDateToDate Time(sr.time))); If sr.Name<>'..' Then A:=FileDateToDateTime(FileCreationTime(Dir+'\'+Sr. Name)) Else A:=FileDateToDateTime(FileCreationTime((Dir))); ListItem.SubItems.Add(DateTimeToStr(A)); If sr.Name<>'..' Then A:=FileDateToDateTime(FileModifyTime(Dir+'\'+Sr.Na me))Else A:=FileDateToDateTime(FileCreationTime((Dir))); ListItem.SubItems.Add(DateTimeToStr(A)); If sr.Name<>'..' Then A:=FileDateToDateTime(FileAccessTime(Dir+'\'+Sr.Na me))Else A:=FileDateToDateTime(FileCreationTime((Dir))); ListItem.SubItems.Add(DateTimeToStr(A)); ListItem.SubItems.Add(GetAttributesAsString(sr.Att r)); while FindNext(sr) = 0 do begin ListItem := ListView1.Items.Add; ListItem.Caption := sr.name; If (sr.Attr And faDirectory)<>0 Then ListItem.ImageIndex:=0 Else ListItem.ImageIndex:=1; ListItem.SubItems.Add(inttostr(sr.size)); If sr.Name<>'..' Then A:=FileDateToDateTime(FileCreationTime(Dir+'\'+Sr. Name)) Else A:=FileDateToDateTime(FileCreationTime((Dir))); ListItem.SubItems.Add(DateTimeToStr(A)); If sr.Name<>'..' Then A:=FileDateToDateTime(FileModifyTime(Dir+'\'+Sr.Na me)) Else A:=FileDateToDateTime(FileCreationTime((Dir))); ListItem.SubItems.Add(DateTimeToStr(A)); If sr.Name<>'..' Then A:=FileDateToDateTime(FileAccessTime(Dir+'\'+Sr.Na me)) Else A:=FileDateToDateTime(FileCreationTime((Dir))); ListItem.SubItems.Add(DateTimeToStr(A)); ListItem.SubItems.Add(GetAttributesAsString(sr.Att r)); end; FindClose(sr); end; End; — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
||||
|
||||
Показывает свойства, даты и ... сам разберешся.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |