Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/14: Рейтинг темы: голосов - 14, средняя оценка - 4.64
2 / 2 / 0
Регистрация: 10.02.2011
Сообщений: 15

Разобрать строку в Listbox на подстроки

10.04.2011, 18:22. Показов 2690. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
нужно разобрать строку таким образом что бы при выборе строки в листбоксе, в окнах текстбокса отображались значения разделенные знаком ;

как это можно реализовать в vb
Миниатюры
Разобрать строку в Listbox на подстроки  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.04.2011, 18:22
Ответы с готовыми решениями:

Разбить строку на подстроки и заполнить ListBox
Будем писать в техбох слова через запятую , Нужно чтобы эти слова падали в Листбох ( тоесть через каждую запятую ) Слова будем писать...

Поиск подстроки внутри данной строки, замена найденной подстроки на другую строку
Выполнить поиск подстроки внутри данной строки,замену найденной подстроки на другую строку Пример Исходная строка: aaaabbbaaa ...

Считать файл и разобрать его строки на подстроки
Нужно считать файл: 2015 04 17 08:57:21 ENTRADA 76500243N 2015 04 17 08:58:32 ENTRADA 88905424M 2015 04 17 08:59:57 ENTRADA...

6
 Аватар для gitarillo
755 / 554 / 48
Регистрация: 17.06.2010
Сообщений: 1,041
Записей в блоге: 1
10.04.2011, 19:05
bulloc,
Слышал про такую функцию Split?
1
2 / 2 / 0
Регистрация: 10.02.2011
Сообщений: 15
11.04.2011, 17:30  [ТС]
вчера прочел про сплит, вот мой код, все работает

VB.NET
1
2
3
4
5
6
7
8
9
10
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        Dim str1, str2() As String
        str1 = ListBox1.SelectedItem
        str2 = str1.Split(New Char() {";"})
        TextBox3.Text = (str2(0))
        TextBox4.Text = (str2(1))
        TextBox5.Text = (str2(2))
        TextBox6.Text = (str2(3))
        TextBox7.Text = (str2(4))
    End Sub
еще вопрос как избавиться от этих знаков в тексте?
Миниатюры
Разобрать строку в Listbox на подстроки  
0
 Аватар для gitarillo
755 / 554 / 48
Регистрация: 17.06.2010
Сообщений: 1,041
Записей в блоге: 1
11.04.2011, 17:43
Это у тебя походу символы перехода на новую строку. Я так понимаю в листбокс читаешь из файла. А откуда символы появляются в файле надо тебя спросить. Как ты записываешь файл? Если программно, код покажи.
0
2 / 2 / 0
Регистрация: 10.02.2011
Сообщений: 15
11.04.2011, 18:35  [ТС]
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
 Dim streamer As IO.StreamReader
 
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        OpenFileDialog1.ShowDialog()
        TextBox1.Text = OpenFileDialog1.FileName
    End Sub
 
 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        streamer = IO.File.OpenText(TextBox1.Text)
        Dim mystring() As String = streamer.ReadToEnd.Split(vbNewLine)
        ListBox1.Items.AddRange(mystring)
    End Sub
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        ListBox1.Items.Add(TextBox2.Text)
    End Sub
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Try
            ListBox1.Items.Remove(ListBox1.SelectedItem)
        Catch ex As Exception
            'do nothing'
        End Try
    End Sub
 
    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        ListBox1.Items.Clear()
    End Sub
 
    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        Dim saveral As Integer = 1
        Dim listpath As String = "D:\текст\1.txt"
        saveral = saveral + 1
        For i = 0 To ListBox1.Items.Count - 1
            ListBox1.SetSelected(i, True)
            Dim listwrite As System.IO.StreamWriter
            listwrite = My.Computer.FileSystem. _
            OpenTextFileWriter(listpath, True)
            listwrite.WriteLine(ListBox1.Items(i))
            listwrite.Close()
        Next
 
    End Sub
 
    Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        Try
            Dim str1, str2() As String
            str1 = ListBox1.SelectedItem
            str2 = str1.Split(New Char() {";"})
            TextBox3.Text = (str2(0))
            TextBox4.Text = (str2(1))
            TextBox5.Text = (str2(2))
            TextBox6.Text = (str2(3))
            TextBox7.Text = (str2(4))
 
        Catch ex As Exception
            MsgBox("ошибка!")
        End Try
    End Sub
вот весь код
да это переносы строк, каким способом это убрать
сам тестовый файл создаю в notepad++ в таком формате(ниже), пробовал блокнотом тоже самое

id;name;email;phone;city
id1;name1;email1;phone1;city1
id2;name2;email2;phone2;city2
0
 Аватар для gitarillo
755 / 554 / 48
Регистрация: 17.06.2010
Сообщений: 1,041
Записей в блоге: 1
11.04.2011, 20:33
Пробу изменить способ чтения файла на этот:
Чтение из файла
VB.NET
1
2
3
4
5
6
Dim fn As Integer = FreeFile()
        FileOpen(fn, "Путь", OpenMode.Input)
        While Not EOF(fn)
            ListBox1.Items.Add(LineInput(fn))
        End While
        FileClose(fn)
Запись файла:
VB.NET
1
2
3
4
5
6
Dim fn As Integer = FreeFile()
 FileOpen(fn, "Путь", OpenMode.Output)
        For i As Integer = 0 To Me.ListBox1.Items.Count - 1
            PrintLine(fn, Me.ListBox1.Items(i))
        Next
        FileClose(fn)
1
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
11.04.2011, 21:10
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Уходим от циклов: Чтение:
VB.NET
1
ListBox1.Items.AddRange(IO.File.ReadAllLines("C:\1.txt", System.Text.Encoding.Default))
Без права на ошибку
Запись:
VB.NET
1
2
3
        Dim S(ListBox1.Items.Count - 1) As String
        ListBox1.Items.CopyTo(S, 0)
        IO.File.WriteAllLines("C:\111111.txt", S)
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.04.2011, 21:10
Помогаю со студенческими работами здесь

Разбить строку на все "связные" подстроки. Получившиеся подстроки записать в вектор
Нужно разбить минимальную строку на "связные" подстроки Например: строка Mas: "qwe" нужны подстроки:...

Ввести строку и подстроку, и вывести позицию первого вхождения подстроки в строку
Ваша программа должна предложить ввести строку и подстроку, и вывести номер символа для первого вхождения подстроки в строку (например, для...

Listbox создание подстроки
Привет всем, можно ли сделать в ListBox подстроку для информации к основной строки? Или подскажите может есть какой-то компонент для такой...

Программа должна предложить ввести строку и подстроку, и вывести все вхождения подстроки в строку
Прошла лекция на данную тему, я прослушав понял - что я ничего не понял :) Вообщем дали такое задание : Программа должна предложить...

Введите строку и подстроку. Удвойте все найденные вхождения подстроки в строке. Выведите преобразованную строку
Введите строку и подстроку. Удвойте все найденные вхождения подстроки в строке. Выведите преобразованную строку


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru