为什么你们<strong><font color="red"> 鄙视</font></strong>我??不&l

  • 主题发起人 主题发起人 huangwei1
  • 开始时间 开始时间
H

huangwei1

Unregistered / Unconfirmed
GUEST, unregistred user!
为什么你们&lt;strong&gt;&lt;font color="red"&gt; 鄙视&lt;/font&gt;&lt;/strong&gt;我??不&lt;strong&gt;&lt;font color="red"&gt; 回答&lt;/font&gt;&lt;/strong&gt;我??我strong&gt;&lt;font color="red"&gt; 有问题&lt;/font&gt;&lt;/stron要问!!(100分)<br />告诉大家一个很不幸的消息!我把sound.wave作成资源文件sound.res后,在DELPHI5中<br>加代码如下,可是程序运行时,按BUTTON1时的结果却是。。。。。却是。。。。。。。<br>。。。。。。。。BEEP!!!!!!!!!我错在哪里??我该怎么办??救命啊!!<br>unit Unit1;<br>interface<br>uses<br>&nbsp; Windows, Messages, SysUtils,mmsystem, Classes, Graphics, Controls, Forms, Dialogs,<br>&nbsp; StdCtrls;<br>type<br>&nbsp; TForm1 = class(TForm)<br>&nbsp; &nbsp; Button1: TButton;<br>&nbsp; &nbsp; procedure Button1Click(Sender: TObject);<br>&nbsp; private<br>&nbsp; public<br>&nbsp; end;<br>var<br>&nbsp; Form1: TForm1;<br>implementation<br>{$R *.DFM}<br>{$R sound.RES}<br>procedure TForm1.Button1Click(Sender: TObject);<br>begin<br>PlaySound('sound',hInstance,SND_RESOURCE);<br>end;<br>end.<br>&nbsp;<br>&nbsp;<br><br><br>to :郭玉梁<br>&nbsp; &nbsp;请问release,build分别代表什么意思呢?当我对软件作了多大改动时Major Version 或<br>&nbsp;Minor Version加一呢??有什么区别呢??
 
不好说,就象win95/win97/win98,突然就到了win2000.<br>Delphi1/delphi2本来要定为delphi32/delph3/delphi4。<br>Major version指大改动,Minor version指小改动,没有衡量依据。<br>就象我做的软件,为了让客户相信一上去就是4.00。<br>你第一个问题明天我给你试试,看看如何,再见了,我不习惯夜战。哪都是你的影子。
 
资源也没有释放,怎么能出声音呢?
 
我把sound.wave作成资源文件sound.res后;<br>是怎样做的,改扩展名吗?资源名称是SOUND吗?<br>一般来说,资源名称只使用大写,也就是:PlaySound('SOUND', hInstance, SND_RESOURCE);<br>可能能解决。
 
to :delphiboy<br>&nbsp; &nbsp;资源怎么释放呢?可以写出源码吗?
 
var <br>hResInfo : THandle;<br>PtrSound : PChar;<br>hRes : THandle; <br>begin<br>hResInfo := FindResource(HInstance, 'SOUND', 'WAVE');<br>hRes := LoadResource(HInstance, hResInfo);<br>if hRes &gt; 32 then {its a good load}<br>begin {lock the resource}<br>ptrSound := LockResource(hRes);<br>end;<br><br>sndplaysound(ptrSound,snd_async or snd_Memory);<br><br>end;<br><br><br>
 
资源编译好了的话<br>&nbsp; PlaySound(PChar('IQUIT'), hInstance, snd_ASync or snd_Resource);<br>or <br>&nbsp; PlaySound(PChar('ARNOLD'), hInstance, snd_Sync or snd_Resource);<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-------<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
 
呵呵,房客又挣100分
 
你改个名,不就行了吗?<br>干嘛老要编译成sound.res文件呢?<br>换个名字试试如编译成ILOVEYOU.RES<br>
 
你的sound.res,必须是象下面的rc文件编译成的<br>sound WAVE c:/dir/file.wav<br>上面的那行字的“sound”才是放PlaySound 里面的“sound”<br>如果上面那行字的sound该成其他,PlaySound 里面也要改成其他<br>而且要将res加入你的project<br><br>至于房客说的,是比较麻烦的那种。<br>
 
