Avatar billede fqthjoe Nybegynder
31. juli 2003 - 15:31 Der er 4 kommentarer og
1 løsning

Skriv txt i ny fil, hvis streng ikke fundet.

Hej eksperter.
Har tidligere fået god hjælp til nedstående kode, så prøver lige igen.
Min kode tjekker f.eks. 200 txt-filer og leder efter 3 linier; Motor-nr, type-nr og Cylinderantal Type.
Det virker fint nok. Men hvis Motor-nr ikke findes i en af filerne rykkes der rundt og det går galt. Kan man så få den til at skrive "Motor-nr. XXXXXXX" i min nye fil istedet ?.
Altså hvis den ikke finder strengen "Motor-Nr"..


Private Sub Command1_Click()
Dim TextLine, a, b, c, i, frafil, tilfil, midfil, frafil2, d
Dim AppPath As String
AppPath = App.Path
For i = 1 To 200 ' hvis der er 200 filer
a = "": b = "": c = ""
d = ","
'frafil = Trim(Format(i, "00000") & ".txt")
frafil = App.Path & "\" & Trim(Format(i, "00000") & ".txt")
frafil2 = Trim(Format(i, "00000") & ".txt")
midfil = Trim("ny" & frafil2)
'tilfil = App.Path & "\" & Trim("ny" & midfil)
tilfil = "test111.txt"
Open "C:\html\htmless\html\txt\source2\sourcenew\blabla.txt" For Append As #2
Open frafil For Input As #1
'Open tilfil For Output As #2
Do While Not EOF(1)  ' Loop until end of file.
  Line Input #1, TextLine
If InStr(TextLine, "MotorNr") > 0 Then
a = Right(TextLine, 20)
Write #2, a;
End If
If InStr(TextLine, "Type-Nr.") > 0 Then
b = Right(TextLine, 6) ' hvis der er 6 tegn
Write #2, b;
End If
If InStr(TextLine, "Cylinderantal Type") > 0 Then
c = Right(TextLine, 26) ' hvis der er 6 tegn
Write #2, c;
End If
Loop
Close
Next i
'Cylinderantal Type
End Sub

vh thjoe
Avatar billede repsak Nybegynder
01. august 2003 - 11:08 #1
kan du ikke lave noget ala: (pseudokode og ikke korrekt VB syntax)

if(!indlæst_linje starter med "Motornr"{
  skrivfil med motornr=XXXXXX;
}
Avatar billede hiks Nybegynder
01. august 2003 - 13:35 #2
alooo istedet for dette stykke her i din kode:

If InStr(TextLine, "MotorNr") > 0 Then
a = Right(TextLine, 20)
Write #2, a;
End If

bytter du med dette:

If InStr(TextLine, "MotorNr") > 0 Then
a = Right(TextLine, 20)
Write #2, a;
Else 'altså hvis det ikke eksisterer
a = "Motor-nr. XXXXXXX"
Write #2, a;
End If

/hiks
Avatar billede fqthjoe Nybegynder
28. august 2003 - 15:15 #3
Øv, virker desværre ikke..
Den fylder bare min text fil fuldstændigt op med: "Motor-nr. XXXXXXX"
Ikke kun der hvor det ikke findes. Med hele filen.
Avatar billede fqthjoe Nybegynder
02. januar 2004 - 15:31 #4
ikke relevant mere. så det lukkes igen
Avatar billede fqthjoe Nybegynder
02. januar 2004 - 15:31 #5
svar luk
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging