[Year 12 SofDev] Reading and Writing text data files in VB2010

Mark KELLY kel at mckinnonsc.vic.edu.au
Thu May 12 11:16:53 EST 2011


That's very handy, Damien.  Just yesterday I was working on concatenating
text and "," to build a CSV line, then worry about parsing it during input.
The Split method is much neater.  Does it honour quotation marks if they're
used?

I remember the days when CASES (the state govt school database) wrote CSV
files without quotation marks, and whenever a comma appeared in a datum
(e.g. address), everything went out of sync when the data was read back
later!

One tip I'll give my kids is regarding reading files of variable length:
when saving the contents of an array, the first thing to write to the file
is the number of lines that follow.  Then write the lines.
When reading back the file, first read the number in the first line and use
that to dimension your array and to set the upper limit of the loop that
reads the lines of data.

I'm not sure if random files exist in VB2010 as they did in VB6.  I suspect
they've probably morphed into some massively complex .NET database object
that I'll never understand  :-[



On 12 May 2011 09:37, ATKINSON-BUCK, Damien <
Damien.ATKINSON-BUCK at ivanhoe.com.au> wrote:

>  Mark, thanks for another great tutorial. Building on Marks work might be
> what you need Trav
>
>
>
> One of the more common uses of reading a text file is to read various
> values of a CSV (comma separated values) file, where individual items (think
> fields of a flat file database) are read into an array for future
> processing. Visual Basic has a very nice easy way to do this using the Split
> function. Imagine that you have the above text file with the following data
> copied from this week’s Aria charts;
>
>
>
> 1,WE RUN THE NIGHT,DJ Havana Brown,ISL/UMA
>
> 2,FROM THE MUSIC,The Potbelleez,VIC/UMA
>
> 3,WHAT HAPPENED TO USJessica Mauboy Feat. Jay Sean,SME
>
> 4,DANCE WITH ME,Justice Crew Feat. Flo Rida,SME
>
> 5,FRIDAY TO SUNDAY,Justice Crew,SME
>
> 6,MAYBE,Sick Puppies,VIR/EMI
>
>
>
>         Dim TextFile As New System.IO.StreamReader("u:\albums.txt ")
>
>         Dim strAlbumName As String
>
>         strAlbumName = TextFile.ReadLine()
>
>         Do Until strAlbumName Is Nothing
>
>             'lstAlbums.Items.Add(strAlbumName)
>
>             Dim Values() As String = Split(strAlbumName, ",")
>
>             strAlbumName = TextFile.ReadLine()
>
>        ' Values(0) now contains first column value,
>
>        ' Values(1) contains second column, etc.
>
>         Loop
>
>         TextFile.Close()
>
>         TextFile.Dispose()
>
>
>
> Cheers
>
> *Damien Atkinson-Buck*
> Member of Academic Staff (Secondary)
>  ------------------------------
>
> [image: Description: Description: cid:image002.jpg at 01CA7D93.5FFD22D0]<http://myivanhoe.net/>
>
>
>
> PO BOX 91 The Ridgeway, Ivanhoe, Victoria 3079 Australia
> Telephone +61 3 9490 3848 Facsimile +61 3 9490 3490
> mailto:damien.atkinson-buck at ivanhoe.com.au<damien.atkinson-buck at ivanhoe.com.au>
> http://myivanhoe.net
>
>
>
>
>
> *From:* Travis Parker [mailto:Travis.Parker at beaconhills.vic.edu.au]
> *Sent:* Thursday, 12 May 2011 9:26 AM
>
> *To:* Year 12 Software Development Teachers' Mailing List
> *Subject:* Re: [Year 12 SofDev] Reading and Writing text data files in
> VB2010
>
>
>
> Thanks for that Mark. I have been using something similar with my students,
> particularly as the SAC I have written includes reading from a text file (A
> prototype helpdesk, including type of job, computer, priority, etc) and
> creating a new text file with jobs for the techies in a prioritised order.
>
>
>
> One thing I was wondering though, does anyone have anything good on reading
> comma separated text files? All the programs I have gotten my students to
> create read them a line at a time, but I would ideally like to see something
> like this line - tim.cox, hardware, 12, ps40, 2 read into arrays. So I
> would have a “Name”, “Issue”, “Computer_Number”, “Room_Number”, “Priority”
> or something like that. I’m fine with the arrays, but how would I read it in
> word at a time (i.e. Between commas” rather than line at a time?
>
>
>
> With many thanks for a first year SD newbie……
>
>
>
> Trav
>
>
>
>
>
>
>
>
>
>
>
> *From:* sofdev-bounces at edulists.com.au [mailto:
> sofdev-bounces at edulists.com.au] *On Behalf Of *Mark KELLY
> *Sent:* Wednesday, 11 May 2011 12:45 PM
> *To:* Year 12 Software Development Teachers' Mailing List
> *Subject:* [Year 12 SofDev] Reading and Writing text data files in VB2010
>
>
>
> Hi, you paragons of pedagogy.  I've been putting off teaching my kids how
> to read and write text data files in VB but having investigated today, it's
> not really more difficult than the days of VB6 with OPEN "file" FOR INPUT AS
> 1 ... INPUT #1, data.
>
> I've attached an adapted tutorial on reading and writing text files with a
> task involving reading and writing a preferences file (with solution).
>
> Once your kids can do data files, it greatly opens the scope for populating
> and playing with really large arrays and makes loops meaningful.
>
> I remember how excited I was when I first discovered text files decades ago
> - it was like finding mum's car keys.  My programming world blossomed from
> that point.
>
> --
> Mark Kelly
> Manager of ICT, Reporting, IT Learning Area
> McKinnon Secondary College
> McKinnon Rd McKinnon 3204, Victoria, Australia
> Direct line / Voicemail: +613 8520 9085, Fax +613 9578 9253
> kel at mckinnonsc.vic.edu.au
> VCE IT Lecture Notes: http://vceit.com
> Moderator: IT Applications Edulist
>
> Want a good time? Call 0112358. Ask for Mr Fibonacci.
>
>
>
>
> Privacy, Virus and Copyright Warning
>
> The information contained in this electronic message (e-mail), and any
> files transmitted with it:
>
> * is intended for the named recipients only. If you have received this in
> error, please advise the sender and delete it and any copies immediately;
> * Any personal information in this email must be used in accordance with
> the Privacy Act 1988 and this always applies even if it has been sent to you
> in error.
> * represents the views of the sender and does not necessarily represent the
> views or formal advice of Ivanhoe Grammar School;
> * may be subject to Copyright, so no further use should be made of it
> without the author's permission.
>
> The School does not represent or warrant that the email or any files
> attached do not contain errors or are free from computer viruses or other
> defects nor does it accept responsibility for any loss or damage resulting
> directly or indirectly from the use of the email or any attached files.
>
> _______________________________________________
> http://www.edulists.com.au - FAQ, Subscribe, Unsubscribe
> IT Software Development Mailing List kindly supported by
> http://www.vcaa.vic.edu.au - Victorian Curriculum and Assessment Authority
> and
> http://www.vcaa.vic.edu.au/vce/studies/infotech/softwaredevel3-4.html
> http://www.vitta.org.au  - VITTA Victorian Information Technology Teachers
> Association Inc
>



-- 
Mark Kelly
Manager of ICT, Reporting, IT Learning Area
McKinnon Secondary College
McKinnon Rd McKinnon 3204, Victoria, Australia
Direct line / Voicemail: +613 8520 9085, Fax +613 9578 9253
kel at mckinnonsc.vic.edu.au
VCE IT Lecture Notes: http://vceit.com
Moderator: IT Applications Edulist

Want a good time? Call 0112358. Ask for Mr Fibonacci.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.edulists.com.au/pipermail/sofdev/attachments/20110512/5fec665b/attachment.html 


More information about the sofdev mailing list