Поиск в файле произвольного доступа - VB
Формулировка задачи:
Приветствую всех!
Имеется файл basa_videocard.bvd (расширение произвольное, файл легко открывается блокнотом)
В этом файле хранятся строки данных. По 11 полей в одной строке. (модель, производитель, типа памяти, объём, ширина шины данных, тех процесс, поддержка карточкой SLI\cross fire, через какой разъем подключается, версия шейдеров, цена видеокарты).
Задача:
Открыть файл в произвольном доступе.
Сделать поисковую форму. Форма содержит в себе несколько полей. Поиск должен выполняться как по одному любому критерию, так и по нескольким полям одновременно.
Допустим если ввести nvidia, то должны отобразиться все строки (все видеокарты) на данном чипе.
А если ввести "128 бит" в одно поле и "40 nm" в другое и "PCI Express 2.0 x16" в третье, то должны отобразиться строки (видеокарты) которые содержат в себе эти характеристики.
Полей для поиска соответственно 11.
Так же должно быть отдельное поле, которое будет искать по всем критериям сразу.
т.е. если я введу букву "а" то мне должны отобразиться строки, которые содержат данный символ в любом из полей.
Результаты можно выводить любым способом.
Немного погуглив понял, что нужно использовать подстроки, но как это и что это такое никак не соображу.
Если что-то не понятно, пишите, попробую объяснить по-другому.
Надеюсь на помощь!
Решение задачи: «Поиск в файле произвольного доступа»
textual
Листинг программы
With MSHFlexGrid1 .RowHeight(0) = 450 .WordWrap = True .Width = Width .Left = 0 Ms = (.Width - 2800) / 100 .Cols = 12 .ColWidth(0) = 3 * Ms: W = 0: Текст1(0).Left = W: Текст1(0).Text = "": Текст1(0).Width = .ColWidth(0) .ColWidth(1) = 20 * Ms: W = W + .ColWidth(0): Текст1(1).Left = W: Текст1(1).Text = "": Текст1(1).Width = .ColWidth(1): .TextMatrix(0, 0) = "№" .ColWidth(2) = 10 * Ms: W = W + .ColWidth(1): Текст1(2).Left = W: Текст1(2).Text = "": Текст1(2).Width = .ColWidth(2): .TextMatrix(0, 1) = "Название" .ColWidth(3) = 7 * Ms: W = W + .ColWidth(2): Текст1(3).Left = W: Текст1(3).Text = "": Текст1(3).Width = .ColWidth(3): .TextMatrix(0, 2) = "Производитель" .ColWidth(4) = 10 * Ms: W = W + .ColWidth(3): Текст1(4).Left = W: Текст1(4).Text = "": Текст1(4).Width = .ColWidth(4): .TextMatrix(0, 3) = "Тип памяти" .ColWidth(5) = 12 * Ms: W = W + .ColWidth(4): Текст1(5).Left = W: Текст1(5).Text = "": Текст1(5).Width = .ColWidth(5): .TextMatrix(0, 4) = "Объём памяти" .ColWidth(6) = 8 * Ms: W = W + .ColWidth(5): Текст1(6).Left = W: Текст1(6).Text = "": Текст1(6).Width = .ColWidth(6): .TextMatrix(0, 5) = "Разрядность шины" .ColWidth(7) = 15 * Ms: W = W + .ColWidth(6): Текст1(7).Left = W: Текст1(7).Text = "": Текст1(7).Width = .ColWidth(7): .TextMatrix(0, 6) = "Тех. процесс" .ColWidth(8) = 15 * Ms: W = W + .ColWidth(7): Текст1(8).Left = W: Текст1(8).Text = "": Текст1(8).Width = .ColWidth(8): .TextMatrix(0, 7) = "Поддержка SLI/Cross Fire" .ColWidth(9) = 7 * Ms: W = W + .ColWidth(8): Текст1(9).Left = W: Текст1(9).Text = "": Текст1(9).Width = .ColWidth(9): .TextMatrix(0, 8) = "Тип подключения" .ColWidth(10) = 7 * Ms: W = W + .ColWidth(9): Текст1(10).Left = W: Текст1(10).Text = "": Текст1(10).Width = .ColWidth(10): .TextMatrix(0, 9) = "Шейдеры" .ColWidth(11) = 7 * Ms: W = W + .ColWidth(10): Текст1(11).Left = W: Текст1(11).Text = "": Текст1(11).Width = .ColWidth(11): .TextMatrix(0, 10) = "DirectX" .ColWidth(12) = 7 * Ms: W = W + .ColWidth(11): Текст1(12).Left = W: Текст1(12).Text = "": Текст1(12).Width = .ColWidth(12): .TextMatrix(0, 11) = "Цена" End With
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д