在VB中實現任意檔案的16進位制方式察看 (轉)
這是我利用操作方法編寫的檔案16進位制察看。本來是可以利用UltraEdit來幹這件事的。我編寫的目的就是想看一下自己能不能編出來。於是我就用VB編了一下,先前我只是把直接放到網上,沒想到大家很支援我,給了我很大的鼓舞,在這裡我十分感謝eastunfail的幫助,使我的程式碼更加完善。
原始碼如下:
Dim col As ColumnHeader
Dim litem As ListItem
Dim sb As ListSubItem
Dim filename As String
Dim index As Long
Private Sub Command1_Click()
Dim b As Byte
'Dim ff() As Byte
Dim fl As Long
Dim sect As Long
Dim ss As Long
ListView1.ListItems.Clear
dlg.ShowOpen
filename = dlg.filename
fl = FileLen(filename)
sect = fl / 16
ss = fl Mod 16
Open filename For Binary As #1
If sect = 0 Then
Set litem = ListView1.ListItems.Add()
For index = 1 To ss
Get #1, index, b
Set sb = litem.ListSubItems.Add(index, , DecToHex(b))
Next index
End If
If sect <> 0 Then
For i = 1 To sect
Set litem = ListView1.ListItems.Add()
For index = 1 To 16
Get #1, 16 * (i - 1) + index, b
Set sb = litem.ListSubItems.Add(index, , DecToHex(b))
Next index
Next i
Set litem = ListView1.ListItems.Add()
For index = 1 To ss
Get #1, index, b
Set sb = litem.ListSubItems.Add(index, , DecToHex(b))
Next index
End If
Close #1
End Sub
Private Sub Command2_Click()
MsgBox "Welcome To Three Leaf WorkRoom!!", , "About"
End Sub
Private Sub Form_Load()
Dim i As Integer
ListView1.ColumnHeaders.Add , , "Address", ListView1.Width / 14
For i = 1 To 16
Set col = ListView1.ColumnHeaders.Add()
col.Text = "+" & DecToHex(i - 1)
col.Width = ListView1.Width / 25
Next
ListView1.ColumnHeaders.Add , , "ASCII", ListView1.Width / 4
End Sub
Private Function DecToHex(dd As Byte) As String
DecToHex=IIf(Dec>&HF,Hex(dd),"0" & Hex(dd)) '這行程式碼是eastunfail提供的。
End Function
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-1004560/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 十進位制轉換任意進位制--鏈棧實現
- C++實現任意進位制的相互轉換C++
- sql實現10進位制16進位制轉換函式SQL函式
- shell 中轉換16進位制10進位制
- VB中檔案操作的兩種方式 (轉)
- 計算機求解10進位制轉換任意進位制計算機
- JavaScript 進位制轉換(2進位制、8進位制、10進位制、16進位制之間的轉換)JavaScript
- lua之m進位制轉換為n進位制-任意進位制轉換演算法演算法
- 口算 16 進位制轉換 10 進位制,但只適合兩位的 16 進位制
- 彙編實現10進位制轉16進位制並以ASCII碼輸出ASCII
- 10進位制和16進位制互轉的例子
- 任意進位制轉換演算法演算法
- Java中8進位制和16進位制的表示方法Java
- 資料結構–進位制(任意)轉換資料結構
- 2進位制_8進位制_16進位制之間快速轉換的技巧.txt
- C# 2進位制、8進位制、10進位制、16進位制...各種進位制間的輕鬆轉換C#
- oracle 給的轉換函式實現 十六進位制---->十進位制Oracle函式
- 【轉帖】Oracle中的二進位制、八進位制、十進位制、十六進位制相互轉換函式Oracle函式
- 負數補碼(16進位制轉10進位制的負數)
- 用VB將WORD文件(或其他的二進位制資料)生成xml檔案並互相轉換 (轉)XML
- Oracle建立二進位制檔案索引的方法(轉)Oracle索引
- Oracle中的二進位制、八進位制、十進位制、十六進位制相互轉換函式Oracle函式
- 16進位制字串轉位元組字串
- 2/8/16轉10進位制
- JavaScript中的多種進位制與進位制轉換JavaScript
- oracle_16進位制與10進位制轉換小示例Oracle
- 3416:【例72.1】 二進位制轉化為十進位制
- 遞迴函式實現十進位制正整數轉換為二進位制,八進位制,十六進位制遞迴函式
- 進位制之間的轉換之“十六進位制 轉 十進位制 轉 二進位制 方案”
- C++中的檔案輸入/輸出(5):二進位制檔案的處理 (轉)C++
- 用shell處理二進位制檔案(轉)
- 在c語言中輸出8進位制數,16進位制數C語言
- ORACLE中用一條SQL實現其它進位制到十進位制的轉換OracleSQL
- 在Delphi中實現任意形狀的窗體 (轉)
- PHP負數轉16進位制再轉到10進位制的正確姿勢PHP
- 十六進位制顏色字串轉換成Color在Silverlight中的實現字串
- Qt進位制轉換(十進位制轉十六進位制)QT
- Oracle中的進位制轉換Oracle