Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Удаление различного числа пустых строк / 6 сообщений из 6, страница 1 из 1
07.03.2008, 21:33
    #35179151
AntonioM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление различного числа пустых строк
Есть некий текстовый файл, заполненный строками со значениями

<Строка со значением 1>
<Строка со значением 2>
<Пустая строка>
<Пустая строка>
<Строка со значением 3>
<Строка со значением 4>
........

Причем строки со значениями чередуются с пустыми строками. Пустых строк может быть от двух подрят до произвольного числа (иногда и по 14 подрят) и они расположены совершенно спонтанно. Так вот, надо удалить все эти пустые строки. Помогите пожалуйста с кодом, а то ничего не получается.
...
Рейтинг: 0 / 0
08.03.2008, 21:11
    #35179682
gjghjc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление различного числа пустых строк
Открываем файл и переписываем данные из него в другой. Условием попадания строки во второй файл будет ее ненулевая длина. (Len(строка из файла)>0)
...
Рейтинг: 0 / 0
08.03.2008, 21:16
    #35179685
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление различного числа пустых строк
Как вариант: импортировать файл в Excel и отсортировать строки. Если их слишком много, тоже самое с Access.

Подрят, хм.

Успехоф.
...
Рейтинг: 0 / 0
09.03.2008, 14:22
    #35179993
AntonioM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление различного числа пустых строк
Всем спасибо!
Сделал вот так, если кому надо пусть использует :)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Dim myCol As New Collection
Dim i As Integer
Dim buf As String
Dim f As Long
f = FreeFile

Open "1.txt" For Input As #f
Do While Not EOF(f)
        Line Input #f, buf
        If buf <> "" Then
        myCol.Add buf
        End If
        Loop
        Close #f

Open "2.txt" For Append As #f
For i =  1  To myCol.Count
Print #f, myCol(i)
Next i
Close #f

Kill "1.txt"

Ну и если надо, файл 2.txt переименовываете в 1.txt
...
Рейтинг: 0 / 0
10.03.2008, 10:43
    #35180387
gjghjc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление различного числа пустых строк
Несколько предложений по оптимизации
1.
Я могу и ошибаться, но где то читал, что
Код: plaintext
If buf <> "" 
медленнее чем
Код: plaintext
Len(buf) <> 0 
2.
В данном случае использование коллекции лишь замедлит код. Так как поиск "пустых" строк у тебя происходит на этапе чтения данных из файла и заполнения коллекции то это только замедлит код, можно сразу писать информацию во второй файл
...
Рейтинг: 0 / 0
10.03.2008, 20:56
    #35181118
AntonioM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление различного числа пустых строк
gjghjc
2.
В данном случае использование коллекции лишь замедлит код. Так как поиск "пустых" строк у тебя происходит на этапе чтения данных из файла и заполнения коллекции то это только замедлит код, можно сразу писать информацию во второй файл

Приведи пример кода, если несложно.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Удаление различного числа пустых строк / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]