Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
killerb
-
- Новичок

-
-
- Сообщения: 43
- Зарегистрирован: 27.01.2005 (Чт) 23:08
- Откуда: Днепропетровск
-
killerb » 26.06.2005 (Вс) 18:49
Доброго времени суток!
Пишу программу для замены одного текста другим в указанной папке. Программа готова, вот только ошибку выдает в самом странном месте:
- Код: Выделить всё
Public Sub ReWrite(ByVal Path As String, FindText As String, ReplaceText As String)
Dim SaveText As String
Dim InputText As String
Open Path For Input As #8
Do
Line Input #8, InputText
SaveText = SaveText & InputText & vbCrLf
Loop Until EOF(8)
Close #8
SaveText = Replace(SaveText, FindText, ReplaceText)
Open Path For Output As #9'Тут выскакивает ошибка "Файл уже открыт"
Print #9, SaveText
Close #9
End Sub
Пожалуйста помогите исправить код!
Жизнь - это карусель, на которой никому не дано удержаться надолго. Стивен Кинг
-
a_mayor
-
- Новичок

-
-
- Сообщения: 41
- Зарегистрирован: 02.06.2005 (Чт) 21:44
a_mayor » 26.06.2005 (Вс) 19:00
Проблема не в коде. Код работает нормально.
У тебя видимо файл в памяти где-то завис или параллельно кем-то открыт и недоступен для записи.
Попробуй перезапустить Басик.
Или попробуй запусти функцию Reset в коде.
-
killerb
-
- Новичок

-
-
- Сообщения: 43
- Зарегистрирован: 27.01.2005 (Чт) 23:08
- Откуда: Днепропетровск
-
killerb » 26.06.2005 (Вс) 22:50
Вроде код в порядке, а что это за Reset и с чем его едят ?
Жизнь - это карусель, на которой никому не дано удержаться надолго. Стивен Кинг
-
killerb
-
- Новичок

-
-
- Сообщения: 43
- Зарегистрирован: 27.01.2005 (Чт) 23:08
- Откуда: Днепропетровск
-
killerb » 26.06.2005 (Вс) 22:55
Все, нашел ошибку. Действительно файл был открыт еще одним Sub'ом.
Жизнь - это карусель, на которой никому не дано удержаться надолго. Стивен Кинг
-
GSerg
-
- Шаман

-
-
- Сообщения: 14286
- Зарегистрирован: 14.12.2002 (Сб) 5:25
- Откуда: Магадан
GSerg » 27.06.2005 (Пн) 2:23
Вот именно для этого придумали функцию FreeFile...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас
-
Tin
-
- Woodsman

-

-
- Сообщения: 1001
- Зарегистрирован: 08.12.2001 (Сб) 11:00
- Откуда: Kazakhstan
-
Tin » 27.06.2005 (Пн) 7:32
а точнее:
dim fileno as integer
fileno=freefile
open filename for output as fileno
print #fileno,"text"
close fileno
888888__88__88____88
__88________8888__88
__88____88__88__8888
__88____88__88____88
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, Google-бот, SemrushBot, Yandex-бот и гости: 8