Рейтинг:
9
OriginalGriff
Вы не можете прочитать "определенный элемент" из текстового файла, потому что он не имеет никакого неявного порядка - фактически даже строки являются просто интерпретацией символов в файле: каждый раз, когда встречается символ новой строки (или пара символов, в зависимости от операционной системы), это конец предыдущей строки.
Ваш код предполагает, что данные находятся в строках, с данными, разделенными запятыми (это называется CSV или "запятыми разделенными значениями"), и единственный способ получить "четвертый элемент из каждой строки" - буквально прочитать каждую строку - что вы и делаете - и использовать Split- что вы и делаете - чтобы разбить ее на элементы. После разделения вы можете получить доступ к элементам каждой строки через индекс массива в strArr.
Лично? Я бы использовал CSVReader: Быстрый читатель CSV[^] который будет обрабатывать данные лучше, чем техника "грубой силы", как вы используете (поскольку она поддерживает текстовые строки, которые могут содержать запятые).
faiqaa
Спасибо за ваше время, не могли бы вы привести мне пример доступа к элементам каждой строки через индекс массива?
OriginalGriff
Ты ведь шутишь, правда?
Ты хочешь, чтобы я показал тебе, как это делается:
Dim item1 As String = strArr(0)
Dim item2 As String = strArr(1)
...
Или я что-то упускаю?
faiqaa
Привет, дело в том, что я пытался это сделать, но это все равно не сработало, поэтому я подумал, что делаю что-то не так. Извини, если я обидел тебя, задав глупый вопрос.
OriginalGriff
Не обижайся, но .....
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы. Так что, если Вы нам ничего не скажете, нам нечего будет делать! (И вы удивитесь, как много людей хотят, чтобы мы писали для них такой код... :вздох: )
Так что же означает "это все еще не сработало"? Твой компьютер взорвался? Кошка убежала из дома? У тебя неправильные ценности? Чего вы ожидали, какой вклад внесли, какие результаты получили? Расскажите нам, что произошло, и покажите нам, какой код вы использовали, чтобы получить этот результат - или нам остается только гадать! :смеяться:
faiqaa
Это то, что я пытался использовать, кстати, я новый кодер, вот почему я не очень хорош в этом.
Частная суб frm7_Load(отправителя как объект, а равно EventArgs) обрабатывает ключевое слово mybase.Загрузить
Dim STUDENT_FILE As String = ("C:\Users\Windows 7. User\Desktop\Stock.txt")
Дим objReader, так как новая система.ИО.Что streamreader(STUDENT_FILE)
Dim strDataline As String 'строка данных
Dim strArr(2) As String ' массив для битов строки
Дим blfound как логическое
Список listbox1.Предметы.Четкий()
Делать, пока objReader.Peek() <> -1 'считывает файл до конца.
Петля
strDataline = (objReader.ReadLine()) ' читать строку и хранить в переменной
strArr = strDataline.Split(",") 'разделить строку и поместить в массив
Dim item1 As Integer = strArr(0)
Dim item2 As String = strArr(1)
Dim item3 As Integer = strArr(2)
Dim item4 As Integer = strArr(3)
Если item4 < 4, то
Ящик для сообщений.Шоу("количество запаса низкое, пожалуйста, проверьте")
Конец, Если
В основном, когда я загружаю форму, данные отображаются, и буквально ничего не происходит, вместо этого он должен отображать msgbox. Я специально сохранил количество товара на складе как 3.
OriginalGriff
Начните с использования отладчика, чтобы точно выяснить, что происходит - поместите курсор на строку
Если item4 < 4, то
И установите точку останова (меню: "Debug...Переключить точку останова" - красная точка появится в начале строки, чтобы показать, что точка останова установлена - вы можете нажать на точку, чтобы удалить ее, или нажать "где должна быть точка", чтобы добавить точку останова. Попробуйте: вы поймете, что я имею в виду).
Запустите приложение в отладчике, и когда оно достигнет этой строки, оно остановится и позволит вам взять управление на себя. Теперь вы можете посмотреть на содержимое ваших переменных и увидеть, что именно вы в них имеете. Вы также можете запустить свой код построчно, используя функцию "один шаг".
Дайте ему попробовать, и посмотреть, если то, что вы думаете, должно происходить, это то, что на самом деле происходит!
faiqaa
У меня есть еще один вопрос, Что делать, если я хочу выделить/точно определить ряд акций, количество которых меньше 4? в настоящее время при каждом открытии формы отображается окно сообщения, если количество одного или нескольких продуктов меньше 4: "Количество товара слишком низкое, пожалуйста, внимательно проверьте". Спасибо.