線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1393
推到 Plurk!
推到 Facebook!

请教如何打开多个文件的属性对话框

尚未結案
pcsoftdiy
一般會員


發表:8
回覆:14
積分:4
註冊:2005-03-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-22 22:31:42 IP:61.155.xxx.xxx 未訂閱
下面的程式在每个文件中隔一个#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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-31 11:26:39 IP:210.69.xxx.xxx 未訂閱
> 下面的程式在每個檔中隔一個#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.    
********************* 如果您滿意答案,請結案 *********************
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
系統時間:2024-11-25 22:25:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!