28. januar 2004 - 22:29Der er
3 kommentarer og 1 løsning
Delete line i text fil
Jeg skal have slettet en linie i en text fil, det er dog ikke en linje som har et bestem nummer... den skal søge efter navnet og slette det hvis det findes.
Texten som den skal finde skal selfølgelig hente fra en variabel.
Public Sub DeleteLine(ByVal strFile As String, ByVal strDelete As String) Dim strOut As String Dim strLine As String Dim intFree As Integer
intFree = FreeFile Open strFile For Input As #intFree Do While Not EOF(intFree) Line Input #intFree, strLine If InStr(1, strLine, strDelete, vbTextCompare) = 0 Then strOut = (strOut & strLine & vbCrLf) End If Loop Close #intFree
Kill strFile
intFree = FreeFile Open strFile For Output As #intFree Print #intFree, strOut; Close #intFree End Sub
Private Sub Form_Load() Call DeleteLine("C:\test.txt", "navn som er i linje") End Sub '---------------------------- Form1 ----------------------------
Private Sub Command1_Click() Dim MinString() As Variant I = 1 Open "C:\Fil.txt" For Input As #1 Do Until EOF(1) ReDim Preserve MinString(I) Line Input #1, MinString(I) 'Putter 1. linie i filen ind i MinString For t = 1 To Len(MinString(I)) - Len(Text1.Text) ' søger i strengen efter kriteriet If Mid(MinString(I), t, Len(Text1.Text)) = Text1.Text Then 'Text1.Text er tekstboken med søge kriterie I = I - 1 ' -1 = at slette linien, den fjernes fra variablen Exit For ' er den fundet forlades for løkken End If Next I = I + 1 Loop Close #1 Open "C:\Fil.txt" For Output As #1 For I = 1 To UBound(MinString) Print #1, MinString(I) ' gemmer uden de slettede linier Next Close #1 Text1.Text = "arbejdet udført" End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.