Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Поиск и открытие файлов   Найти похожие ветки 

 
Semen   (2010-05-30 22:48) [0]

Добрый вечер! Подскажите, что не правильно. По окончанию поиска файлов в указанной директории, список формируется в Listbox1,
откуда я могу просмотреть их с помощью проводника:

unit Shearh_4;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,
 ExtCtrls, ShellApi, ComCtrls;

type
 TForm1 = class(TForm)
   Edit1: TEdit;
   ComboBox1: TComboBox;
   ComboBox2: TComboBox;
   Button1: TButton;
   Button2: TButton;
   Button3: TButton;
   Button4: TButton;
   ListBox1: TListBox;
   StatusBar1: TStatusBar;
   Label1: TLabel;
   Label2: TLabel;
   Label3: TLabel;
   procedure ListBox1Click(Sender: TObject);
   procedure ListBox1DblClick(Sender: TObject);
   procedure FormShow(Sender: TObject);
   procedure Edit1KeyPress(Sender: TObject; var Key: Char);
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
   procedure Button3Click(Sender: TObject);
   procedure Button4Click(Sender: TObject);
   procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
   procedure ComboBox2KeyPress(Sender: TObject; var Key: Char);

 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.DFM}
procedure ScanDir(StartDir: string; FileNam: string);
var  SearchRec : TSearchRec;  
begin
   if StartDir[Length(StartDir)] <> "\" then  
        StartDir := StartDir + "\";
   try
   if FindFirst(StartDir+FileNam, faAnyFile, SearchRec) = 0 then
   repeat
       if (SearchRec.Attr and faDirectory) <> faDirectory then begin
           form1.listbox1.Items.BeginUpdate;
           form1.listbox1.items.add(StartDir+SearchRec.Name);
           form1.StatusBar1.SimpleText:=" Total: "+inttostr(form1.listbox1.items.capacity);
           form1.StatusBar1.Repaint;
           form1.listbox1.items.endupdate;

         end;
   until FindNext(SearchRec) <> 0;FindClose(SearchRec);

   except end;
   {разделение по каталогам}
   if FindFirst(StartDir+"*", faAnyFile, SearchRec) = 0 then
   try
   repeat
       if (SearchRec.Attr and faDirectory) = faDirectory then
       if (SearchRec.Name <> "..")
           and (SearchRec.Name <> ".") then
       begin
           ScanDir(StartDir + SearchRec.Name + "\", FileNam);
       end;
   until FindNext(SearchRec) <> 0;FindClose(SearchRec);
   except
   end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var path:string;
begin
path:=extractfiledir(Listbox1.Items[ListBox1.ItemIndex]);
ShellExecute(0,"explore",PAnsiChar(path),nil,nil,SW_SHOW);

end;

Однако открыть файлы ворд (у меня офис 2003) с помощью той же конструкции не получается:

procedure TForm1.Button2Click(Sender: TObject);
var path:string;
begin
path:=extractfiledir(Listbox1.Items[ListBox1.ItemIndex]);
ShellExecute(0,"Open","Document.Doc",nil,nil,SW_SHOWNORMAL);

end;

Почему?


 
Jeer ©   (2010-05-30 22:55) [1]

"Document.Doc"

А он существует ?


 
Semen   (2010-05-30 23:01) [2]


> "Document.Doc"
>
> А он существует?
</ I>
Конечно! Список вордовских файлов формируется в списка ListBox1, откуда я их и пытаюсь открыть:

Процедура TForm1.ListBox1Click (Sender: TObject);
начинать
button2.Enabled: = True;
цели;

Процедура TForm1.ListBox1DblClick (Sender: TObject);
начинать
button2.click;
цели;


 
Плохиш ©   (2010-05-31 02:22) [3]


> Однако открыть файлы ворд (у меня офис 2003) с помощью той
> же конструкции не получается:
>


> ShellExecute(0,"Open","Document.Doc",nil,nil,SW_SHOWNORMAL);

Надо открывать свои файлы там, где они лежат, а не там, где ты с фонариком стоишь.


 
Демо ©   (2010-05-31 02:22) [4]

Сравни:


> ShellExecute(0,"explore",PAnsiChar(path),nil,nil,SW_SHOW);


и


> ShellExecute(0,"Open","Document.Doc",nil,nil,SW_SHOWNORMAL);


 
Германн ©   (2010-05-31 02:35) [5]

Не надо искать ответы в И-нете. Надо искать в книжках и справке.


 
Anatoly Podgoretsky ©   (2010-05-31 07:03) [6]


> Semen   (30.05.10 23:01) [2]

Еще раз, а он существует ?
Только подумай, прежде чем отвечать.


 
Anatoly Podgoretsky ©   (2010-05-31 07:03) [7]


> Германн ©   (31.05.10 02:35) [5]

Тут не искать надо, а думать.


 
Semen   (2010-05-31 16:35) [8]


> Не надо искать ответы в И-нете. Надо искать в книжках и
> справке.

Дайте ссылку на источник, плиз!


 
Semen   (2010-05-31 16:50) [9]

Спасибо всем за участие, всё получилось!



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.056 c
15-1275393586
bss
2010-06-01 15:59
2010.08.27
Отключить скрол у TComboBox


2-1274950789
dalex
2010-05-27 12:59
2010.08.27
Tframe


2-1266411889
Сосиськин
2010-02-17 16:04
2010.08.27
Помогите разобрать с запросом


2-1268626597
NBAH1990
2010-03-15 07:16
2010.08.27
Как сделать исчезающую панель?


15-1270632270
Валерий М.
2010-04-07 13:24
2010.08.27
MySQl Server 4