Thread View: be.comp.programming
16 messages
16 total messages
Started by Bart Vanwijnsberghe
Thu, 24 Oct 2002 20:03
VBA: LOF maximum lengte 2048 ?
Author: Bart Vanwijnsberghe
Date: Thu, 24 Oct 2002 20:03
Date: Thu, 24 Oct 2002 20:03
22 lines
1946 bytes
1946 bytes
Ik zou moeten een file inlezen in een tekstbox in Access XP. Ik heb daarvoor
volgende code:
Private Sub Form_Load()
Dim file As String
file = "D:\Mijn documenten\testAccess\test.html"
Open file For Input As #1
FileLength = LOF(1)
Debug.Print FileLength
mailtekst.SetFocus
mailtekst.Text = Input(LOF(1), #1)
Close
End Sub
LOF mag blijkbaar maar 2048 zijn. Als er meer dan 2048 tekens zijn in mijn
bestand krijg ik de fout: "Fout 2176 tijdens uitvoering: De instelling voor
deze eigenschap is te lang".
Is er een andere mogelijkheid om een grotere file in te lezen ?
mvg
Bart
Re: LOF maximum lengte 2048 ?
Author: Egg
Date: Thu, 24 Oct 2002 21:04
Date: Thu, 24 Oct 2002 21:04
42 lines
2478 bytes
2478 bytes
"Bart Vanwijnsberghe" <bartvanwijnsberghe@DELETE!!SPAMyahoo.com> wrote in
message news:bmYt9.177078$8o4.28363@afrodite.telenet-ops.be...
> Ik zou moeten een file inlezen in een tekstbox in Access XP. Ik heb
daarvoor
> volgende code:
Echt niet!
Zie de verbeterde code.
ps: Input$ (of Input voor variantjes) is alleen voor binary data. Als je het
open 'for input' dan heb je inderdaad je limiet van 2048.
Als je regel voor regel wilt lezen gebruik je dus Line Input #hFile, sRegel$
> Private Sub Form_Load()
> Dim file As String
> file = "D:\Mijn documenten\testAccess\test.html"
Dim hFile as Integer
hFile = FreeFile
> Open file For Binary As #hFile
> FileLength = LOF(hFile)
> Debug.Print FileLength
> mailtekst.SetFocus
mailtekst.Text = Input(LOF(1), #1)
Mailtext.Text = Input$(Lof(hFile))
Close #hFile
> Close
> End Sub
>
> LOF mag blijkbaar maar 2048 zijn. Als er meer dan 2048 tekens zijn in
mijn
> bestand krijg ik de fout: "Fout 2176 tijdens uitvoering: De instelling
voor
> deze eigenschap is te lang".
>
> Is er een andere mogelijkheid om een grotere file in te lezen ?
>
> mvg
> Bart
>
Re: LOF maximum lengte 2048 ?
Author: Bart Vanwijnsberghe
Date: Thu, 24 Oct 2002 21:38
Date: Thu, 24 Oct 2002 21:38
34 lines
2343 bytes
2343 bytes
"Egg"... > "Bart Vanwijnsberghe"... > > Ik zou moeten een file inlezen in een tekstbox in Access XP. Ik heb > > daarvoor volgende code: > > Echt niet! > Zie de verbeterde code. > ps: Input$ (of Input voor variantjes) is alleen voor binary data. Als je het > open 'for input' dan heb je inderdaad je limiet van 2048. > Als je regel voor regel wilt lezen gebruik je dus Line Input #hFile, sRegel$ > > > Private Sub Form_Load() > > Dim file As String > > file = "D:\Mijn documenten\testAccess\test.html" > Dim hFile as Integer > hFile = FreeFile > > Open file For Binary As #hFile > > FileLength = LOF(hFile) > > Debug.Print FileLength > > mailtekst.SetFocus > mailtekst.Text = Input(LOF(1), #1) > Mailtext.Text = Input$(Lof(hFile)) Ik neem aan dat u hier iets vergeten was: mailtekst.Text = Input$(LOF(hFile), #hFile) > Close #hFile Maar verder dan 2048 geraak ik niet hoor. mvg Bart
Re: VBA: LOF maximum lengte 2048 ?
Author: Hace
Date: Fri, 25 Oct 2002 12:21
Date: Fri, 25 Oct 2002 12:21
32 lines
1980 bytes
1980 bytes
Bart Vanwijnsberghe schreef: >Private Sub Form_Load() > Dim file As String > file = "D:\Mijn documenten\testAccess\test.html" > Open file For Input As #1 > FileLength = LOF(1) > Debug.Print FileLength > mailtekst.SetFocus > mailtekst.Text = Input(LOF(1), #1) > Close >End Sub >Is er een andere mogelijkheid om een grotere file in te lezen ? Je kunt de file per regel of per byte proberen in te lezen, door een loopje te gebruiken en te testen op EOF (end of file). Bijvoorbeeld iets als: Open sFileName For Input As #1 Do While Not EOF(1) Line Input #1, strRegel mailtekst.Text = mailtekst.Text & strRegel Loop Close #1 Cheers, -- anti-rsi software at: http://hace.dyndns.org/files/rsibreakreminder/ Learning to quote with outlook express: http://home.in.tum.de/~jain/software/quotefix.php
Re: LOF maximum lengte 2048 ?
Author: Egg
Date: Fri, 25 Oct 2002 12:21
Date: Fri, 25 Oct 2002 12:21
59 lines
3186 bytes
3186 bytes
"Bart Vanwijnsberghe" <bartvanwijnsberghe@DELETE!!SPAMyahoo.com> wrote in
message news:TLZt9.177174$8o4.28452@afrodite.telenet-ops.be...
> "Egg"...
> > "Bart Vanwijnsberghe"...
> > > Ik zou moeten een file inlezen in een tekstbox in Access XP. Ik heb
> > > daarvoor volgende code:
> >
> > Echt niet!
> > Zie de verbeterde code.
> > ps: Input$ (of Input voor variantjes) is alleen voor binary data. Als je
> het
> > open 'for input' dan heb je inderdaad je limiet van 2048.
> > Als je regel voor regel wilt lezen gebruik je dus Line Input #hFile,
> sRegel$
> >
> > > Private Sub Form_Load()
> > > Dim file As String
> > > file = "D:\Mijn documenten\testAccess\test.html"
> > Dim hFile as Integer
> > hFile = FreeFile
> > > Open file For Binary As #hFile
> > > FileLength = LOF(hFile)
> > > Debug.Print FileLength
> > > mailtekst.SetFocus
> > mailtekst.Text = Input(LOF(1), #1)
> > Mailtext.Text = Input$(Lof(hFile))
>
> Ik neem aan dat u hier iets vergeten was: mailtekst.Text =
> Input$(LOF(hFile), #hFile)
Zeg maar je tegen mij hoor! In NL voelen we ons oud als we 'u' tegen elkaar
zeggen (tenzij ik directeur van Philips ben of zo :) ).
Heb je je file echt for binary geopend?
Probeer anders dit... het is iets minder efficient maar ja, als het maar
werkt
ps: Wat voor OS en wat voor Office heb je? Die 2048 beperking lijkt me echt
incorrect. Input$ kan zelfs 1 a 2 MB data lezen....
Dim hfile As Integer
Dim btBytes() As Byte
Dim sTemp As String
hfile = FreeFile
Open "c:\boot.ini" For Binary As #hfile
ReDim btBytes(LOF(hfile) - 1)
Get #hfile, , btBytes
sTemp = StrConv(btBytes, vbUnicode)
Close #hfile
> > Close #hFile
>
> Maar verder dan 2048 geraak ik niet hoor.
>
> mvg
> Bart
>
Re: VBA: LOF maximum lengte 2048 ?
Author: barvok
Date: Fri, 25 Oct 2002 18:21
Date: Fri, 25 Oct 2002 18:21
48 lines
2313 bytes
2313 bytes
In article <bmYt9.177078$8o4.28363@afrodite.telenet-ops.be>,
bartvanwijnsberghe@DELETE!!SPAMyahoo.com says...
> Ik zou moeten een file inlezen in een tekstbox in Access XP. Ik heb daarvoor
> volgende code:
>
> Private Sub Form_Load()
> Dim file As String
> file = "D:\Mijn documenten\testAccess\test.html"
> Open file For Input As #1
> FileLength = LOF(1)
> Debug.Print FileLength
> mailtekst.SetFocus
> mailtekst.Text = Input(LOF(1), #1)
> Close
> End Sub
>
> LOF mag blijkbaar maar 2048 zijn. Als er meer dan 2048 tekens zijn in mijn
> bestand krijg ik de fout: "Fout 2176 tijdens uitvoering: De instelling voor
> deze eigenschap is te lang".
>
> Is er een andere mogelijkheid om een grotere file in te lezen ?
>
> mvg
> Bart
>
>
je zou dit kunnen doen met het FileSystemObject
Leg een reference naar Microsoft Scripting Runtime (scrrun.dll)
dan...
Function GetFile as string
dim fs as new filesystemobject
dim ts as textstream
dim strTekst as string
set ts=fs.opentextfile("mijnfile.txt")
do until ts.atendofstream
strtekst = ts.readline
loop
getfile = strtekst
ts.close
set ts=nothing
set fs=nothing
end Sub
Probeer dit eens?
mvg, K.
Re: LOF maximum lengte 2048 ?
Author: Bart Vanwijnsberghe
Date: Mon, 28 Oct 2002 18:54
Date: Mon, 28 Oct 2002 18:54
23 lines
2176 bytes
2176 bytes
"Egg"... > Probeer anders dit... het is iets minder efficient maar ja, als het maar > werkt > ps: Wat voor OS en wat voor Office heb je? Die 2048 beperking lijkt me > echt incorrect. Input$ kan zelfs 1 a 2 MB data lezen.... Win2000, OfficeXP > Dim hfile As Integer > Dim btBytes() As Byte > Dim sTemp As String > hfile = FreeFile > Open "c:\boot.ini" For Binary As #hfile > ReDim btBytes(LOF(hfile) - 1) > Get #hfile, , btBytes > sTemp = StrConv(btBytes, vbUnicode) > Close #hfile Als ik dit probeer krijg ik de foutmelding: "Fout 52 tijdens uitvoering: Ongeldige bestandsnaam of ongeldig bestandsnummer" mvg Bart
Re: VBA: LOF maximum lengte 2048 ?
Author: Bart Vanwijnsberghe
Date: Mon, 28 Oct 2002 18:55
Date: Mon, 28 Oct 2002 18:55
14 lines
1790 bytes
1790 bytes
"Hace"... > Je kunt de file per regel of per byte proberen in te lezen, door een > loopje te gebruiken en te testen op EOF (end of file). > > Bijvoorbeeld iets als: > > Open sFileName For Input As #1 > Do While Not EOF(1) > Line Input #1, strRegel > mailtekst.Text = mailtekst.Text & strRegel > Loop > Close #1 Dat werkt ook niet, zelfde foutmelding :-(
Re: VBA: LOF maximum lengte 2048 ?
Author: Bart Vanwijnsberghe
Date: Mon, 28 Oct 2002 18:55
Date: Mon, 28 Oct 2002 18:55
28 lines
2107 bytes
2107 bytes
"barvok"...
> je zou dit kunnen doen met het FileSystemObject
> Leg een reference naar Microsoft Scripting Runtime (scrrun.dll)
> dan...
> Function GetFile as string
> dim fs as new filesystemobject
> dim ts as textstream
> dim strTekst as string
>
> set ts=fs.opentextfile("mijnfile.txt")
> do until ts.atendofstream
> strtekst = ts.readline
> loop
>
> getfile = strtekst
> ts.close
> set ts=nothing
> set fs=nothing
> end Sub
>
> Probeer dit eens?
Ook hier krijg ik dezelfde foutmelding, vanaf meer dan 2048 tekens :-(
--
Bart Vanwijnsberghe
http://www.lightning.be
MSN: b_vanwijnsberghe@hotmail.com
ICQ: 49454469
Re: LOF maximum lengte 2048 ?
Author: Bart Vanwijnsberghe
Date: Mon, 28 Oct 2002 19:00
Date: Mon, 28 Oct 2002 19:00
27 lines
2370 bytes
2370 bytes
"Bart Vanwijnsberghe"...
> Ik zou moeten een file inlezen in een tekstbox in Access XP. Ik heb
daarvoor
> volgende code:
>
> Private Sub Form_Load()
> Dim file As String
> file = "D:\Mijn documenten\testAccess\test.html"
> Open file For Input As #1
> FileLength = LOF(1)
> Debug.Print FileLength
> mailtekst.SetFocus
> mailtekst.Text = Input(LOF(1), #1)
> Close
> End Sub
Als ik dezelfde code gebruik als hier boven, maar die tekstbox vervang door
een rich text box dan lukt het mij wel om bestanden van meer dan 2048 tekens
in te lezen, maar als ik dan die tekstbox in een string steek om een woord
in te zoeken dan krijg ik allemaal rare tekens, die waarschijnlijk eigen
zijn aan het rich text formaat. Op het scherm in die rich text box krijg ik
wel de juiste weergave van de tekst uit mijn bestand.
Iemand enig idee hoe ik die tekens van rich text wegkrijg in een string ?
vb van zo'n rich textbox: / par, {
mvg
Bart
Re: LOF maximum lengte 2048 ?
Author: Egg
Date: Mon, 28 Oct 2002 20:24
Date: Mon, 28 Oct 2002 20:24
25 lines
2388 bytes
2388 bytes
"Bart Vanwijnsberghe" <bartvanwijnsberghe@DELETE!!SPAMyahoo.com> wrote in message news:IJfv9.183280$8o4.29129@afrodite.telenet-ops.be... > "Egg"... > > > Dim hfile As Integer > > Dim btBytes() As Byte > > Dim sTemp As String > > hfile = FreeFile > > Open "c:\boot.ini" For Binary As #hfile > > ReDim btBytes(LOF(hfile) - 1) > > Get #hfile, , btBytes > > sTemp = StrConv(btBytes, vbUnicode) > > Close #hfile > > Als ik dit probeer krijg ik de foutmelding: "Fout 52 tijdens uitvoering: > Ongeldige bestandsnaam of ongeldig bestandsnummer" Bart, Je hebt toch hopelijk wel boot.ini vervangen door iets anders? Even iets meer proberen graag voordat je post. Ik weet namelijk heel zeker, met jouw config (win2000 office XP) dat het moet kunnen werken inclusief de Input$ functie met een binary open statement. > mvg > Bart
Re: LOF maximum lengte 2048 ?
Author: Bart Vanwijnsberghe
Date: Mon, 28 Oct 2002 20:34
Date: Mon, 28 Oct 2002 20:34
30 lines
2660 bytes
2660 bytes
"Egg"... > "Bart Vanwijnsberghe"... > > "Egg"... > > > Dim hfile As Integer > > > Dim btBytes() As Byte > > > Dim sTemp As String > > > hfile = FreeFile > > > Open "c:\boot.ini" For Binary As #hfile > > > ReDim btBytes(LOF(hfile) - 1) > > > Get #hfile, , btBytes > > > sTemp = StrConv(btBytes, vbUnicode) > > > Close #hfile > > > > Als ik dit probeer krijg ik de foutmelding: "Fout 52 tijdens uitvoering: > > Ongeldige bestandsnaam of ongeldig bestandsnummer" > Bart, > > Je hebt toch hopelijk wel boot.ini vervangen door iets anders? > Even iets meer proberen graag voordat je post. Ik weet namelijk heel zeker, > met jouw config (win2000 office XP) dat het moet kunnen werken inclusief de > Input$ functie met een binary open statement. Ja ik heb die boot.ini vervangen door mijn bestand. Heb heel het weekend aantal zaken geprobeerd op mijn pc thuis (WinMe, Office XP) en het internet afgezocht, en telkens wordt mijn eerste code weergegeven, maar bijna nergens wordt iets vermeld over maximum 2048 tekens Bart
Re: LOF maximum lengte 2048 ?
Author: Egg
Date: Tue, 29 Oct 2002 10:02
Date: Tue, 29 Oct 2002 10:02
37 lines
2836 bytes
2836 bytes
"Bart Vanwijnsberghe" <bartvanwijnsberghe@DELETE!!SPAMyahoo.com> wrote in message news:Sbhv9.183488$8o4.29231@afrodite.telenet-ops.be... > "Egg"... > > "Bart Vanwijnsberghe"... > > > "Egg"... > > > > Dim hfile As Integer > > > > Dim btBytes() As Byte > > > > Dim sTemp As String > > > > hfile = FreeFile > > > > Open "c:\boot.ini" For Binary As #hfile > > > > ReDim btBytes(LOF(hfile) - 1) > > > > Get #hfile, , btBytes > > > > sTemp = StrConv(btBytes, vbUnicode) > > > > Close #hfile > > > > > > Als ik dit probeer krijg ik de foutmelding: "Fout 52 tijdens uitvoering: > > > Ongeldige bestandsnaam of ongeldig bestandsnummer" > > Bart, Geloof me, Het is niet waar. Dan moet er toch ook een lampje bij je gaan branden? Ook al omdat er geen enkel document over te vinden is. Ik vermoed, tactvol gezegd, dat er iets met je code niet ok is of dat je PC dankzij een virus checker of onjuiste installatie niet helemaal ok werkt. > Ja ik heb die boot.ini vervangen door mijn bestand. > Heb heel het weekend aantal zaken geprobeerd op mijn pc thuis (WinMe, Office > XP) en het internet afgezocht, en telkens wordt mijn eerste code > weergegeven, maar bijna nergens wordt iets vermeld over maximum 2048 tekens > > Bart >
Re: LOF maximum lengte 2048 ?
Author: Bart Vanwijnsberghe
Date: Tue, 29 Oct 2002 17:57
Date: Tue, 29 Oct 2002 17:57
29 lines
2567 bytes
2567 bytes
"Egg"... > Geloof me, > Het is niet waar. Dan moet er toch ook een lampje bij je gaan branden? Ook > al omdat er geen enkel document over te vinden is. > Ik vermoed, tactvol gezegd, dat er iets met je code niet ok is of dat je PC > dankzij een virus checker of onjuiste installatie niet helemaal ok werkt. Mijn excuses, er zat idd een typfout in. anyway, de fout : "Fout 2176 tijdens uitvoering: De instelling voor deze eigenschap is te lang" blijf ik krijgen, als ik die string wegschrijf naar mijn Tekstbox. Dim hfile As Integer Dim btBytes() As Byte Dim sTemp As String hfile = FreeFile Open "D:\Mijn documenten\testAccess\test.html" For Binary As #hfile ReDim btBytes(LOF(hfile) - 1) Get #hfile, , btBytes sTemp = StrConv(btBytes, vbUnicode) mailtekst.Text = sTemp Close #hfile Bart -- Bart Vanwijnsberghe http://www.lightning.be MSN: b_vanwijnsberghe@hotmail.com ICQ: 49454469
Re: LOF maximum lengte 2048 ?
Author: Huibert
Date: Sat, 02 Nov 2002 21:49
Date: Sat, 02 Nov 2002 21:49
37 lines
2598 bytes
2598 bytes
Die rare tekens verhinderen niet het zoeken naar de tekst in de string!!
Huibert
"Bart Vanwijnsberghe" <bartvanwijnsberghe@DELETE!!SPAMyahoo.com> wrote in
message news:1Pfv9.183302$8o4.29163@afrodite.telenet-ops.be...
> "Bart Vanwijnsberghe"...
> > Ik zou moeten een file inlezen in een tekstbox in Access XP. Ik heb
> daarvoor
> > volgende code:
> >
> > Private Sub Form_Load()
> > Dim file As String
> > file = "D:\Mijn documenten\testAccess\test.html"
> > Open file For Input As #1
> > FileLength = LOF(1)
> > Debug.Print FileLength
> > mailtekst.SetFocus
> > mailtekst.Text = Input(LOF(1), #1)
> > Close
> > End Sub
>
> Als ik dezelfde code gebruik als hier boven, maar die tekstbox vervang
door
> een rich text box dan lukt het mij wel om bestanden van meer dan 2048
tekens
> in te lezen, maar als ik dan die tekstbox in een string steek om een woord
> in te zoeken dan krijg ik allemaal rare tekens, die waarschijnlijk eigen
> zijn aan het rich text formaat. Op het scherm in die rich text box krijg
ik
> wel de juiste weergave van de tekst uit mijn bestand.
>
> Iemand enig idee hoe ik die tekens van rich text wegkrijg in een string ?
> vb van zo'n rich textbox: / par, {
> mvg
> Bart
>
Re: VBA: LOF maximum lengte 2048 ?
Author: Hace
Date: Sun, 03 Nov 2002 11:02
Date: Sun, 03 Nov 2002 11:02
41 lines
2323 bytes
2323 bytes
Bart Vanwijnsberghe schreef:
>> Je kunt de file per regel of per byte proberen in te lezen, door een
>> loopje te gebruiken en te testen op EOF (end of file).
>>
>> Bijvoorbeeld iets als:
>>
>> Open sFileName For Input As #1
>> Do While Not EOF(1)
>> Line Input #1, strRegel
>> mailtekst.Text = mailtekst.Text & strRegel
>> Loop
>> Close #1
>
>Dat werkt ook niet, zelfde foutmelding :-(
Huh? Vreemd. Wat voor bestand lees je eigenlijk in? Is het een
binary-bestand ipv een tekst-bestand soms? Zo ja: waarom wil je een
binary bestand in een tekstbox plaatsen?
dim reclength as long
reclength = 1
Dim filenumber As Long
filenumber = FreeFile
Dim dummy As Byte
' lees in byte voor byte
Open m_strFile For Random As filenumber Len = reclength
For x = 0 to filesize(m_strFile)
Get filenumber, x, dummy
' doet iets met dummy...
Next x
close filenumber
--
anti-rsi software at: http://hace.dyndns.org/files/rsibreakreminder/
Learning to quote with outlook express:
http://home.in.tum.de/~jain/software/quotefix.php
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads