上色

Code Block

顯示具有 其他 標籤的文章。 顯示所有文章
顯示具有 其他 標籤的文章。 顯示所有文章

2013年8月2日 星期五

[Date Structure] Class和Structure

Class是reference type,程式執行時資料儲存在heap中
Structure是Value type,程式執行時資料儲存在stack中

因此在method中使用structure時,事實上是建立該structure的副本,因此改動這個數值並不會影響本來的資料,如︰

Structure TotalTime
  Dim tt As String
End Structure

Dim result(100) as TotalTime '定義result為TotalTime陣列 

For Each a As TotalTime In result
    a.tt=a.tt+1
Next
此時,result陣列中的數值並不會改變,因為Structure是Value type,所以For...Each時是複製一個result的副本。
因此需將result定義為class才可正確獲得預期效果。

但是同樣需要注意的是,因為Class是reference type,必須以New關鍵字一一將陣列中的元素定義為執行個體(物件)

2013年5月1日 星期三

[圖像處理] BMP影像分散寬度(stride)與影像寬度(width)

Stride︰代表每列影像列的位元長度(bytes),等於argb(32bits)或rgb(24bits)乘上影像寬度
Width︰影像寬度

此處有個問題,若影像寬度乘上位元之後不是4的倍數(32bits),系統會自動補足到4的倍數;如影像寬度270,則Stride應為810,但810不是4的倍數,因此系統會自動補到812,若直接以Stride/Width取得位元組數或是要取得影像起始位置時就會出錯。

2013年4月14日 星期日

[Phone] 合併vCard檔案 (*.vcf)

利用copy命令的/b參數將多個vcf檔案以二進位形式合併

copy /b *.vcf all.vcf

以上命令的意義代表將該資料夾下所有的vcf檔案(vCard檔案)合併成為all.vcf