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

Чтение файла произвольного доступа построчно

02.04.2019, 19:55. Показов 1557. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня есть файл с записями. Мне надо считать оттуда информацию. Файл открыт для произвольного доступа. Цикла нет, т.к при нажатии на кнопку, счетчик будет обновляться. При нажатии на кнопку, выдает ошибку, почему? Ошибка-"Требуется неотрицательное число"

VB.NET
1
2
3
4
5
Dim str as string ' Строка для считывания строки из файла
Dim q as integer=0 'номер строки
 FileOpen(1, "C:\\Rabota\\Rabota\\Book.txt", OpenMode.Random, OpenAccess.Read)
q+=1
 FileGet(1, str, q)    ' В это строке ошибка
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2019, 19:55
Ответы с готовыми решениями:

Считывание из файла произвольного доступа
Нужно считать записи из файла произвольного доступа в массив, но k становится больше количества...

Чтение txt файла построчно с поиском информации
Пересмотрел все варианты такого вопроса на форуме, ответа для себя не нашел, или не понял... ...

Чтение из файла построчно и заполнение полей окна стороннего приложения
Привет уважаемые форумчане. Нужна ваша помощь. Нужно чтобы прога читала текстовый файл и вписывала...

чтение файла построчно
Доброго времени суток, Начал программировать, и столкнулся с проблемой: begin ...

3
Модератор
Эксперт .NET
4303 / 3378 / 506
Регистрация: 27.01.2014
Сообщений: 6,180
03.04.2019, 01:50 2
А почему бы не загрузить все строки в массив и с ними потом работать? Что находится в файле то?

VB.NET
1
2
3
4
5
Dim q As Integer = -1 'Вынести за пределы обработчика событий нажатия кнопки
 
Dim strArray() As String = IO.File.ReadAllLines("C:\Rabota\Rabota\Book.txt", System.Text.Encoding.Default)
q += 1
MsgBox(strArray(q))
0
es geht mir gut
11272 / 4756 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
03.04.2019, 07:42 3
Пример
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
Public Class Form1
 
    Dim FileNumber, q As Integer, lenString As Integer = 10
 
    'Сначала создаём "правильный" файл
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        FileNumber = FreeFile()
        'FileOpen(FileNumber, "C:\\Rabota\\Rabota\\Book.txt", OpenMode.Random, OpenAccess.Read)
        FileOpen(FileNumber, "C:\tmp\Book.txt", OpenMode.Random, OpenAccess.Write)
        Dim s As String = ""
        For i As Integer = 1 To 9
            FilePut(FileNumber, StrDup(lenString, i.ToString), i, True)
        Next
        FileClose(FileNumber)
    End Sub
 
    'Открываем файл
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        FileNumber = FreeFile()
        'FileOpen(FileNumber, "C:\\Rabota\\Rabota\\Book.txt", OpenMode.Random, OpenAccess.Read)
        FileOpen(FileNumber, "C:\tmp\Book.txt", OpenMode.Random, OpenAccess.Read)
        q = 0
    End Sub
 
    'Читаем записи по порядку  
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim str As String = StrDup(lenString, " ") ' Строка для считывания строки из файла
        q += 1
        FileGet(FileNumber, str, q, True)
    End Sub
 
    'Закрываем файл
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        FileClose(FileNumber)
        q = 0
    End Sub
 
 
End Class
Миниатюры
Чтение файла произвольного доступа построчно  
1
Модератор
Эксперт .NET
4303 / 3378 / 506
Регистрация: 27.01.2014
Сообщений: 6,180
05.04.2019, 16:17 4
Ну а я в свою очередь предложу вариант с загрузкой всех строк в массив и далее работать уже с имеющимся массивом, не держа файл открытым постоянно.
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
Public Class Form1
 
    Dim q As Integer = -1
    Dim FileArray() As String = {}
 
 
    'Создаём файл из 9-ти строк (для теста)
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Dim arr As New List(Of String)
        For i As Integer = 1 To 9
            arr.Add(StrDup(10, i.ToString))
        Next
        IO.File.WriteAllLines(Application.StartupPath & "\Book.txt", arr, System.Text.Encoding.Default)
    End Sub
 
    'Читаем строки из файла в массив FileArray()
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        FileArray = {}
        FileArray = IO.File.ReadAllLines(Application.StartupPath & "\Book.txt", System.Text.Encoding.Default)
        q = -1
        If Not FileArray Is {} And FileArray.Count > 0 Then
            Me.Text = "Строки загружены"
        End If
    End Sub
 
    'Читаем записи по порядку из массива строк
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If Not FileArray Is {} And FileArray.Count > 0 Then
            Select Case q
                Case 0 To FileArray.Count - 2
                    q += 1
                Case Else
                    q = 0
            End Select
 
            TextBox1.Text = FileArray(q)
        Else
            MsgBox("Array is empty or did not fill yet")
        End If
    End Sub
 
    'Очищем массив строк
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        FileArray = {}
        TextBox1.Text = String.Empty
        Me.Text = "Строки очищены"
    End Sub
 
End Class
Миниатюры
Чтение файла произвольного доступа построчно  
Вложения
Тип файла: zip Проект.zip (11.3 Кб, 0 просмотров)
1
05.04.2019, 16:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.04.2019, 16:17
Помогаю со студенческими работами здесь

Чтение из файла построчно
файл 1.txt: 123;asd 345;zxc 23r23;v234 Как считывать постепенно по 1 строчке и разделять на 2...

Чтение из файла построчно
Здравствуйте! Помогите пожалуйста! По заданию нужно считать данные из файла в массив структур,...

Чтение файла построчно
Требуется занести в массивы строчки. В каждый массив своя строчка. Для этого решил использовать...

Чтение построчно из файла
В параметрах командной строки задано имя текстового файла, в каждой строке которого содержится два...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru