2009-07-23 48 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