Работа с текстом и внешними устройствами.

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

insite2012
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 109
Зарегистрирован: 22.03.2013 (Пт) 8:06
Откуда: Россия, Саратов

Работа с текстом и внешними устройствами.

Сообщение insite2012 » 29.03.2013 (Пт) 15:18

Приветствую всех.
К сожалению, в вопросах программирования я новичок, заранее извиняюсь, если мои вопросы покажутся глупыми.
Итак, занимаюсь VB2010, по книге Зиборова. Штука хорошая, все очень доступно, однако ни в ней, ни в других, что мне удалось найти (специально был в книжном магазине, смотрел) ни в одной книге нет никаких разъяснений по тем вопросам, что мне нужны.
Итак, вопрос первый. Он касается преобразования данных. К примеру, имеем текстовый файл, из какого-то количества строк. Мне надо отсечь некоторые символы в каждой строке, а оставшиеся разместить по определенным адресам в hex формате. Грубо говоря, произвести конвертацию текстового файла в hex с удалением из текста лишнего.
Вопрос второй. На него тоже нигде не нашел ответа. Он касается работы с внешними устройствами, и в частности с KOM портом. То есть, мне нужно создать программу, работающую с внешними устройствами через данный порт, согласно определенному протоколу обмена. Перелопатил много литературы, и нигде нет по данному вопросу никаких пояснений.
Заранее спасибо за помощь.
Dulce et decorum est pro patria mori

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 29.03.2013 (Пт) 15:43

insite2012 писал(а):Итак, вопрос первый. Он касается преобразования данных. К примеру, имеем текстовый файл, из какого-то количества строк. Мне надо отсечь некоторые символы в каждой строке, а оставшиеся разместить по определенным адресам в hex формате. Грубо говоря, произвести конвертацию текстового файла в hex с удалением из текста лишнего.

В чём конкретно проблема?

insite2012 писал(а):Вопрос второй. На него тоже нигде не нашел ответа. Он касается работы с внешними устройствами, и в частности с KOM портом. То есть, мне нужно создать программу, работающую с внешними устройствами через данный порт, согласно определенному протоколу обмена. Перелопатил много литературы, и нигде нет по данному вопросу никаких пояснений.

Это возможно, насколько я представляю... Но я с этим не помогу, т. к. сам никогда не делал.

insite2012 писал(а):специально был в книжном магазине, смотрел

А в Google'е не был случайно? [url=http://ivanp.ru/работа-с-com-портами-в-net-c/]Первая же ссылка.[/url]

insite2012
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 109
Зарегистрирован: 22.03.2013 (Пт) 8:06
Откуда: Россия, Саратов

Re: Работа с текстом и внешними устройствами.

Сообщение insite2012 » 29.03.2013 (Пт) 15:49

Ну вот в том и проблема, я же сказал, я только начинающий... И нигде в тех книгах, по которым занимаюсь, похожих примеров и разъяснений, как осуществить конвертацию текста в нужный мне формат с удалением лишнего не встретил...
По работе с СОМ - да, это возможно, естественно... Только вот как...
За ссылку спасибо, сейчас буду смотреть...
Dulce et decorum est pro patria mori

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 29.03.2013 (Пт) 15:59

insite2012 писал(а):И нигде в тех книгах, по которым занимаюсь, похожих примеров и разъяснений, как осуществить конвертацию текста в нужный мне формат с удалением лишнего не встретил...

Максимальный размер файла?
Кодировка текста?
Удаляется заданный текст или текст в заданных позициях?
Удаляется именно текст или байты?
Зачем нужно конвертирование в hex?

insite2012 писал(а):За ссылку спасибо, сейчас буду смотреть...

Там и остальные ссылки нормально выглядят,правдя я C# написал в запросе :)

insite2012
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 109
Зарегистрирован: 22.03.2013 (Пт) 8:06
Откуда: Россия, Саратов

Re: Работа с текстом и внешними устройствами.

Сообщение insite2012 » 29.03.2013 (Пт) 16:16

Размер файла - 2-4 Кбайта.
Кодировка - открываю блокнотом (изначально там формат i2c, но он в блокноте отлично читабелен).
Удаляются определенные символы из каждой строки, оставшиеся необходимо распределить по определенным адресам в hex (можно и в bin).
Конвертирование - необходимо из данного файла получить файл, используемый как информация в Eeprom. Ниже пример одной строки с указанием, что удалить.
"WRITE_EEP 8 0xA0 0x10 0x41 0x32 0x35 0x20 0x10 0x00 0xE9 0x04"
Сначала стоит команда на запись, удаляется. Потом размер и идентификатор - тоже. 0х10 - начальный адрес, и потом данные, начинающиеся с этого адреса. И так дальше. Префикс 0х тоже удаляется.
То есть, в hex формате файла по адресу 0010 будет 41, по адресу 0011 - 32 и дальше так же. И так несколько строк.
Dulce et decorum est pro patria mori

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 29.03.2013 (Пт) 16:54

Писал тут, так что с багами скорее всего:
Код: Выделить всё
For Each Line As String In File.ReadAllLines(Filename)
  Dim Info() As Integer = Line.Split(" ", StringSplitOptions.RemoveEmptyEntries).Skip(1).Select(Function(S) Convert.ToInt32(S.Substring(2), 16)).ToArray()
  For Q As Integer = 0 To Info(0) - 1
    Res(Info(2) + Q) = Info(Q + 3)
  Next Q
Next Line

insite2012
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 109
Зарегистрирован: 22.03.2013 (Пт) 8:06
Откуда: Россия, Саратов

Re: Работа с текстом и внешними устройствами.

Сообщение insite2012 » 29.03.2013 (Пт) 16:58

Ок, спасибо! Буду пробовать! Будут вопросы - обращусь!
Dulce et decorum est pro patria mori


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

    TopList