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

-

-
- Сообщения: 5004
- Зарегистрирован: 12.04.2003 (Сб) 11:59
- Откуда: Из гробницы :)
-
Ramzes » 07.01.2005 (Пт) 13:47
Знаю с чего начинаеться строка например
моя строка
как мне ее удалить из файла
-
A.A.Z.
-
- Член-корреспондент академии VBStreets

-
-
- Сообщения: 3035
- Зарегистрирован: 30.06.2003 (Пн) 13:38
-
A.A.Z. » 07.01.2005 (Пт) 14:08
- Код: Выделить всё
Dim S$, Arr$(), I&
Open "C:\MyFile.txt" For Input As #1
S = Input(LOF(1), 1)
Close #1
Arr = Split(S, vbCrLf)
For I = LBound(Arr) To UBound(Arr)
If Left(Arr(I), Len("моя строка")) = "моя строка" Then Arr(I) = ""
Next
S = ""
For I = LBound(Arr) To UBound(Arr)
If Arr(I) <> "" Then S = S & Arr(I) & vbCrLf
Next
S = Left(S, Len(S) - 1)
Open "C:\MyFile.txt" For Output As #1
Print #1, S
Close #1
-
RayShade
-
- Scarmarked

-

-
- Сообщения: 5511
- Зарегистрирован: 02.12.2002 (Пн) 17:11
- Откуда: Russia, Saint-Petersburg
-
RayShade » 08.01.2005 (Сб) 15:53
Только надо учесть, что пример AAZ можно использовать только если в файле нет других строк. В противном случае все остальные строки будут потеряны.
I don't understand. Sorry.
-
tyomitch
-
- Пользователь #1352

-

-
- Сообщения: 12822
- Зарегистрирован: 20.10.2002 (Вс) 17:02
- Откуда: חיפה
tyomitch » 08.01.2005 (Сб) 19:27
RayShade, ты неправ. Код AAZ работает корректно.
-
Ramzes
-
- Скромный человек

-

-
- Сообщения: 5004
- Зарегистрирован: 12.04.2003 (Сб) 11:59
- Откуда: Из гробницы :)
-
Ramzes » 12.01.2005 (Ср) 17:38
2 A.A.Z. Спасибо, ты как всегда в точку.
А вот мой код
- Код: Выделить всё
Dim myArr() As String
Dim arVal As Integer
Private Sub Form_Load()
arVal = 0
Open "c:\1.txt" For Input As #1
Do Until EOF(1)
Line Input #1, t
tt = tt + t & vbCrLf
arVal = arVal + 1
Loop
Close #1
ReDim myArr(0 To arVal)
arVal = 0
Open "c:\1.txt" For Input As #1
Do Until EOF(1)
Line Input #1, w
myArr(arVal) = w
arVal = arVal + 1
Loop
For e = 0 To arVal
If myArr(e) = "Text1" Then
myArr(e) = "FuckIt"
End If
Next
For q = 0 To arVal
Text1.Text = Text1.Text & myArr(q) & vbCrLf
Next
End Sub
Дурной конечно, но код!
-
alibek
-
- Большой Человек

-
-
- Сообщения: 14205
- Зарегистрирован: 19.04.2002 (Пт) 11:40
- Откуда: Russia
alibek » 13.01.2005 (Чт) 8:54
Ну вы, блин, даете... (c).
А не лучше ли по другому?
- Код: Выделить всё
Dim FN1 As Integer, FN2 As Integer, S As String
FN1 = FreeFile
Open "file1.txt" For Input As #FN1
FN2 = FreeFile
Open "~file" For Output As #FN2
While Not EOF(FN1)
Line Input #FN1, S
Select Case S
Case "Tag String"
Case Else
Print #FN2, S
End Select
Wend
Close #FN1, #FN2
Kill "file1.txt"
Name "~file" As "file1.txt"
И быстрее, и памяти меньше кушает.
Lasciate ogni speranza, voi ch'entrate.
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: Google-бот, PetalBot, SemrushBot и гости: 5