Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Вопрос по отображение HEX Добавлено: 01.11.04 18:48  

Автор вопроса:  DaSharm | Web-сайт: dasharm.com | ICQ: 780477 
Как лучше всего организовать отображение HEX данных?Имею ввиду контрол, для отображения HEX, как в отладчиках или HEX редакторах. Есть какие-то готовые решения кроме активиксов?

Ответить

  Ответы Всего ответов: 18  

Номер ответа: 1
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #1
Добавлено: 01.11.04 21:40
Есть пример шестнадцатиричного редактора :)

Все зависит от того что за HEX'ы ты собрался отображать, если данные, то как в редакторах, если чиста, то можно как в отладчике ;)

(imho)

Ответить

Номер ответа: 2
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #2
Добавлено: 02.11.04 03:24
Нужно либо точечный шрифт (не векторный), либо расчитывать 16 позиций по горизонтали + адреса слева + символьное представление. У меня на сайте лежит сделанная первым способом (через Terminal), но сайт почти всегда недоступен.

Ответить

Номер ответа: 3
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #3
Добавлено: 02.11.04 06:04
Или вот есть контрол

Rem Автор - Беляев Данила [outen@mail.ru]

' Контрол был написан на скорую руку. Оптимизировать код и _
  изобретать быстрые методы вывода я не стал - лень;-) _
  Контрол нормально работает с длиной текста не более 32кб, _
  т.к. сделан для просмотра небольших заголовков...
  
Option Explicit
Private Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Declare Function DrawText Lib "user32" Alias ";DrawTextA" (ByVal hdc As Long, ByVal lpStr As String, ByVal nCount As Long, lpRect As RECT, ByVal wFormat As Long) As Long
Private Declare Function DrawEdge Lib "user32" (ByVal hdc As Long, qrc As RECT, ByVal edge As Long, ByVal grfFlags As Long) As Long
Private Type RECT
        Left As Long
        Top As Long
        Right As Long
        Bottom As Long
End Type
Private rct_Text As RECT
Private str_Text As String
Private arr_Text() As String
Private lng_Offset As Long
Public Function Update() As Long
    On Error Resume Next
    Dim str_Update As String
    For Update = vsbScroll To vsbScroll + lng_Offset
        str_Update = str_Update & arr_Text(Update) & vbNewLine
    Next
    Cls
    ;DrawText hdc, str_Update, -1, rct_Text, 0
    ;DrawEdge hdc, rct_Text, 2, 1 Or 2 Or 4 Or 8
End Function
Public Property Get Text() As String
    Text = str_Text
End Property
Public Property Let Text(ByVal str_NewText As String)
    On Error Resume Next
    str_Text = str_NewText
    Erase arr_Text
    ReDim arr_Text(Round(Len(str_Text) / 16) - 1)
    Dim lng_Line As Long
    Dim lng_Char As Long
    Dim str_Temp As String
    Dim str_Char As String
    For lng_Line = 0 To Bound(arr_Text)
        str_Temp = String(16, Chr(0))
        str_Temp = Right(Text, Len(Text) - lng_Line * 16)
        For lng_Char = 1 To Len(str_Temp)
            str_Char = VBA.HEX(Asc(Mid(str_Temp, lng_Char, 1)))
            If Len(str_Char) = 1 Then str_Char = "0" & str_Char
            If lng_Char = 8 Then str_Char = str_Char & "  " Else str_Char = str_Char & " "
            arr_Text(lng_Line) = arr_Text(lng_Line) & str_Char
        Next
        Cls
        ' Сделаем вывод процента обработки, а то если влить много текста, то юзер подумает что прога повисла...
        Print "Формирование массива" & vbNewLine & "Выполнено: " & Fix((lng_Line / Bound(arr_Text)) * 100) & "%"
        DoEvents
    Next
    If Bound(arr_Text) >= lng_Offset Then vsbScroll.Enabled = True: vsbScroll.Max = Bound(arr_Text) - lng_Offset + 1 Else vsbScroll.Enabled = False
    Update
End Property
Private Sub UserControl_Initialize()
    lng_Offset = ScaleHeight \ TextHeight(vbNullString)
