Как считать из обычного текстового файла определенную строку

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Forgott
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 05.11.2006 (Вс) 10:59

Как считать из обычного текстового файла определенную строку

Сообщение Forgott » 15.07.2007 (Вс) 11:41

Парни! Тема такая: пишу прогу, которая сохраняет обычный текстовый файл и потом считывает из него. Проблема в том, что данные в файл сохраняются каждый раз по разному, это может быть и пять строк, а может и десять. Так вот, нужно, чтобы считывались скажем пять определенных строк, но если двух нет, то не вылезала ошибка, что достигнут конец файла. Вот пример:

1-й вариант.
----------------

- Записываем файл (в нем пятнадцать строк, максимум подразумевается двадцать пять);
- Открываем и считываем каждую пятую строку пять раз,
но чтобы не было ошибки.

2-й вариант
---------------

- Записываем файл (в нем пять строк, максимум подразумевается двадцать пять);
- Открываем и считываем каждую пятую строку пять раз,
но чтобы не было ошибки.

Естественно, что где пустые строки, там значение равно нулю.
Заранее благодарен!

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 15.07.2007 (Вс) 12:26

Это надо?

Код: Выделить всё
Private Sub Foo()
    Dim strIn As String
    Dim file As Long, lLnCnt As Long, i As Long
    lLnCnt = 0
    file = FreeFile()
    Open "C:\Folder\File.txt" For Input As #file
        Do Until EOF(file)
            Line Input #file, strIn
            lLnCnt = lLnCnt + 1
            If lLnCnt Mod 5 = 0 Then
                'Длеаем что-то со строкой... хоть 5 раз
            End If
        Loop
    Close #file
End Sub
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

8Ball's
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 23
Зарегистрирован: 26.12.2006 (Вт) 16:10
Откуда: Питер

Сообщение 8Ball's » 15.07.2007 (Вс) 12:26

А не проще сначала считать весь файл, а потом вытащить от туда нужные строки?

Воабще расскажи поподробнее, что конкретно ты хочешь сделать, может все будет гораздо проще =)
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 93

    TopList