Поиск в файле произвольного доступа - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.214 из 5