![]() |
|
Модераторы: diadiavova, gambit |
![]()
|
|
| c05Septh |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 27.2.2014 Репутация: нет Всего: нет |
Здравствуйте форумчане,
Сразу предупреждаю что я уже 8 лет живу в Бельгии и программировать учусь тут, так что если я использую не те термины то строго не судите. У меня есть небольшая проблема с написанием очередной программы. Нужно написать программу которая позволяет найти и выбрать текстовый документ в котором хранятся данные. Примерно такого формата: статус/каталог/тип/группа1/группа2/группа3/код/продукт/ISBномер/.... и так далее 60 групп данных(на Нидерландском языке) И вот эти данные хранятся отдельными линиями, ну то есть через энтер. например: активный/j/книги/5970///100210/"название книги"/0-201-61592-7/... активный/j/книги/5993///100228/"название книги"/0-201-61575-1/... Нужно по названию продукта провести поиск во всём текстовом файле, найти все продукты(группа 8) со словом "inkthervulling" и вывести на экран полное название и цену(16 группа, перед 16 слэшем), после чего распечатать как прайслист с лого и адресом компании. вот то что у меня уже есть, дальше не получается.
Заранее большое спасибо за ответы и советы |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Первый вопрос касается формата данных: это требование заказчика(работодателя) или собственное ноу-хау? Если собственное, то возможно следует ознакомиться с работой с базами данных или по крайней мере с форматами, более приспособленными для таких целей, чем простой текст(например XML).
Второе(если делаешь как делаешь) - не используй массив, когда заранее неизвестно количество элементов. Есть более удобные коллекции, в первую очередь рассмотри List(Of T), по крайней мере там не надо писать количество элементов при создании, а они просто добавляются в конец списка. Ну и третье - не совсем понятно, что именно дальше не получается. Если не можешь разбить строку по слешам, то это делается так String.Split, ну, а формирование выходных данные - это уже на твой вкус. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| c05Septh |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 27.2.2014 Репутация: нет Всего: нет |
Это идея заказчика который категорически против использования баз данных, да и у меня самого не так много времени что бы с ними ознакомиться, прохожу стажировку, сам думал что буду компьютеры чинить а тут...
вот пример одной из найденных строчек: actief\J\HARDWARE\3016\\\1333275\Inkthervulling HP 351XL, 14ml Kleur\\CATRIDGE EXPERT\01\09\2007\\21\21,95\\\\\\-\\\\\\\\\\\0\5\0\0\15\\\\\100506\Cremdalin BVBA (CXP/The refil Store)\\13.6\EUR\1\\-\-\\-\-\-\-\J\J\\\\ Выделил то что нужно распечатать. А вообще я не хочу писать программы, так получилось) И последние 6 дней я писал по 8 часов в сутки что это мне так надоело что я уже не могу думать. Мне во сне сняться ошибки компилирования. По поводу листа сейчас ознакомлюсь |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Можно вытянуть регулярками например, но просто выделить что надо - недостаточно. Надо описать признаки, по которым эти фрагменты однозначно идентифицируются. Ну, например точный порядковых номер между слешами или к примеру, надо вытащить число с запятой, при этом других чисел с запятой нет, а это обязательно ее имеет. То есть надо точно сформулировать, что именно мы ищем. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| c05Septh |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 27.2.2014 Репутация: нет Всего: нет |
есть точное количество слешей, их 59-60 если не ошибаюсь.
мне нужны данные между 7-8, 15-16 |
|||
|
||||
| diadiavova |
|
||||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Это решает метод Split, ты просто указываешь ему в качестве разделителя слеш и в результате получаешь массив строк между ними и нужные тебе элементы можно будет найти по одним и тем же индексам. Вот код
Вот вывод по твоей строке
То есть, в выходном массиве интересующие тебя строки будут находиться под индексами 7 и 15 соответственно. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
||||||
|
|||||||
| c05Septh |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 27.2.2014 Репутация: нет Всего: нет |
Идеально, большое спасибо
|
|||
|
||||
| c05Septh |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 27.2.2014 Репутация: нет Всего: нет |
Прошу прощения за тупость, как мне эти элементы вывести в глобальные переменные в ряды?
|
|||
|
||||
| c05Septh |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 27.2.2014 Репутация: нет Всего: нет |
Всё нашел, всем спасибо.)
|
|||
|
||||
![]()
|
| Правила форума VB .NET | |
|
|
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |