2013-04-06 48 views
0

我剛開始學習VB,我想創建一個程序來保存我的剪貼板(ProntScreen)。 我已經在那裏成功了,但我想爲這些圖像生成文件名,所以我可以將它們很多都放入同一個文件夾而無需更改源代碼。如何爲從剪貼板保存的圖像生成文件名? VisualBasic

這裏是我的代碼:

Public Class Form1 
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    If Not System.Windows.Forms.Clipboard.GetDataObject() Is Nothing Then 
     Dim oDataObj As IDataObject = System.Windows.Forms.Clipboard.GetDataObject() 
     If oDataObj.GetDataPresent(System.Windows.Forms.DataFormats.Bitmap) Then 
      Dim oImgObj As System.Drawing.Image = oDataObj.GetData(DataFormats.Bitmap, True) 
      'To Save as Bitmap 
      'oImgObj.Save("c:\Test.bmp", System.Drawing.Imaging.ImageFormat.Bmp) 
      'To Save as Jpeg 
      oImgObj.Save("d:\Test\test.jpeg", System.Drawing.Imaging.ImageFormat.Jpeg) 
      'To Save as Gif 
      'oImgObj.Save("c:\Test.gif", System.Drawing.Imaging.ImageFormat.Gif) 
     End If 
    End If 
End Sub 
End Class 

正如你所看到的圖像保存到一個固定位置,這是D:\Test\Test.jpeg 我要生成的文件名(test.jpeg)。也許目前的時間會很酷,像114512或類似的東西

+1

您可以生成當前時間戳+隨機數,並用它代替test.jpg。這將解決您的問題。 – Raman 2013-04-06 18:15:57

+0

那麼你能告訴我「d:\ Test \ test.jpeg」部分是怎麼樣的嗎?因爲if我把任何東西放在字符串裏面,這會創建這樣的文件。 :o – Tyrick 2013-04-06 18:21:58

+0

我不是一個VB的傢伙。我使用C#。如果你能寫代碼,我可以給你詳細的信息。寫在回答在分鐘 – Raman 2013-04-06 18:24:03

回答

0

我不是VB的人,我在C#上工作,但讓我給它一個鏡頭。聲明一個System.DateTime變量並在其中存儲當前日期時間。然後聲明另一個String變量,我們稱它爲imagePath。在字符串變量構造路徑由加入文件夾路徑(d:\ Test \「,timestand,圖像擴展(.jpeg)。最後在.Save methond中使用此imagePath變量來傳遞路徑和名稱。此代碼,因爲我告訴這是我第一次,我甚至想VB代碼,可以有在代碼中的錯誤,但是邏輯是一樣的,請更改代碼,如果有任何錯誤。

Dim timeStamp As System.DateTime 
timeStamp = Now; 

Dim imagePath as String 
imagePath = "d:\Test\" + timeStamp + ".jpeg"; 

oImgObj.Save(imagePath, System.Drawing.Imaging.ImageFormat.Jpeg) 
+0

是的,它的部分工作,唯一的問題是小時:分:秒格式與:分隔,並且不允許創建文件...所以我必須刪除所有類型,如果空間和symbls。或者只是用' - '替換它們。謝謝你的方式,我幾乎完成:) – Tyrick 2013-04-06 18:51:11

+0

嗯....我想我錯過了。我的錯。您可以使用格式化功能根據需要格式化日期。點擊這裏查看這個鏈接http://www.vbtutor.net/vb2008/vb2008_lesson16.html – Raman 2013-04-06 18:58:00

+0

如果它有幫助,並且贊成的話將會是驚人的;如果它有幫助,那麼請用plz標記;) – Raman 2013-04-06 18:58:27