End Sub
Private Sub UserControl_Resize()
    On Error Resume Next
    ' Выравниваем ширину контрола на (16x2+2+14)x[ширина символа]+[ширина прокрутки]-[пара пикселов для рамки]...
    ' Для контрола рекомендую использовать только моноширный шрифт...
    Width = (TextWidth(String(49, " ";)) + vsbScroll.Width) * Screen.TwipsPerPixelX
    vsbScroll.Move ScaleWidth - vsbScroll.Width - 1, 1, vsbScroll.Width, ScaleHeight - 2
    GetClientRect hwnd, rct_Text
    ' небольшой оптимизатор - чтоб при каждой прокрутке списка _
      не обращаться к свойствам напрямую...
    lng_Offset = ScaleHeight \ TextHeight(vbNullString)
    If Bound(arr_Text) >= lng_Offset Then vsbScroll.Enabled = True: vsbScroll.Max = Bound(arr_Text) - lng_Offset + 1 Else vsbScroll.Enabled = False
    Update
End Sub
Private Sub vsbScroll_Change()
    Update
End Sub
Private Sub vsbScroll_Scroll()
    Update
End Sub

Ответить

Номер ответа: 4
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #4
Добавлено: 02.11.04 06:08
Странно, из России можно зайти на мой сайт, а с Украины нет.
Вот мой. Спасибо ZagZag'у :)
http://basicproduction.nm.ru/bphv.rar

Ответить

Номер ответа: 5
Автор ответа:
 Александр



Разработчик Offline Client

ICQ: 204034 

Вопросов: 106
Ответов: 1919
 Профиль | | #5 Добавлено: 02.11.04 06:13
Странно, Павел, посмотри на тег CODE - к меня многолинейные комменты с _ разделитетелем работали...

Ответить

Номер ответа: 6
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #6
Добавлено: 02.11.04 15:21
Нельзя, потому что на nm.ru был розмещен сайт, в котором прикалывались с Януковича и Укртелеком прикрыл доступ к nm.ru. Подробнее на http://www.yanukovich.at/

Ответить

Номер ответа: 7
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #7
Добавлено: 02.11.04 15:27
У меня открыт доступ к nm.ru , но всеравно никак немогу загрузить файл, пришли мне, пожалуйста, по почте если будет время, ок?

Ответить

Номер ответа: 8
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #8
Добавлено: 03.11.04 00:28
Щаз, про Янковича дочитаю. Прикольно, особенно про переодетых работников милиции. Хотя я милицию уважаю по привычке (ещё с совдеповских времён), но всё же эта организация в тепершнем состоянии вряд ли имеет право носить это имя. Милиция должна защищать мирных граждан от преступников, а для разгона демонстрантов существуют внутренние войска.

Ответить

Номер ответа: 9
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #9
Добавлено: 03.11.04 00:36
Народный депутат Леонид Кравчук считает, что поскольку Янукович сидел в другой стране, его следует считать не зеком, а военнопленным.
:)))

Ответить

Номер ответа: 10
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #10
Добавлено: 03.11.04 00:50
Ну это уже наглость по моему:

Из заявления пресс-службы телеканала Интер:

"За выдающиеся достижения в области развития немецкой классической школы пропаганды Интерканалу присвоено почетное звание

"Унтерканал им. Й. Геббельса"

 Интересно, где это 9 мая избивают ветеранов войны, а фашистам дарят машины? Угадайте с первого раза.

Ответить

Номер ответа: 11
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #11
Добавлено: 03.11.04 00:55
Журналистка спрашивает на пресс-конференции у Виктора Януковича:

- Виктор Фёдорович, скажите какие вы любите передачи??

Янукович :

- Ну-у-у-у... сигареты, чай...

Ответить

Номер ответа: 12
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #12
Добавлено: 03.11.04 01:15
Всё, отослал.

Ответить

Номер ответа: 13
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #13
Добавлено: 03.11.04 18:13
- Ну-у-у-у... сигареты, чай...

Мне тоже этот понравился :)
А за примерчик спасибо, скоро крутую прогу напишу, форумляни увидят :)

Ответить

Номер ответа: 14
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #14
Добавлено: 04.11.04 04:10
Ану колись. :)))

Ответить

Номер ответа: 15
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #15
Добавлено: 04.11.04 15:35
Ты уже, кажись, догадался :)

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам