[VB] Schrijven van tekst

Pagina: 1
Acties:

  • Facer
  • Registratie: Januari 2002
  • Niet online

Facer

Ken net.....

Topicstarter
Mijn programma lees een HTML bestand in dus bijvoorbeeld :
code:
1
<SEARCHKEYWORDS>trillian, plugins, plugin, trillian download, download</SEARCHKEYWORDS>

En dan voegt er er want andere dingen aantoe en schrijf het in een ander bestand het probleem is nu alleen dat die bij elke , een ENTER doet en de , weghaald wie weet hoe ik dit kan oplossen ?

Ik lees met de code
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Inlezen()
Dim X As Integer

X = 0
Open "c:\test.html" For Input As #1
Do Until EOF(1)
X = X + 1
Input #1, Regel(X)
Tellen = Tellen + 1
Loop
Regel(teller+1)= "Dit is een test"
Tellen = Tellen + 1
Close #1

End Sub

en schrijf met de code
code:
1
2
3
4
5
6
7
8
9
10
Private Sub Schrijven()
Dim X As Integer

Open "c:\test.log" For Output As #1
For X = 1 To Tellen
Print #1, Regel(X)
Next X
Close #1

End Sub

Verwijderd

Input #1, Regel(X) --> Line Input #1, Regel(X)



Of zo:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Private Regel() as String


Private Sub Inlezen()

Dim StrInhoud as String 
Dim x as integer
Dim Fp as Integer
Fp = FreeFile



Open "C:\test.html" For Binary As Fp

StrInhoud  = Space(Lof(Fp))

Get Fp, , StrInhoud

Close Fp

Regel = Split(StrInhoud,VbNewLine)


Debug.Print  ubound(Regel)+1; "Regel(s) Gelezen"
Debug.Print 

for x = 0 to ubound(regel)
Debug.Print x+1; regel(x)
next x

End sub




Private Sub Schrijven()

Dim Fp as Integer
Fp = FreeFile

Open "c:\test.log" For Binary As Fp
   put fp , , regel()
Close Fp

End Sub

  • Facer
  • Registratie: Januari 2002
  • Niet online

Facer

Ken net.....

Topicstarter
Het werkt thnx

  • mOrPhie
  • Registratie: September 2000
  • Laatst online: 02-09 17:49

mOrPhie

❤️❤️❤️❤️🤍

Neem even een kijkje naar het FileSystemObject. Die zit in de Microsoft Scripting Runtime (reference).

Da's een heel mooi ding om filebewerking/lezen uit te voeren. Via het filesystemobject is het sowieso een stuk sneller als het om veel tekst gaat.

Een experimentele community-site: https://technobabblenerdtalk.nl/. DM voor invite code.


  • kauwgomballen
  • Registratie: Oktober 2001
  • Laatst online: 23-06-2025
ik denk dat het probleem is dat ie de komma als scheidingsteken ziet...

  • Facer
  • Registratie: Januari 2002
  • Niet online

Facer

Ken net.....

Topicstarter
Op woensdag 03 juli 2002 01:39 schreef mOrPhie het volgende:
Neem even een kijkje naar het FileSystemObject. Die zit in de Microsoft Scripting Runtime (reference).

Da's een heel mooi ding om filebewerking/lezen uit te voeren. Via het filesystemobject is het sowieso een stuk sneller als het om veel tekst gaat.
Nog nooit wat meegedaan eigenlijk ;) maar zal er morgen wel is verder in verdiepen nu is het te laat om nog wat bij te leren ;)

Verwijderd

Op woensdag 03 juli 2002 01:41 schreef Kauwgomballen het volgende:
ik denk dat het probleem is dat ie de komma als scheidingsteken ziet...
Klopt helemaal. En dit is ook "By Design".
Wil je een regel lezen, dan moet je de opdracht "Line Input" gebruiken... (klinkt logisch >:))
code:
1
  Line Input #1, Regel(X)

Laatste tip, kijk ook eens naar de functie "FreeFile()"

  • Facer
  • Registratie: Januari 2002
  • Niet online

Facer

Ken net.....

Topicstarter
Wat kan je met FreeFile() want wat MSDN erover te zeggen hebt is een beetje raar
code:
1
2
3
4
5
6
7
8
Dim count As Integer
Dim fileNumber As Integer
For count = 1 To 5   
   fileNumber = FreeFile()
   FileOpen(fileNumber, "TEST" & count & ".TXT", OpenMode.Output)
   PrintLine(fileNumber, "This is a sample.")
   FileClose(fileNumber)
Next

Betekent dit dat die dus de volgende bestanden kan lezen:
TEST1.TXT
TEST2.TXT
TEST3.TXT
TEST4.TXT
TEST5.TXT ?

  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 28-08 17:06

Sponge

Serious Game Developer

filenumber is hetzelfde als (in theorie) een poort op je PC, staat ie open, dan kan ie niet meer gebruikt worden door iets anders.

FreeFile geeft een beschikbaar 'bestandsnummer'.. als je #1 er hard neerzet en je ergens anders ook een bestand met #1 opent krijg je problemen :)
Pagina: 1