高手进来啊,关于文件拖动后缀名的问题(50)

  • 主题发起人 terry_zhou82
  • 开始时间
T

terry_zhou82

Unregistered / Unconfirmed
GUEST, unregistred user!
想要实现的功能,当把文件拖动到程序中时,自动检测后缀名,符合则添加,不符合则提示出错信息,代码如下:procedure TForm1.WMDropFiles(var message: TMessage);var p: array[0..255] of Char; i: Word;begin inherited; ButtonedEdit1.Text:=''; i := DragQueryFile(message.Wparam, $FFFFFFFF, nil, 0); for i := 0 to i - 1 do begin DragQueryFile(message.Wparam, i, p, 255); ButtonedEdit1.Text:=StrPas(p); end; if ((ExtractFileExt(buttonededit1.text)<>'.wma')or (ExtractFileExt(buttonededit1.Text)<>'.mp3') or (ExtractFileExt(buttonededit1.Text)<>'.wav') or (ExtractFileExt(buttonededit1.Text)<>'.mid')) then begin Application.MessageBox('请选择后缀名为wma,mp3,wav,mid等类型的音乐文件!', 'MorningCaller 1.0', MB_OK); ButtonedEdit1.Text:=''; end; end;不管我的后缀名是什么,他总是会弹出这个MESSAGEBOX的错误框,当我把代码变成if ((ExtractFileExt(buttonededit1.text)<>'.wma') then....则没有问题,这个怎么解决啊?
 
Z

zbdzjx

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么能用or呢,要用and才行啊!!!!!
 
T

terry_zhou82

Unregistered / Unconfirmed
GUEST, unregistred user!
问题解决了,谢谢楼上的,但是还有一个问题,就是当我通过拖曳的方式导入路径名之后,在用打开对话框,使,edit1.text;=opendialog1.filename,好像就不行了吗?根本就不能在EDIT中输入任何的数字和字符。是不是要在打开之前,先设置dragacceptfile 为false ?还是要用其他方法。
 
T

terry_zhou82

Unregistered / Unconfirmed
GUEST, unregistred user!
高手进来啊
 
T

terry_zhou82

Unregistered / Unconfirmed
GUEST, unregistred user!
问题已经解决
 
T

terry_zhou82

Unregistered / Unconfirmed
GUEST, unregistred user!
接受答案了.
 

Similar threads

S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
553
import
I
I
回复
0
查看
470
import
I
I
回复
0
查看
855
import
I
顶部