2009-07-23 49 views
2

在PowerBuilder的IDE中,代码自动完成功能使用剪贴板将完成的文本传送到代码窗口。通过这样做,它会覆盖之前存储在剪贴板上的所有内容。因此,如果您的剪贴板上存储了下一个门槛的获奖号码,并且您使用自动完成功能将m_goodfor转换为m_goodfornothing,那么您刚刚失去了唯一一次有钱发财的机会,而您还剩下与没有任何关系在您的剪贴板上。应用程序可以将剪贴板用于自己的目的吗? (阅读:谁拥有剪贴板?)

这样的功能是the reason I hate software。看起来它是由一个实习生实施的,没有人照顾。但是,我也有机会一无所获,并且使用剪贴板是绝对合法的。那么,应用程序可以将剪贴板用于自己的目的吗?谁被认为是剪贴板的所有者?

(奖金票对谁把自己的地方特点的程序员,并提供了一些推理故意的正在做,假设用户实际上从它benefite)

+0

当然,如果你在剪贴板上存储获奖乐透号码,它会提出一个问题,“为什么他们在那里呢?” :P – 2009-07-23 17:00:47

+0

你能否想到一个更好的地方来存储获奖号码?什么比Windows剪贴板更可靠?...... – eran 2009-07-23 17:16:48

回答

4

你也许是对的实习推理。绝对没有理由为什么应用程序会使用剪贴板来传递非纯懒惰信息。即使在流程之间,还有其他更好的沟通信息的方式。

其他然后让用户粘贴到另一个应用程序的信息,没有理由使用剪贴板。

+0

或让用户以特定格式复制/粘贴信息。但是,除此之外,应用程序应该单独离开剪贴板。 – Sean 2009-07-23 16:58:53

0

他们总是一个更好的方式来做到这一点。程序员可能是这样做的,因为实现OR更快,因为他真的想在动作之后在剪贴板中有这个值。至少,如果他不想将它放在剪贴板中,他可以从剪贴板获取值,存储它的值,然后将剪贴板中的旧内容替换到剪贴板中,并且所有内容都将更加“透明”和更少令最终用户感到沮丧。

+1

这并不像您想象的那么简单......数据可能通过剪贴板以多种格式提供,并且您必须存储每个数据以确保您可以满足所有相同的请求。这甚至假设你对所有格式足够了解,以缓存它们...... – ReWrite 2009-10-07 20:31:55

1

没有用户启动该操作,应用程序不应该更改剪贴板上的任何内容。无论如何,我的.02。

0

我建立了一个一块的功能集成到一个应用程序使用剪贴板。企业正在请求一种方式让用户无缝地捕获屏幕截图并上传。

我与业务合作开发它,我们想出的是用户只需点击打印屏幕键,并在我的应用程序中点击“上传”。

在后台运行的Java Applet将图像从剪贴板中拉出并向用户显示格式化预览,然后用户添加文件名和描述并单击保存。

以这种方式使用剪贴板为用户节省了拍摄屏幕截图的时间,并保存在某个地方,然后通过上传界面找到它。即使我们确实走到了用户点击打印屏幕的路线来捕捉图像,他们首先已经覆盖了剪贴板上的任何内容。

使用剪贴板并不全是坏事,但我肯定同意在IDE中使用它是一个不错的选择。

2

程序员这样做是因为它很容易,并将他的需求放在最终用户的需求之上。有很多程序可以做到这一点,特别是Outlook,VB等的加载项,它们将按钮复制/粘贴到工具栏上。任何运行剪贴板扩展器的用户(比如我自己的ClipMate)都会憎恨这种行为(并且你会马上被“捣毁”)。

下面是关于这个问题我最喜欢的名言:

“程序应该没有来自用户的明确指令,数据不能传输到我们的出剪贴板”
- 查尔斯Petzold的,编程Windows 3.1,微软出版社,1992