Path类的resetreset键是什么意思有什么用吗

本例效果图:代码文件:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtype TForm1 = class(TForm)  CheckBox1: TCheckB  CheckBox2: TCheckB  procedure FormCreate(Sender: TObject);  procedure FormPaint(Sender: TObject);  procedure CheckBox1Click(Sender: TObject);  procedure CheckBox2Click(Sender: TObject); var Form1: TForm1;implementation{$R *.dfm}uses GDIPOBJ, GDIPAPI;var pts: array[0..6] of TGPPprocedure TForm1.FormCreate(Sender: TObject);begin pts[0].X := 10; pts[0].Y := 50; pts[1].X := 40; pts[1].Y := 90; pts[2].X := 80; pts[2].Y := 10; pts[3].X := 110; pts[3].Y := 50; pts[4].X := 140; pts[4].Y := 10; pts[5].X := 180; pts[5].Y := 90; pts[6].X := 210; pts[6].Y := 50; CheckBox1.Caption := '翻转路径中的点'; CheckBox2.Caption := '清空路径中的点';procedure TForm1.FormPaint(Sender: TObject);var g: TGPG p: TGPP path: TGPGraphicsP PathPts: array of TGPP i: Ibegin g := TGPGraphics.Create(Canvas.Handle); p := TGPPen.Create(aclRed, 2); path := TGPGraphicsPath.C path.AddBeziers(PGPPoint(@pts), Length(pts)); if CheckBox1.Checked then path.R if CheckBox2.Checked then path.R {Reset 时, 会清空 PathPoints 和 PathTypes 数组并将 FillMode 设置为 FillModeAlternate} SetLength(PathPts, path.GetPointCount); path.GetPathPoints(PGPPoint(PathPts), Length(PathPts)); Canvas.Pen.Color := clG for i := Low(PathPts) to High(PathPts) do  Canvas.TextOut(PathPts[i].X, PathPts[i].Y, IntToStr(i+1)); g.DrawPath(p, path); path.F p.F g.Fprocedure TForm1.CheckBox1Click(Sender: TObject);begin Rprocedure TForm1.CheckBox2Click(Sender: TObject);begin Rend.
窗体文件:object Form1: TForm1 Left = 0 Top = 0 Caption = 'Form1' ClientHeight = 156 ClientWidth = 232 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style. = [] ldCreateOrder = False Position = poDesktopCenter nCreate = FormCreate nPaint = FormPaint PixelsPerInch = 96 TextHeight = 13 object CheckBox1: TCheckBox  Left = 12  Top = 126  Width = 113  Height = 17  Caption = 'CheckBox1'  TabOrder = 0  nClick = CheckBox1Click end object CheckBox2: TCheckBox  Left = 123  Top = 126  Width = 106  Height = 17  Caption = 'CheckBox2'  TabOrder = 1  nClick = CheckBox2Click endend
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&【初学者求教】VB能做出类似QQ视频的功能么_关于Mediaplayer的reset()的疑义。_找还 Windows XP SP3 的桌面 IE 图标__脚本百事通
稍等,加载中……
^_^请注意,有可能下面的2篇文章才是您想要的内容:
【初学者求教】VB能做出类似QQ视频的功能么
关于Mediaplayer的reset()的疑义。
找还 Windows XP SP3 的桌面 IE 图标
【初学者求教】VB能做出类似QQ视频的功能么
【菜鸟求教】VB能做出类似QQ视频的功能么像QQ那样可以选好友视频,
1问,能做出来么?
2问,怎么做呢,工程量预计多大?
3问,有没有类似例子呢?
请大神赐教,不胜感激
------解决方案--------------------1问,能做出来么?
从技术上来看是可以的,但从实际运行效率来说,不会有人接受最终实现的效果。
2问,怎么做呢,工程量预计多大?
如果是做玩具,就不涉及这种什么工程量的问题,反正是玩玩,时间、稳定性、安全性、兼容性都不是什么重要的问题,但如果想搞的是一个项目工程,就要复杂很多。做这种东西具体的方法有多种,但根据方法的不同有不同的工程量,而这种“方法”的选择取决于具体的技术“需求”,这种“需求”直接决定工程量的大小。比如说目的是在内网环境还是在Internet环境?用户量多少?服务器架构如何?是单服务器还是多服务器等等等等,每一个这种参数的变化都可能直接影响到要采用的技术和解决方案。当然,还有安全、稳定性、兼容性、效率、交互方案等等需求也会影响整个工程的技术变化。所以这种技术指标和需求不明确,可以说是无法判定工程量的。对于很多业余爱好者来说,目标是技术的实现,根本没有系统化的考虑这些问题,所以很多问题都考虑得很简单,认为做工程和做玩具一样,无非就是几个技术的结合体而已,但真的弄起来才会发现这种问题和需求的存在,然后再慢慢的发现慢慢的改,搞了很久都没有真的用起来就是这么回事。所以说这开发“需求”是很重要的,是玩具、是工程、还是产品都取决于这种“需求”,工程量自然也就取决于这种“需求”。
3问,有没有类似例子呢?
但技术上来说,有很多的例子,就是把这些东西一点一点的拆开来看,但大多数涉及到运行效率、稳定性功能的东西,目前都是C/C++的例子较多。比如P2P技术、VB6的我就没见过,因为VB6在多线程和运行效率上是比较弱的,即使实现了稳定性也不行,所以很少有人尝试用VB6去做这种Internet服务程序,即使做出来,实用性也不高,意义不大,但C/C++的例子就很多,因为C/C++开发出来的东西能够满足这种性能和效率的需求,所以用C/C++弄这些东西的人要比VB6的多。
开发程序,不是跟着开发工具走,而是跟着技术需求走,开发工具只是实现技术需求的工具,当某个工具不能满足技术需求或不顺手时,就要换个工具来用,就像螺丝刀和扳手,他们各有各的用途和功能,当需要扳手去解决问题时,如果你还用螺丝刀去弄,除了不方便,还可能解决不了问题。VB做一些不涉及运行效率的程序是很好的开发工具,但如果应用范围涉及到网络、服务器、运行效率等时,应该果断的换工具,这些不是VB的强项,更加可以说是VB的若点,继续搞下去没好处的。
关于Mediaplayer的reset()的疑义。
关于Mediaplayer的reset()的疑问。。。。首先很感谢CSDN论坛各位大虾对我的帮助、已经让我解决了不少问题!!
这次的问题还是在Mediaplayer上、reset()、让我不太明白、
在下面java代码的第78行。有一个被注销的reset()、我添加reset的目的是想、如果Mediaplayer在上次播放时出现了错误、我重新启动的时候能够重置一下、保证第二次不出错。
java代码:
public class MainActivity extends Activity implements MediaPlayer.OnCompletionListener {
private ImageButton play1,pause1,stop1;
MediaPlayer player=new MediaPlayer();
private String path="/sdcard/music/奔.mp3";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
play1=(ImageButton)findViewById(R.id.play);
pause1=(ImageButton)findViewById(R.id.pause);
stop1=(ImageButton)findViewById(R.id.stop);
sousuo=(Button)findViewById(R.id.sousuo);
play1.setEnabled(true);
pause1.setEnabled(false);
stop1.setEnabled(false);
setMedia();
play1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
playing();
stop1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
play1.setEnabled(true);
stop1.setEnabled(false);
pause1.setEnabled(false);
if(player.isPlaying()){
player.stop();
//player.reset();
player.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
pause1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
play1.setEnabled(true);
stop1.setEnabled(true);
pause1.setEnabled(false);
player.pause();
sousuo.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent=new Intent();
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.setType("Audio/*");
startActivityForResult(intent, 0);
public void setMedia(){
player.reset();
player.setDataSource(path);
player.prepare();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
public void onActivityResult(int i,int b,Intent intent){
if(intent!=null){
Uri uri=intent.getData();
String p=uri.toString().substring(52);
System.out.println(p);
System.out.println("path="+path);
setMedia();
System.out.println(path+"=path");
public void playing(){
if(path!=null&& !path.equals("")){
play1.setEnabled(false);
stop1.setEnabled(true);
pause1.setEnabled(true);
player.start();
public void onCompletion(MediaPlayer arg0) {
// TODO Auto-generated method stub
player.release();
play1.setEnabled(true);
stop1.setEnabled(false);
pause1.setEnabled(false);
要是去掉第78行的双斜线会报错:
看错误信息、提示是在缓冲的时候出现了错误、
我想知道,原因。
第二就是、在什么地方使用reset()、
reset之后具体Mediaplayer处于一个什么状态、------解决方案--------------------
找还 Windows XP SP3 的桌面 IE 图标
找回 Windows XP SP3 的桌面 IE 图标
安装了最新的XP XP3系统,却发现桌面没有IE图标,然后在桌面单击右键,选择属性,在选择“桌面”标签,点击“自定义桌面”按钮,却发现没有显示IE图标的选项。
根据微软官方提供的资料,由于涉及浏览器垄断的敏感话题,Windows XP 从 MS07-061 开始取消了在桌面上显示“Internet Explorer”图标的选项,这一改动包含在 Windows XP SP3 中。目前,已经安装了 Windows XP SP3 独立版本或安装了 MS07-061 更新程序的 Windows XP SP2 用户,都会发现这个选项已经被取消。根据微软官方的解释,如果我们依然希望在桌面上显示 IE 的图标,可以在资源管理器中打开 Program Files\Internet Explorer 文件夹,为 IEXPLORE.EXE 手动建立快捷方式,然后将快捷方式剪切到桌面上使用。
虽然微软官方为我们提供了解决方案,但我们知道 Windows XP 之前在桌面上显示的“Internet Explorer”图标并不是一个普通的快捷方式,这个图标可以实现一些特殊功能。例如右键单击图标,在右键菜单中选择“属性”打开 Internet 选项,或者在右键菜单中选择“以不启动加载项的方式启动”(此功能仅限于 IE 7)等。现在 Windows XP SP3“强迫”我们将原有的“Internet Explorer”图标换成了一个普通的 IE 快捷方式,一定会有很多朋友感觉使用不便。有没有什么替代方法实现原有的一些特殊功能呢?
解决办法:第1种:打开“我的电脑”,然后点击“向上”按钮,发现了什么,居然有IE,不用多说了,直接拉在桌面上即可。
第2种:命令法:开始--运行,中输入以下命令,确定后,刷新桌面即可cmd /k reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel" /v {871C-1069-A2EA-D} /d
/t REG_DWORD /f
如果是经典桌面主题,再用下句,确定后,再次刷新桌面:cmd /k reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu" /v {871C-1069-A2EA-D} /d
/t REG_DWORD /f
第3种:桌面空白处—属性—桌面—自定义桌面—桌面图标然后按一下键盘上的 I 或者 ALT+I然后确定--应用--确定
第4种:依次展开注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel
注:当Windows使用经典主题时,则应为:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu如果不存在相应分支,那么就创建一下创建名为“{871C-1069-A2EA-D}”的DWORD (32位)注册表项将其值修改为 0 即可。
也可以保存以下代码为注册表文件,双击导入,刷新桌面即可:Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel]"{871C-1069-A2EA-D}"=dword:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu]"{871C-1069-A2EA-D}"=dword:
第5种:打开D盘,新建一文件夹,记住是文件夹,取名为“Internet Explorer.{871C-1069-A2EA-D} ”,不含引号,然后直接将其文件夹拉到桌面,看到了什么,IE已经重现。
不过,我自己安装了某精简版的 XPSP3 系统, IE6 在桌面上是有图标的,只是在“自定义桌面”窗口中没有 IE 项的复选框。手动升级到 IE7 后也是同样。可能这个系统的注册表已经被修改过了。
如果您想提高自己的技术水平,欢迎加入本站官方1号QQ群:&&,&&2号QQ群:,在群里结识技术精英和交流技术^_^
本站联系邮箱:}

我要回帖

更多关于 reset键是什么意思有什么用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信