Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Обработка файла / 4 сообщений из 4, страница 1 из 1
22.07.2005, 04:21:07
    #33179204
Hardman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка файла
Доброго времени суток...
Стыдно ещё раз признаваться в своей неграмотности, но в чём она скрывается на этот раз я уже не могу найти сам...
Вроди всё по книге делал, но не работает...
Смысл в следущем, создаём на диске C: файл Test.txt, открываем, нажимаем несколько раз клавишу "Tab", сохраняем закрываем, программа должна заменить три таба на пробелы...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Private Sub Command1_Click()
MousePointer = vbHourglass 'Делаем из курсора мышки часики

FreeNumFile = FreeFile 'Получаем свободный номер для файла
PathFile = "C:\TestFile.txt" 'Задаём путь к файлу
Open PathFile For Binary As FreeNumFile 'Открываем файл в бинарном режиме доступа
Do Until EOF(FreeNumFile) = True 'Задаём цикл с проверкой на конец файла
PositionCursor = PositionCursor +  1  'Сдвигаем указатель вправо на один символ
Get #FreeNumFile, PositionCursor, Symb$ 'Считываем в переменную текстового типа
If Symb$ = Chr$( 9 ) Then 'Проверяем символ (а вдруг это "Tab")
Put #FreeNumFile, PositionCursor, Chr$( 32 ) 'Если результат проверки положительный меняем символ на пробел
End If 'Заканчиваем условие
Loop 'Заканчиваем цикл, либо начинаем с начала
Close FreeNumFile 'Закрываем файл

MousePointer = vbNormal 'Приводим курсор мышки в нормальный вид
End Sub
Прошу Вас господа, укажите мою ошибку...
...
Рейтинг: 0 / 0
22.07.2005, 10:43:47
    #33179503
Processor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка файла
MSDNOpen pathname For mode [Access access] [lock] As [#]filenumber [Len=reclength]
When you close files that were opened for Output or Append, the final buffer of output is written to the operating system buffer for that file. All buffer space associated with the closed file is released.
Вы не указали явно метод доступа Read Write
...
Рейтинг: 0 / 0
22.07.2005, 11:30:35
    #33179679
Hardman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка файла
Уважаемый "Processor", спасибо что откликнулись, я действительно забыл указать Access, но это было не столь обязательно...

Проблема несколько в другом, программа не выходит из цикла, т.е. насколько я смог установить несрабатывает проверка на конец файла...
Вот конкретно кусок кода который работает , но неверно...

Код: plaintext
1.
2.
3.
4.
5.
6.
Do Until EOF(FreeNumFile) = True 'Задаём цикл с проверкой на конец файла
PositionCursor = PositionCursor +  1  'Сдвигаем указатель вправо на один символ
Get #FreeNumFile, PositionCursor, Symb$ 'Считываем в переменную текстового типа
If Symb$ = Chr$( 9 ) Then 'Проверяем символ (а вдруг это "Tab")
Put #FreeNumFile, PositionCursor, Chr$( 32 ) 'Если результат проверки положительный меняем символ на пробел
End If 'Заканчиваем условие
Loop 'Заканчиваем цикл, либо начинаем с начала

Прошу Вас о помощи...
...
Рейтинг: 0 / 0
22.07.2005, 11:58:05
    #33179800
Hardman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка файла
Всем спасибо что откликнулись, я нашёл ошибку...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Private Sub Command5_Click()
MousePointer = vbHourglass

FreeNumFile = FreeFile
PathFile = "C:\Program Files\Resource Kit\sec_archive.txt"
Open PathFile For Binary Access Read Write As FreeNumFile
Symbol$ = String( 1 , " ")
Do Until EOF(FreeNumFile) = True
PositionCursor = PositionCursor +  1 
Get #FreeNumFile, PositionCursor, Symbol$
If Symbol$ = Chr$( 9 ) Then
Put #FreeNumFile, PositionCursor, Chr$( 32 )
End If
Loop
Close FreeNumFile

MousePointer = vbNormal
End Sub

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


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