huangwei1:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。<br>请认真阅读大富翁论坛规则说明 &nbsp;http://www.delphibbs.com/delphibbs/rules.htm
 
&lt;font color="#FF0000"&gt;<br>大家帮帮忙,给看一下&lt;/font&gt;&lt;/p&gt;<br><br>&lt;p align="left"&gt;<br>&amp;nbsp;<br>&lt;font color="#FF0000" size="4"&gt;<br>&lt;a href="http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=506445"&gt;<br>“寻找简单的方法,filter消息”&lt;/a&gt;<br>&lt;/font&gt;&lt;/p&gt;<br><br>&lt;p align="left"&gt;如有违反论坛规则,还请版主砍掉并批评指出&lt;/p&gt;
 
哈,你看看这个就会明白了:<br><br><br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>百联网讯社区群 中国软件 IT商务社区 软件商务社区 图片商务社区 轴承商务社区 <br>&nbsp;<br>&nbsp; &nbsp; &nbsp; <br>&nbsp;<br>&nbsp;返回主页 &nbsp; 新闻聚焦 &nbsp;共享软件 &nbsp;行业软件 &nbsp;Linux园地 &nbsp;开发中心 &nbsp;专家门诊 &nbsp;项目交易 &nbsp;人力资源 &nbsp;<br>&nbsp; <br><br>将WAV文件做到EXE文件的方法及注意事项 &nbsp; &nbsp; <br><br>关键字:将WAV文件做到EXE文件的方法及注意事项 &nbsp; &nbsp;<br><br>&nbsp; <br><br>人气值: <br>501 文档分类:<br>Delphi &nbsp;贴文时间<br>2001-2-8 10:36:37 得票数: <br>38 给贴子投票 <br>投票 <br><br>&nbsp; 作者:tsingmei<br>&nbsp;出处: &nbsp;<br><br>&nbsp; <br><br><br><br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;将WAVE文件做到EXE文件的方法及注意事项<br>&nbsp; &nbsp; &nbsp; 有关这方面的文章很多,本来我也不想多说,可是最近有的网友说他照着有的文章作了个“工程”,可是怎么也发不出声来,或者就是扬声器的BEEP声。<br><br>&nbsp; &nbsp; &nbsp; 后来,笔者找到那些资料,照他们的方法也作了一个“工程”;结果和那位网友一样。这到底是为什么呢?<br><br>&nbsp; &nbsp; &nbsp; 先来说说一般的文章是怎么说的吧。<br><br><br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;比较“流行”的说法是:“16位的Delphi 1.0和32位的Delphi2.0、3.0都提供了资源 <br>编译工具,其中 Delphi 1.0的资源编译器叫BRCC.EXE,Delphi 2.0的资源编译器 <br>叫BRCC32.EXE 用来编译32位资源,所有资源编译器都只提供了命令行版本, <br>没有提供Windows 版本。制作一个资源一般要通过以下几个步骤: <br><br><br>1)编写.RC文件 <br><br><br>..RC文件是资源的源文件,编译器也就编译这个文件,生成.RES的<br>资源文件 <br>首先在我们的项目子目录中建立一个纯文本文件,起名叫<br>Sound.rc,文件中 <br>有一行,内容为: <br><br><br>SOUND1 WAV SOUND.WAV <br><br><br>其中SOUND.WAV为一个Windows下普通的声音文件 <br><br><br>2)编译它 <br><br><br>在DOS的提示符下打 BRCC SOUND.RC 硬盘哗啦啦转一会儿后,就编<br>译完了 <br><br><br>3)制作程序 <br><br><br>这也是最复杂,最灵活的一步,首先启动Windows, 再启动Delphi, <br>并且将项目 <br>中的文件保存到我们的项目中的子目录中。 在Unit1.pas中找这么<br>一行 <br><br><br>{$R *.DFM} <br><br><br>把我们的资源文件就声明在后面 <br><br><br>{$R SOUND.RES} <br><br><br>然后,在Form1中声明两个全局变量 <br><br><br>PtrSound : PChar; <br>hRes : THandle; {handle to the loaded resource <br>if 0 indicates nothing playing} <br><br><br>再在Form1的Create事件中写下如下代码 <br><br><br>procedure TForm1.FormCreate(Sender: TObject); <br>var hResInfo : THandle; <br>begin <br>hResInfo := FindResource(HInstance, 'SOUND1', 'WAVE'); <br>hRes := LoadResource(HInstance, hResInfo); <br>if hRes > 32 then {its a good load} <br>begin {lock the resource} <br>ptrSound:=LockResource(hRes); <br>end; <br>end; <br><br><br>然后在Form1中放一个按钮Button1,写如下代码: <br><br><br>procedure TForm1.Button1Click(Sender: TObject); <br>begin <br>sndplaysound(ptrSound,snd_async or snd_Memory); <br>end; <br>这时候就可以运行了。”<br><br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;是真的吗?<br><br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;其实,资源文件的文件名就根本不能和WAVE文件的一样,否则,呵呵,扬声器就要BEEP啦,不信你试试看。<br><br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 下面笔者写出可以运行源代码的步骤(当然您的资源文件不能有错的):<br><br><br>1)编写.RC文件 <br><br><br>..RC文件是资源的源文件,编译器也就编译这个文件,生成.RES的资源文件 首先在我们的项目子目录中建立一个纯文本文件,起名叫<br>pad.rc ,在文件中写一行,内容为://注意!资源文件名不可以和WAVE文件名一样的!<br><br>SOUND1 WAV SOUND.WAV <br><br>其中SOUND.WAV为一个Windows下普通的声音文件 <br><br><br>2)编译它 <br><br><br>在DOS的提示符下打 BRCC32 PAD.RC 一会儿后,就编译完了 //现在已是brcc32啦,不知有的文章怎么还有BRCC??<br><br><br>3)制作程序 <br><br>在WINDOWS下启动DELPHI,新建一个项目,将其中的文件保存到我们的项目中的子目录中。 在Unit1.pas中找到<br><br><br>{$R *.DFM} <br><br><br>把我们的资源文件就声明在后面 <br><br><br>{$R PAD.RES} <br><br><br>然后,在Form1中声明两个全局变量 <br><br><br>PtrSound : PChar; <br>hRes : THandle; {handle to the loaded resource <br>if 0 indicates nothing playing} <br><br><br>再在Form1的Create事件中写下如下代码 <br><br><br>procedure TForm1.FormCreate(Sender: TObject); <br>var hResInfo : THandle; <br>begin <br>hResInfo := FindResource(HInstance, 'SOUND1', 'WAVE'); <br>hRes := LoadResource(HInstance, hResInfo); <br>if hRes > 32 then {its a good load} <br>begin {lock the resource} <br>ptrSound:=LockResource(hRes); <br>end; <br>end; <br><br><br>然后在Form1中放一个按钮Button1,写如下代码: <br><br><br>procedure TForm1.Button1Click(Sender: TObject); <br>begin <br>sndplaysound(ptrSound,snd_async or snd_Memory); <br>end; <br><br>&nbsp; &nbsp; &nbsp; 点击编译,运行,再按BUTTON1,可以听到扬声器中发出WAVE文件内容。<br><br>&nbsp; &nbsp; &nbsp; 这样,一个小工程就完成了。快试试吧! &nbsp; &nbsp; &nbsp; <br><br><br><br><br>对该文的评论 <br><br>&nbsp; &nbsp; &nbsp;tsingmei (2001-2-9 11:10:34) &nbsp;<br><br><br>看看.<br><br>&nbsp;<br><br><br><br><br><br>我要评论 <br><br>&nbsp; &nbsp;评论人:x7913 &nbsp; 评论:<br>&nbsp; <br>&nbsp; &nbsp; &nbsp;<br><br>&nbsp;<br>&nbsp; &nbsp; &nbsp; <br>&nbsp;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>美达美简介 广告服务 英语步步高 程序员大本营 百联美达美科技有限公司 &nbsp;版权所有 <br>&nbsp;<br><br>
 
多人接受答案了。
 
后退
顶部