Q&A

  • shelllistview에 찾은 파일을 보여주고 싶어여~
델파이 6.0에 sample vcl이 추가가 되었더군요~
신기하기두 하구 새로나왔길래 한번 사용해봤거든요.
기존이 탐색기처럼 폼을 만들고 거기에 파일찾기 기능을
넣었거든요
파일찾기 버튼을 눌렀을때 파일을 찾은 후 shelllistview에 찾은
파일 목록을 보여줘야 하는데 listview가 보여주질 않고 있슴다
debug를 해보면 파일을 찾긴 찾았거든요?
고수님들 ~ 부탁해요

procedure TForm2.btnOKClick(Sender: TObject);
var
  sr: TSearchRec;
  NewItem: TListItem;
begin
  ShellListView1.Clear;
  if FindFirst(SearchDir + edFileName.Text, faAnyFile, sr) <> 0 then
    ShowMessage(SearchDir + edFileName.Text + '파일 찾기 중 에러')
  else begin
    if ShellListView1.Items.Item[0] = nil then
    begin
      NewItem := ShellListView1.Items.Add;

      NewItem.Caption := sr.Name;
      NewItem.SubItems.Add( IntToStr(sr.Size) );
      case sr.Attr of
       $00000001:        NewItem.SubItems.Add( 'Read-only files' );
       $00000002:        NewItem.SubItems.Add( 'Hidden files   ' );
       $00000004:        NewItem.SubItems.Add( 'System files   ' );
       $00000008:        NewItem.SubItems.Add( 'Volume ID files' );
       $00000010:        NewItem.SubItems.Add( 'Directory files' );
       $00000020:        NewItem.SubItems.Add( 'Archive files  ' );
       $0000003F:        NewItem.SubItems.Add( 'Any file       ' );
      end;
      NewItem.SubItems.Add( IntToStr(sr.Time) );
      FindClose(sr);
    end
    else
    begin
      ShellListView1.Items.Item[0].Caption := sr.Name;
      ShellListView1.Items.Item[0].SubItems.Strings[0] := IntToStr(sr.Size);
      case sr.Attr of
       $00000001:ShellListView1.Items.Item[0].SubItems.Strings[1] := 'Read-only files' ;
       $00000002:ShellListView1.Items.Item[0].SubItems.Strings[1] := 'Hidden files   ' ;
       $00000004:ShellListView1.Items.Item[0].SubItems.Strings[1] := 'System files   ' ;
       $00000008:ShellListView1.Items.Item[0].SubItems.Strings[1] := 'Volume ID files' ;
       $00000010:ShellListView1.Items.Item[0].SubItems.Strings[1] := 'Directory files' ;
       $00000020:ShellListView1.Items.Item[0].SubItems.Strings[1] := 'Archive files  ' ;
       $0000003F:ShellListView1.Items.Item[0].SubItems.Strings[1] := 'Any file       ' ;
      end;
      ShellListView1.Items.Item[0].SubItems.Strings[2] := IntToStr(sr.Time);
      FindClose(sr);
    end;
  end;
