|
Поиск и печать данных из .txt нужна помощь
|
|||
---|---|---|---|
#18+
Здравствуйте форумчане, Сразу предупреждаю что я уже 8 лет живу в Бельгии и программировать учусь тут, так что если я использую не те термины то строго не судите. У меня есть небольшая проблема с написанием очередной программы. Нужно написать программу которая позволяет найти и выбрать текстовый документ в котором хранятся данные. Примерно такого формата: статус/каталог/тип/группа1/группа2/группа3/код/продукт/ISBномер/.... и так далее 60 групп данных(на Нидерландском языке) И вот эти данные хранятся отдельными линиями, ну то есть через энтер. например: активный/j/книги/5970///100210/"название книги"/0-201-61592-7/... активный/j/книги/5993///100228/"название книги"/0-201-61575-1/... Нужно по названию продукта провести поиск во всём текстовом файле, найти все продукты(группа 8) со словом "inkthervulling" и вывести на экран полное название и цену(16 группа, перед 16 слэшем), после чего распечатать как прайслист с лого и адресом компании. вот то что у меня уже есть, дальше не получается. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Заранее большое спасибо за ответы и советы. Модератор: Тема перенесена из форума "Visual Basic". ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2014, 14:07 |
|
Поиск и печать данных из .txt нужна помощь
|
|||
---|---|---|---|
#18+
Строка у тебя уже получена. Теперь определи динамический массив, и функцией Split подели в него строку, указав разделитель (слэш). После чего просто выводи нужные элементы массива. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2014, 14:20 |
|
Поиск и печать данных из .txt нужна помощь
|
|||
---|---|---|---|
#18+
Но как я понимаю строка у меня слишком большая что бы влезать в ряд: "Index was outside ther bounds of the array." ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2014, 14:27 |
|
Поиск и печать данных из .txt нужна помощь
|
|||
---|---|---|---|
#18+
c05SepthНо как я понимаю строка у меня слишком большая что бы влезать в ряд: "Index was outside ther bounds of the array." Неверно. Эта ошибка говорит о том, что вы "вылезли" из массива. Количество найденных строк превысило 50. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2014, 14:44 |
|
Поиск и печать данных из .txt нужна помощь
|
|||
---|---|---|---|
#18+
c05Septh, Для создания коллекции найденных строк используйте List в него можно добавлять без опасений превысить предел. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2014, 14:45 |
|
Поиск и печать данных из .txt нужна помощь
|
|||
---|---|---|---|
#18+
Конечно, микроскоп, но можно еще регексами типа ^(.*)/(.*)/.../Название книги/.../(.*) $ и далее смотреть группы. Но это как вариант. Если речь идет об одноразовом прочтении файла, то File.ReadLines + Split Если о многоразовом, то File.ReadAllLines + Split => List<string[]> ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2014, 15:21 |
|
Поиск и печать данных из .txt нужна помощь
|
|||
---|---|---|---|
#18+
Хорошо спасибо большое, теперь мне нужно разбить данные и вывести 2 нужных элемента. Как мне найти именно нужные 2 и вывести их? вот пример одной из найденных строчек: 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\\\\ Выделил то что нужно распечатать. Вы уж простите, я не особо знаком с VB да и когда я шел на эту стажировку мне сказали что я буду чинить технику а не писать программы... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2014, 15:23 |
|
Поиск и печать данных из .txt нужна помощь
|
|||
---|---|---|---|
#18+
В байсике не сильны. Код: c# 1. 2. 3. 4. 5. 6.
Как то на глаз и без проверки так ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2014, 15:35 |
|
Поиск и печать данных из .txt нужна помощь
|
|||
---|---|---|---|
#18+
Мы так вообще сильны только в сборке техники) не понял вот эту строчку: var line = lines.where(L => L[7] == @"Inkthervulling HP 351XL, 14ml Kleur").FirstOrDefault(); так как у меня линий +-20 будет и все разные Но слешей там всегда одинаковое количество, вообще странная база такая, но ничего поделать не могу, базу использовать запретили. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2014, 15:42 |
|
Поиск и печать данных из .txt нужна помощь
|
|||
---|---|---|---|
#18+
c05SepthМы так вообще сильны только в сборке техники) не понял вот эту строчку: var line = lines.where(L => L[7] == @"Inkthervulling HP 351XL, 14ml Kleur").FirstOrDefault(); так как у меня линий +-20 будет и все разные Но слешей там всегда одинаковое количество, вообще странная база такая, но ничего поделать не могу, базу использовать запретили. чихать на количество линий, если их не многие тысячи строка 1) считать файл в список, элементом которого является массив строк строка 2) найти такой элемент, где 7-ой элемент в массиве имеет название "Inkthervulling HP 351XL, 14ml Kleur" строка 3) если такой элемент найден, выдать на экран 7 и 15 части этого элемента ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2014, 15:50 |
|
Поиск и печать данных из .txt нужна помощь
|
|||
---|---|---|---|
#18+
Но получается ты определённое название ищешь? Inkthervulling HP 351XL, 14ml Kleur Но вторая строка у меня допустим Inkthervulling HP 352, 25ml Zwart ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2014, 16:12 |
|
Поиск и печать данных из .txt нужна помощь
|
|||
---|---|---|---|
#18+
c05SepthНужно по названию продукта провести поиск во всём текстовом файле, найти все продукты(группа 8) со словом "inkthervulling" и вывести на экран полное название и цену(16 группа, перед 16 слэшем), после чего распечатать как прайслист с лого и адресом компании. where(L => L[7].Contains("inkthervulling")) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2014, 16:15 |
|
Поиск и печать данных из .txt нужна помощь
|
|||
---|---|---|---|
#18+
всё спасибо!) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2014, 16:27 |
|
|
start [/forum/topic.php?fid=20&fpage=126&tid=1403195]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 140ms |
0 / 0 |