Special retrieval of a string from file <part 2>

Hello Tim and all others!
Thanks for the code but there is a slight problem:
- I am trying to read a "user_id" from a certain cookie text file
- I try to read a new line using your code - but it reads the whole file content into the string! (although if I open the cookie with Word - I see that there are new lines, so there must be new line characters in the cookie file, no?)
- As a result: I crash when trying to execute the command: Input #1, strLine2
(according to your code -see above)
- If I can find out how to advance the file pointer, that would help as well.
- To sum up: I need to skip the newline character(that I saw with Word) which appears after the string "user_id" that I am looking for and then skip a newline character, then read a string (representing the numeric id) which ends in the next newline character(this, again, I saw with Word)
- Please tell me what to do - 10'x
P.S. I miss C/C++ - this would have been over a long time ago...
although VB has its features...
itailevitanAsked:
Who is Participating?
 
damienmConnect With a Mentor Commented:
dim stemptext as string

Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile("c:\folderName\fileName.txt")
Set ts = f.OpenAsTextStream(1, TristateUseDefault)
While Not ts.atendofstream
    stemptext = ts.readline

    msgbox stemptext

wend
0
 
VbmasterCommented:
It might have to do something with Windows having vbCrLf (Chr$(13)+Chr$(10) or vice versa) and the "UNIX world" having only vbLf (Chr$(10) or Chr$(13) whatever).

Do you read line by line from the textfile? Try using Line Input instead of Input, this will work for 'short newline' character too.
0
 
mcriderCommented:
When you read cookie files, there is no VbCrLf separating the end of lines.  Cookies only use VbLf at the end of each line.

To read a cookie file, you need to read the whole file, then use instr() to find each line...

For example:

    Dim fNum As Long
    Dim Cookie As String
    Dim CookieLine As String
    Dim iVal As Long
    Dim jVal As Long
     
    fNum = FreeFile
    Open "C:\windows\cookies\mcrider@experts-exchange[1].txt" _
        For Input Access Read As fNum
    Input #fNum, Cookie
    Close fNum
    jVal = 0
    Do
        jVal = jVal + 1
        iVal = InStr(1, Cookie, vbLf)
        If iVal = 0 Then Exit Do
        CookieLine = Left$(Cookie, iVal - 1)
        Cookie = Mid$(Cookie, iVal + 1)
        Debug.Print "Line #" + CStr(jVal) + ": " + CookieLine
    Loop


Cheers!
0
All Courses

From novice to tech pro — start learning today.