Страница: 1 |
Страница: 1 |
Вопрос: Знатокам VB: Сортировка списка
Добавлено: 30.01.06 11:28
Автор вопроса: Маха Мур
Привет!
Не успел с вами попрощаться,
как пришлось снова обращаться! (Ух,ты! Игра слов!)
Пишу прогу, надо загрузить файл в виде строк,
в листбокс, а потом в текстбокс вводишь слово, и в листбоксе должны остаться только строки, в которых есть это слово. И листбокс должен сортировать список по первой введенной в другой текстбокс букве.
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #1
Добавлено: 30.01.06 11:54
1. Грузишь файл в массив строк. Методов много, к примеру, через Input.
2. При вводе слова прогоняешь этот массив через функцию Filter.
3. Зачищаешь ListBox и кидаешь туда полученый массив.
Сортировка в листбоксе примитивная, по алфавиту.
Вообще то он для этого не предназначен, используй че-нить другое.
Номер ответа: 2
Автор ответа:
FireStorm-X
Вопросов: 0
Ответов: 1
Профиль | | #2
Добавлено: 03.02.06 00:22
Привет! В чем конкретно у тебя возникла проблема?
При загрузке файла?
При фильтрации?
При сортировке?
И прошу объясни что ты подразумеваешь под сортировкой по букве...
Номер ответа: 3
Автор ответа:
Маха Мур
Вопросов: 12
Ответов: 48
Профиль | | #3
Добавлено: 03.02.06 06:42
Хелп по блокноту видел? Там, в указателе, вводишь букву, и список проручивается до первого строки, начинающейся на эту букву. Это - сортировка по букве
Дальше. Поиск в том же хелпе видел? Вводишь слово в текст бокс, и в каком нибудь лист боксе от всего списка остаються только те строки, в которых есть такое слово. Это - фильтрация.
Теперь, что касаеться проблем. Когда гружу файл через лине_инпут то в лист грузиться только первая строка. И вообще, есть у кого-нибудь похожий примерчик? Буду очень рад, если поделитесь.
Номер ответа: 4
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #4
Добавлено: 03.02.06 18:13
FireStorm-X: По первой наверное букве...
Номер ответа: 5
Автор ответа:
Victor
ICQ: 345743490
Вопросов: 42
Ответов: 385
Web-сайт:
Профиль | | #5
Добавлено: 03.02.06 18:25
Ну вот так
Dim LineFormTextFile As String
Open File For Input As 1
List1.Clear
Do Until EOF(1)
Line Input #1, LineFromTextFile
List1.AddItem LineFromTextFile
Loop
Close 1
Чтобы список автоматом был сортированным, установи свойство Sorted у List1 на True.
Чтобы потом можно было без особых усилий делать фильтрацию, надо грузить список не в List1, а в массив, и создать процедурку, выводящую этот массив с фильтром в листбокс.
С прокруткой не могу подсказать: сам так не знаю, а VB под рукой нет.