delphi 取U盘盘符代码

我在网上找到了这段代码,但却编译不到,为什么?===========================================//取U盘盘符代码==========... 我在网上找到了这段代码,但却编译不到,为什么?
===========================================

// 取U盘盘符代码

============================================

procedure TForm1.Button1Click(Sender: TObject);

var

buf:array [0..MAX_PATH-1] of char;

m_Result:Integer;

i:Integer;

str_temp:string;

begin

m_Result:=GetLogicalDriveStrings(MAX_PATH,buf);

for i:=0 to (m_Result div 4) do

begin

str_temp:=string(buf[i*4]+buf[i*4+1]+buf[i*4+2]);

if GetDriveType(pchar(str_temp)) = DRIVE_REMOVABLE then

begin

ShowMessage(str_temp+'盘为U盘');

ListBox1.Items.Add(str_temp);

end;

end;

end;
展开
 我来答
百度网友2101fd52c
2008-11-02 · TA获得超过482个赞
知道小有建树答主
回答量:383
采纳率:0%
帮助的人:350万
展开全部
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
x:integer;
i:char;
begin

for i:='B' to 'Z' do //因为A盘是3.5英寸软件 也算是可移动的 ,所以先排除在外
begin
s:=i+':\';
x := GetDriveType(pansichar(s));//得到盘的类型
if x=2 then
begin
showmessage(i+' 盘是可移动磁盘');
end;
end;
//从B到Z 进行测试,如果是U盘就输出,因为可能有很多u盘 所以并没有在找到第一个就进行跳出
end;
end.

我的做法就是测试所有的A:\ B:\ C:\
测试通过 请在能用之后 给我加分啊 谢谢 我花了1个多小时才搞出来的 查很多资料,然后自己又写。
所查资料:该资料来自葵花宝典

当要知道所选的驱动器属于什么类型时,请看下面的程序
var x:integer;
driver:pchar;
begin
driver:='f:\';
x := GetDriveType(driver);
Case x of
2: Label1.Caption := '该驱动器是可移动驱动器';
3: Label1.Caption := '该驱动器是固定驱动器';
4: Label1.Caption := '该驱动器是网络驱动器';
5: Label1.Caption := '该驱动器是CD-ROM驱动器';
6: Label1.Caption := '该驱动器是虚拟驱动器';
Else Label1.Caption := '该驱动器无效';
End;
end;
cb120520025
2008-11-02 · TA获得超过347个赞
知道小有建树答主
回答量:323
采纳率:0%
帮助的人:572万
展开全部
代码没错,可以编译,是否你没添加ListBox,或者你将ListBox1.Items.Add(str_temp); 这句删除
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式