Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.063 c
15-1274335111
AKE
2010-05-20 09:58
2010.08.27
Идея консольной операционки(или рабочего стола).


2-1268313251
Rail
2010-03-11 16:14
2010.08.27
Поле Edit


15-1271933235
Den
2010-04-22 14:47
2010.08.27
Процессы


15-1271958315
TUser
2010-04-22 21:45
2010.08.27
Оппозиции на заметку


2-1267706023
А№
2010-03-04 15:33
2010.08.27
Приобразовать любой бинарный символ в код





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский