请教如何打开多个文件的属性对话框 |
尚未結案
|
pcsoftdiy
一般會員 發表:8 回覆:14 積分:4 註冊:2005-03-30 發送簡訊給我 |
下面的程式在每个文件中隔一个#0,最后用#0#0结尾,但程序执行不对头,请教各位前辈,如何能打开多个文件的属性框?
procedure TForm1.photopropertyClick(Sender: TObject);
var
s:string;
i:integer;
begin
if ListView1.SelCount = 0 then Exit;
s:='';
for i:=0 to listview1.items.count-1 do
if listview1.Items[i].selected then
s:=s #0 listview1.Selected.SubItems[6] '\' ListView1.Selected.Caption; delete(s,1,1); fileproperties(s);
end; procedure TForm1.FileProperties(FName: string);
var
SEI: SHELLEXECUTEINFO;
ilen:Integer;
begin ilen:=Length(fname) 2;
fname:=FName #0#0;
with SEI do
begin
cbSize := SizeOf(SEI);
fMask := SEE_MASK_NOCLOSEPROCESS or SEE_MASK_INVOKEIDLIST or
SEE_MASK_FLAG_NO_UI;
Wnd := Application.Handle;
lpVerb := 'properties';
lpfile:=StrAlloc (ilen);
Move(fname[1],lpfile,ilen);
// StrCopy (lpFile ,PChar(FName));
// lpFile := PChar(FName);
lpParameters := nil;
lpDirectory := nil;
nShow := 0;
hInstApp := 0;
lpIDList := nil;
end;
ShellExecuteEx(@SEI); end;
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
> 下面的程式在每個檔中隔一個#0,最後用#0#0結尾
聽不懂 > 但程式執行不對頭
錯誤訊息是什麼 ? 因為只有部份程式碼,又不清楚問題, 只能回答如下 : 1.請問 ListView 上的資料是什麼 ? 2. 修改這裡
//procedure TForm1.FileProperties(FName: string);
procedure FileProperties(FName: string); 3. procedure FileProperties(FName: string); 這個程序搬到 procedure TForm1.photopropertyClick(Sender: TObject); 的上方 4. uses 要加上 ShellAPI
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, ShellAPI; type TForm1 = class(TForm) photoproperty: TButton; ListView1: TListView; procedure photopropertyClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} //procedure TForm1.FileProperties(FName: string); procedure FileProperties(FName: string); var SEI: SHELLEXECUTEINFO; ilen:Integer; begin ilen:=Length(fname) 2; fname:=FName #0#0; with SEI do begin cbSize := SizeOf(SEI); fMask := SEE_MASK_NOCLOSEPROCESS or SEE_MASK_INVOKEIDLIST or SEE_MASK_FLAG_NO_UI; Wnd := Application.Handle; lpVerb := 'properties'; lpfile:=StrAlloc (ilen); Move(fname[1],lpfile,ilen); // StrCopy (lpFile ,PChar(FName)); // lpFile := PChar(FName); lpParameters := nil; lpDirectory := nil; nShow := 0; hInstApp := 0; lpIDList := nil; end; ShellExecuteEx(@SEI); end; procedure TForm1.photopropertyClick(Sender: TObject); var s:string; i:integer; begin if ListView1.SelCount = 0 then Exit; s:=''; for i:=0 to listview1.items.count-1 do if listview1.Items[i].selected then s:=s #0 listview1.Selected.SubItems[6] '\' ListView1.Selected.Caption; delete(s,1,1); fileproperties(s); end; end.********************* 如果您滿意答案,請結案 *********************
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案! 子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |