如何制作playlist!(倾家荡产寻找答案!!!)急急急!!(100分)

  • 主题发起人 主题发起人 suyude
  • 开始时间 开始时间
S

suyude

Unregistered / Unconfirmed
GUEST, unregistred user!
请看
问题1:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=920314
问题2:
如何才能制作一个象这个图片一模一样的treeview呢?
图片地址: http://www.yd123.com/cncg/shelltreeview.jpg

请大侠帮忙!
 
在你硬盘的目录里,你可以找到我的文档这一部分的内容,
然后利用API函数,你可以找到我的电脑里的所有磁盘符号,包括网络驱动器在内
去找一下大本营,你可以找到关于如何枚举 网络资源(网上邻居)的例子,不过
比较复杂,
也就是说,到现在为止,所有的内容都已经有着落了,所以应该手工加入下面的几项
Desktop
My Computer
Mydo
cument
......
//这里还可以加入你要的桌面上所有内容
现在,你需要捕捉鼠标双击事件,记下是那个项目,然后根据不同的项目去相应的地方
用相应的方法查找子目录和文件,然后作为一个项目加进去
你不能一开始就把所有的内容加入,只能在打开该父项时枚举它的一级子项目。
查找方法如下:
FindFirst // *.* matched
找到?? then
until FindNext返回找不到为止,
相应的查找方法在论坛里也有,或者你自己找一下
剩下的就是图标了,有现成的api函数可以很容易提取所有文件的默认图标,包括
快捷方式也一样,找找吧
你这个镇是个跟大的玩艺,用到的API函数不会少于30条

 
TO lvxq

兄弟,我刚学delphi,所以不太懂啊~~有没有完全可以用的代码呀?

谢谢!!
 
问题2:

uses FileCtrl;

var
d:string;
begin

SelectDirectory('select directory','',d);
end;

 
to lvxq
呵呵,别吓着人家,这么个功能就要30个API,当饭吃啊
 
interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
Sp:string;//SearchPath;
sl:TStringList;
function Exists(s:string):Boolean;
public
{ Public declarations }
end;


var
Form1: TForm1;

implementation

{$R *.dfm}
function TForm1.Exists(s:string):Boolean;
var i:Integer;
b:Boolean;
begin

b:=false;
for i:=0 to sl.Count-1do

begin

if sl=s then

begin

b:=true;
break;
end;

end;

result:=b;
end;


procedure TForm1.Button1Click(Sender: TObject);
var sr:TSearchRec;

begin

FindFirst(sp,faAnyFile,sr);
FindNext(sr);
while FindNext(sr)=0do

begin

if Exists(ExtractFileExt(sr.Name)) then

begin

ListBox1.Items.Add(sr.Name);
end;

end;

FindClose(sr);
end;


procedure TForm1.FormCreate(Sender: TObject);
begin

sl:=TStringList.Create;
sl.Add('.avi');
sl.Add('.mp3');
sl.Add('.rm');
sp:='e:/music/*.*';
end;


procedure TForm1.FormDestroy(Sender: TObject);
begin

sl.Free;
end;


end.

 
下面是查找驱动器名字的程序
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
DriverBuffer=array[0..255] of char;
TForm1 = class(TForm)
Button1: TButton;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
sl:TStringList;
procedure Parse(s:DriverBuffer);
public
{ Public declarations }
end;


var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Parse(s:DriverBuffer);
var i:integer;
temp:string;
index:integer;
begin

index:=0;
i:=0;
while truedo

begin

if s=#0 then

begin

if (index>1) and (s[i-1]=#0) then
exit;
sl.Add(temp);
temp:='';
index:=index+1;
end
else
temp:=temp+s;
i:=i+1;
end;

end;


procedure TForm1.Button1Click(Sender: TObject);
var Buffer:DriverBuffer;
i:integer;
begin

GetLogicalDriveStrings(256,@Buffer);
Parse(Buffer);
for i:=0 to sl.Count-1do

ListBox1.Items.Add(sl);
end;


procedure TForm1.FormCreate(Sender: TObject);
begin

sl:=TStringList.Create;
end;


procedure TForm1.FormDestroy(Sender: TObject);
begin

sl.Free;
end;


end.
 
再研究一下treeview的几个属性,就可以了
 
TO phenix_sd 兄弟

请问你有没有QQ号码呀?
我的QQ号码是:3388343
 
有,我加你了
 
TO phenix_sd

为什么上面的两段代码我都用不到~

做出来以后点 按钮的时候没反映!!
 
我都是运行通过再粘贴代码的
你先生成form加上程序要用到的控件,和相关事件
再把对应事件里的代码粘贴上
 
To phenix_sd
是没反映呀~
编译的时候通过~没提示错误,但是就是点按钮的时候没反映~
我的E-mail是:xh_cncg@21cn.com

麻烦大哥把源程序发到我信箱好吗?或者和我QQ联系!!谢谢

新年快乐
 
我的第一个程序是搜索我的e:/music目录,你是否改了
第二个该没问题把,我发不了附件,在QQ上传给你吧
 
第二个已经可以运行了~

但是第一个还是没反映~~`

请和我QQ联系~谢谢!

QQ:3388343
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
599
import
I
后退
顶部