Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [VB .NET] Перевод строки в ASCII код


Автор: mse 16.11.2006, 23:21
Помогите плиз очень нужно!!!   Фукнции есть ? Желательно с разяснениями.

Написть программу которая позволяте кодировать слова длинно в 10 симвлом по схеме 
ASCII код → двоичный код → код Хеминга

Написать программу которая позволяет находить одну ошибку в двоичной последовательсноить кода Хеминга и востонавливать ёё. Программа также должна делать приобразование по схеме код Хеминга → двоичный код → ASCII код.

Автор: thomas 17.11.2006, 00:21
mse, 
Привет.
Вот снова встретитлись.  smile 
На сколько я помню, этот вопрос уже обсуждался недели три назад вот http://bbs.vbstreets.ru/viewtopic.php?t=28839.
И что, за это время, у тебя ничего не получилось?  smile 

Я тебе на мыло примерчик послал. Посмотри может поможет.  smile 

Удачи.  smile 

Автор: DarkDragon 17.11.2006, 00:59
Э thomas, а можно примерчик на всеобщее осмотрение представить здесь?
А то вдруг какойнить, метод новый!

Автор: thomas 17.11.2006, 13:04
DarkDragon, 
Привет.
Я хотел добавить архив с проектом к сообщению, но к своему стыду ни как не соображу, как это сделать.
На другом форуме есть возможность к сообщению присоединять файл.
Если я не прав, то заранее извиняюсь и прошу подсказать как это сделать.

Зы. Программка написана на VB6 и не мной. Но я думаю, автор будет не в обиде, и его алгоритм перевода между нотациями можно использовать и в программе в .NET.
ЗЫЗЫ иначе я вышлю архив тебе, а ты его опубликуешь.

Добавлено @ 13:12 
Блин, а ларчик просто открывался.  smile 
Вот тут архивчик с проетом на VB6 и запускающий файл. Файлы проекта можно прочитать в блокноте.
Всем успехов.

Автор: mse 17.11.2006, 21:19
привет.  Да вот мучаюсь с этой прогой в четверг сессия начинается. Если бы не код хеминга =) ТО всё было намного легче а так. 
Сенкс за пример. Стукни  в аську может чем поможеш! =)

Вот ткая бяка ещё есть =)

Код

Option Explicit

Function BinToHex(BinNum As String) As String
   Dim BinLen As Integer, i As Integer
   Dim HexNum As Variant
   
   On Error GoTo ErrorHandler

   BinLen = Len(BinNum)
   For i = BinLen To 1 Step -1
'     Check the string for invalid characters
      If Asc(Mid(BinNum, i, 1)) < 48 Or _
         Asc(Mid(BinNum, i, 1)) > 49 Then
         HexNum = ""
         Err.Raise 1002, "BinToHex", "Invalid Input"
      End If
'     Calculate HEX value of BinNum
      If Mid(BinNum, i, 1) And 1 Then
         HexNum = HexNum + 2 ^ Abs(i - BinLen)
      End If
   Next i
'  Return HexNum as String
   BinToHex = Hex(HexNum)
ErrorHandler:
End Function

Function BinToOct(BinNum As String) As String
   Dim BinLen As Integer, i As Integer
   Dim OctNum As Variant
   
   On Error GoTo ErrorHandler

   BinLen = Len(BinNum)
   For i = BinLen To 1 Step -1
'     Check the string for invalid characters
      If Asc(Mid(BinNum, i, 1)) < 48 Or _
         Asc(Mid(BinNum, i, 1)) > 49 Then
         OctNum = ""
         Err.Raise 1002, "BinToOct", "Invalid Input"
      End If
'     Calculate Octal value of BinNum
      If Mid(BinNum, i, 1) And 1 Then
         OctNum = OctNum + 2 ^ Abs(i - BinLen)
      End

Автор: DarkDragon 17.11.2006, 21:22
thomas,  как все просто! Да?  smile 
Цитата

но к своему стыду ни как не соображу

А чего стыдиться? Слышал бы ты мои вопросы,  когда я первые 3 недели сидел в инете.

Ну так глянем что накодил VB6 разработчик.

Автор: thomas 18.11.2006, 01:16
mse, 
Слушай, ничего не понял.
Цитата

в четверг сессия начинается

Это в какой стране и в каком учебном заведении в ноябре сессии начинаются?  smile 
Цитата

Вот ткая бяка ещё есть =)

И что ты этим хочешь сказать?
Мы конечно, братья - славяне, но мы же тут не телепаты.
Ну бяка, по твоему, и что с ней делать?
По моему, это нормальный, читаемый код в VB, который нормально работает в примере.
Адаптируй его к .NET и будет тебе счастье.  smile 





DarkDragon, 
Ну, я это ... типа не три недели в инете и не первый день на форуме, а про метод "научного тыка" совсем забыл.
А тут "ткнул" в листочек и счастье улыбнулось. Правильно говорят, шевелиться надо.  smile 

Автор: Exception 18.11.2006, 18:31
Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 

Автор: DarkDragon 19.11.2006, 10:12
 Представлю ка я вам свою статью  написанную чисто для VB.NET, без использования
Visual Basic библиотеки (в которой есть 2 полезные ф-ции: Hex, Oct), оставшуюся для совместимости. Конечно алгаритмы выводил
не я. Просто я их запомнил из уроков информатики 8 классаsmile. Она находится по этой 
 http://mmdgs.by.ru/pages/articles/index.shtm?vbnet=1. 
Можете просто скопировать весь код, но лучше прочитайте всю стаью. Она уж вам точно пригодится,
еслы вам нужна работа с преобразованием чисел из систем в систему.

А метод научного тыка, это самый без отказный метод: Либо дабьешься чего хочешь, либо дабьешься чего не хочешьsmile

Автор: mse 21.11.2006, 01:11
Украина, запрожье, заочка =)

Да код читаемый всё ок, делаю в принцепе уже кое что есть, трабл единственно это с кодом хеминга.

Сенкс за статью!

Автор: maniachichi 26.2.2010, 19:36
Ребят,подскажите,пожалуйста!
в textbox ввожу текст надо чтобы по 7 символов брал и в ascii их кодировал

Автор: Sanaff 26.2.2010, 20:36
Цитата(maniachichi @ 26.2.2010,  17:36)
в textbox ввожу текст надо чтобы по 7 символов брал и в ascii их кодировал

Не совсем понятен смысл задания
ну получим мы наборы из семи чисел. можно и весь текст сразу - та же последовательность чисел будет...
Ну по строкам разве можно разделить...
Код

 a$ = ""
For i = 1 To Len(Text1.Text) - 7 Step 7
  For k = 0 To 6
    a$ = a$ & Asc(Mid(Text1.Text, k + i, 1)) & " "
  Next k
  a$ = a$ & vbCrLf
  
Next i
MsgBox a$


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)