end;
0  COMMENTS
    • 유창원
    • 2002.03.19 04:54
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 유창원
      2002.03.19 07:44
      스스로 해결을 해버렸군요. 아 갈길은 멀고도 험하구나.... 간단한 소스는 자료실에 올라가 있습니다.(78...
    • 정성훈
    • 2002.03.19 03:58
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 최석기
      2002.03.19 04:19
      방법이 두가지 있네요 1. FormatFloat('#,##0',1000) 2. Format('%.0n',[1000.00]
    • 정성훈
      2002.03.19 04:34
      님의 답변 정말 감사합니다. 그런데.. ... var a : String; begin a := '10000'; Edi...
    • 최석기
      2002.03.19 05:16
      이궁... 에러가 뜨면 왜 에러가 뜨는지 함 도움말 찾아보는 습관을 들이는게 좋을 듯 싶네요.. forma...
    • 정성훈
      2002.03.19 06:05
      님 덕분으로.. 문제 해결.. 님 정말 감사해요.^^
    • 미소나눔
      2002.03.19 04:07
      procedure TForm1.Button2Click(Sender: TObject); var   s : string;   n, pos : ...
    • freelab
    • 2002.03.19 03:39
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2002.03.19 05:14
      /////////////////////////////////////////////////////// 속성중에 wordwrap을 False로하세요.
    • 이영석
    • 2002.03.19 03:27
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 공성환
      2002.03.19 03:28
      sum을 하기전에... select sum(nvl(필드값,0))          .... ...
    • BlueSea
    • 2002.03.19 03:25
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 김경록
      2002.03.20 02:24
      DB 서버가 어떤 종류인가여? DB서버가 있는 OS는 어떻게 되는가여?
    • 공성환
      2002.03.19 03:27
      데이타베이스가 어떤건지는 모르지만... 트리거이벤트를 사용해보세요...
    • 염상철
      2002.03.19 19:35
      with query1 do begin       close;      &nb...
    • BlueSea
      2002.03.20 23:50
      답변 해주신 분들 먼저 감사합니다. 근데 트리거는 테이블에 Insert나 update가 될때 발생되는건데 ...
    • 나두초보!!
      2002.03.20 20:28
      마스타, 디테일로.. 퀵리포트에 rbDetail에.. 고객상세 rbSubDetail.... 기타테이블로 자식들의 dat...
    • 김경록
      2002.03.20 02:33
      이건 한몫에 끝내기란 다소 시간이 많이 걸리거나.. 잘 안될 소지가 보이네여.. 델파이6에서는 어떻게 지...
    • 문상준
    • 2002.03.19 02:25
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 칼리
      2002.03.19 02:49
      같은 네트워크상의 컴터는 실아이피 라는 말이 애매하군요. 공인 고정 IP인지? 아니면 내부에서 사용하...
    • 문상준
      2002.03.19 09:56
      실아피라 함은 고정아이피란 말입니다.. 그리고 핑은 떨어집니다.. reply xxx.xx.xxx.xx 뭐 이런식으...
    • 김기수
      2002.03.19 01:52
      아래와 같이 WideString으로 바꾸면 됩니다.
    • 미소나눔
      2002.03.19 04:04
      procedure TForm1.Button1Click(Sender: TObject); var   n, i, max : integer;   ...
    • 김경록
      2002.03.20 02:38
      물론 될것이라 판단됩니다.. (실제로 업무에서도 그렇게 사용한 후에 배포를 했었습니다..) 파라독스도 ...
    • 박성훈
    • 2002.03.19 00:57
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.03.19 04:43
      안녕하세요. 최용일입니다. 흠... .inc파일 보시면 $ifdef 문이 보이실겁니다. 이게 해답이네요... ...
    • Delphi Kim
    • 2002.03.18 22:56
    • 1 COMMENTS
    • /
    • 0 LIKES
    • Delphi Kim
      2002.03.19 00:34
      아쒸.....울 나라를 어케 보구...쩝!!! delphi6에 있는 install shield 버그랍니다... 고쳐달라구 얘...
    • 오범숙
    • 2002.03.18 22:55
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김진석
    • 2002.03.18 21:54
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신동훈
      2002.03.19 06:04
      저도 잘은 모르지만... 델파이 오랫동안 안쓰다고 요즘 다시 쓰기시작하는터라... 혹시 다음과 같이 코...
    • 정진우
    • 2002.03.18 21:39
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2002.03.18 22:32
      //////////////////////////////////////////////////////// 전에도 같은 질문이 있었는데요... FloatToS...
    • 정진우
      2002.03.19 02:44
      설명하신 방법들은 문자열로 표현해주기 위한 방법들이고요~ 계산된 값은 소숫점부분이 이상한것 같습니다...
    • 김동일
    • 2002.03.18 20:53
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박상윤
      2002.03.27 08:53
      pas 파일이있으면 컴파일을 다시 하시면 됩니다... 만약 형이 맞지 안거나 하면... 비슷한 형으로 바궈주...
    • 염상철
    • 2002.03.18 20:33
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 초보임당
      2002.03.18 20:45
      mdi child 불러 올때 제가 쓰는 거고여... mdi child 폼은 프로퍼티에 폼 스타일을 fsMDIChild로 바꾸어 ...
    • 염상철
      2002.03.18 20:51
      일반폼을 불러 오고 싶은건데.. form1.show; form1.showmodal; 을 하면 에러가 나는데 그냥 불러 와 지...
    • 초보임당
      2002.03.18 21:05
      일반 폼은여 ...form style 을 nomal 로 바꾸시고 역시 옵션에서 일단      &n...
    • 장명선
    • 2002.03.18 20:21
    • 0 COMMENTS
    • /
    • 0 LIKES