Как изменить символ(ы) в текстовом файле?

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

Как изменить символ(ы) в текстовом файле?

Сообщение NaJOrT » 22.03.2006 (Ср) 6:11

Пишу такой код, но он работает для строк:

Код: Выделить всё
CODEPrivate Sub Command1_Click()
Dim fso, a, f, retstring, retstream
Const ForReading = 1, ForWriting = 2
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile("d:\realise.nfo")
Set a = f.OpenAsTextStream(ForReading, False)
Do While a.AtEndOfStream <> True
retstring = a.ReadLine
If retstring Like "NNN" Then
retstring = "najort"
End If
retstream = retstream & retstring & vbCrLf
Loop
a.Close
Set a = f.OpenAsTextStream(ForWriting, False)
a.Write retstream
a.Close
End Sub


Примерное содержимое файла realise.nfo:


Код: Выделить всё
---------------------------------Info---
-
-
- Name: NNN
- Date: DDD
-----------------------------------------




После исполнения вышенаписанного кода получаем:

Код: Выделить всё
---------------------------------Info---
-
-
najort
- Date: DDD
-----------------------------------------



А хотелось бы:

Код: Выделить всё
---------------------------------Info---
-
-
- Name: najort
- Date: DDD
-----------------------------------------




P.S. Заранее благодарю за ответ. Компилятор: MS Visual Basic 6.0 SP5

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 22.03.2006 (Ср) 6:19

Код: Выделить всё
If retstring Like "NNN" Then
retstring = Replace(retstring, "NNN", "najort")
End If
Изображение

NaJOrT
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 22.03.2006 (Ср) 4:19

Сообщение NaJOrT » 22.03.2006 (Ср) 6:33

tyomitch писал(а):
Код: Выделить всё
If retstring Like "NNN" Then
retstring = Replace(retstring, "NNN", "najort")
End If

Всё бы классно, но данный код не работает, точнее работает, но не так, как нужно, а именно:

Работает:
NNN
Получается:
najort
Не работает:Name: NNN
Получается:
Name: NNN

NaJOrT
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 22.03.2006 (Ср) 4:19

Сообщение NaJOrT » 22.03.2006 (Ср) 6:38

Все получилось, забыл про **.

NaJOrT
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 22.03.2006 (Ср) 4:19

Сообщение NaJOrT » 22.03.2006 (Ср) 6:39

Спасибо большое!

NaJOrT
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 22.03.2006 (Ср) 4:19

Сообщение NaJOrT » 22.03.2006 (Ср) 11:49

Подскажите ещё маленький вопросик,
есть Text1.Text=5
Как можно в текстовый файл добавить столько количество символов, сколько в Text1.Text?

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 22.03.2006 (Ср) 12:28

То есть добавить 5 символов? А каких символов? Можно использовать функцию String(number, character), где number - число символов, а character - код символа.
Весь мир матрица, а мы в нем потоки байтов!

NaJOrT
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 22.03.2006 (Ср) 4:19

Сообщение NaJOrT » 23.03.2006 (Чт) 7:02

Наверно это. Спасибо.


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

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

Сейчас этот форум просматривают: Yandex-бот и гости: 118

    TopList