Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Visual Basic
Expertise: Beginner
Oct 1, 1996

Parsing Input File

Question:
I am developing a VB3 app. I want to update an ACCESS 2.0 table weekly, in code, with a text file that is down-loaded from a VM mainframe. I know how to down-load the file but how do I import the data into the table in code?

Answer:
I'm sure you know this already, but basically you have to "parse" the input file from the mainframe before you can load it. VB is pretty good about this...let's say you have a line that is comma delimited (which I would assume is the case for you) and there are five fields. Here's how you would do it:

Dim sLine as String
Dim sChar as String
Dim iField as Integer
Dim sFields(5) as String * 50  ' or whatever maximum field length you read

Open "Filename.ext" for input as #1
do while not eof(1)
   sChar = Input$(1, 1)
   if sChar = "," then
      iField = iField + 1
   elseif Asc(sChar) = 10 then
      ' Do nothing...end of line character
   elseif Asc(sChar) = 13 then
      ' Just hit end of line...need to process the fields somehow
      ' and then clear holding variables
      For iField = 1 to 5
         sFields(iField) = ""
      Next iField   
      iField = 1
   else
      sFields(iField) = sFields(iField) & sChar
   End if
loop
Close #1
Where the code processes the character #13, you will have all five input fields in this example, and you should insert them into your database. The field counter gets reset, and you go on reading fields. This same code should work well in VB4.0. Bear in mind though, if you want your code to be compatible with NT as well as Win95 you should avoid integers and use longs instead. NT (for some reason) doesn't like integers as well as it does longs. In the case of the above code it should work fine changing the integer to a long.
DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date