TextFieldParser - reading tab delimited file

VB.NET

    Sponsored Links

    Next

  • 1. enforce event calling on inherited classes
    I have an abstract class that about a dozen sub-classes inherit from. I want to enforce that each sub-class shadows an event in the abstract class, but can't quite figure out how to do this. Basically, all of the inherited classes deal with data in some way or another. I need to make sure that when the data is changed on any of those classes, they raise an event called "DataChanged", and have that enforced in some way from the abstract class. I've tried a number of approaches, including "MustOverride Event", which apparently isn't allowed. Also, I've created an interface with just the DataChanged event, but there doesn't appear to be any sort of "Must Implement" available --- to make matters worse, when trying to raise an event from the inherited class on the abstract class, that doesn't appear to be allowed either. Obviously I can create an interface and just "remember" that every one of the sub-classes must implement this interface, but that's error prone and relies on me remembering additional steps, which obviously isn't a good idea. Any suggestions?
  • 2. Writign a routine to automatically backup under XP
    Hi all. I have learned to use vba with word2000 to automate various things there. This has encouraged me to try and automate some actions in XP windows explorer. Do I use vbnet for this or will vb5 work, in which case I guess I go elsewhere...

TextFieldParser - reading tab delimited file

Postby al jones » Fri, 22 Sep 2006 20:34:05 GMT

I using textfieldparser to read a data file. which contains, for example:

Amond Szegi	Amondo Szegi
andr nossek	Andr Nossek
 Characte	Character

Note the vowels with diacriticals and the copyright symbol - it is dropping
these (and other similar) characters which fall outside ascii range
(apparently)

The code is simple and looks like:
        Using MyReader As New TextFieldParser(Application.StartupPath &
"\designers.txt")
            MyReader.TextFieldType = FileIO.FieldType.Delimited
            MyReader.CommentTokens = New String() {"#"}
            MyReader.Delimiters = New String() {vbTab}
            MyReader.TrimWhiteSpace = True
            Dim currentRow As String()
            intElement = 0
            While Not MyReader.EndOfData
                Try
                    currentRow = MyReader.ReadFields()
                    If Microsoft.VisualBasic.Left(currentRow(0), 7) =
"UNKNOWN" Then
                        strUnknownDesigner = currentRow(1)
                        Continue While
                    End If
                    arDesigner(intElement, 0) = currentRow(0)
                    arDesigner(intElement, 1) = currentRow(1)
                    arDesignerCounter(intElement) = 0
                    intElement += 1
                Catch ex As MalformedLineException
                    MsgBox("Designer Line " & ex.Message & "is not valid
and will be skipped.")
                End Try
            End While
        End Using

I can see any reason in the documentation for it dropping copyright or
the French and German (etc vowels with accents.

Comments or suggestions anyone??

Thanks //al

Re: TextFieldParser - reading tab delimited file

Postby Andrew Morton » Fri, 22 Sep 2006 21:02:59 GMT


> Characte Charact>r
>>
> Note the vowels with diacriticals and the copyright symbol - it >s
> dropping these (and other similar) characters which fall outsi>e
> ascii range (apparently)

It appears to be an encoding problem where the file uses (I'm guessing) 
ISO-8859-1 or maybe Windows-1252 whereas the .NET framework defaults to 
Unicode. Does a TextFieldParser have a setting for that (or have a 
.BaseClass that does)?

Or perhaps you can arrange for the file to be encoded with Unicode?

Andrew 



Re: TextFieldParser - reading tab delimited file

Postby al jones » Sat, 23 Sep 2006 02:31:52 GMT





>> AmondSzegi Amondo Szegi
>>> andrnossek AndrNosse>>
>> Characte Charact>>
>> Note the vowels with diacriticals and the copyright symbol - it >>
>> dropping these (and other similar) characters which fall outsi>>
>> ascii range (apparentl>)
> It appears to be an encoding problem where the file uses (I'm guessing> 
> ISO-8859-1 or maybe Windows-1252 whereas the .NET framework defaults t> 
> Unicode. Does a TextFieldParser have a setting for that (or have > 
> .BaseClass that does>?
> Or perhaps you can arrange for the file to be encoded with Unicod>?
> Andrew

Possibly my confusion is from the fact that I maintain these files (there
are three of them) within VS 2005 so I would have epected them to be
unicode. The characters exist within the files (the three line examples are
cut & paste from the file itself) so I don't understand why reading them
would literally eliminate the characters.

I've been over the TextFieldParser docs and see nothing that indicates that
it shouldn't take the data as presented.

Re: TextFieldParser - reading tab delimited file

Postby Jeff Glatt » Sun, 24 Sep 2006 01:42:40 GMT

Try OrchidGrid control, which can pase/import data from delimited files.






Similar Threads:

1.How to read a Tab Delimited text file in to a Flexgrid without using .Clip Method

I  need to Read Tab limited Txt file in other controls, on a form,
convert to PDF .... etc etc

I saw Your eg. in a previous post...its very good..

another problem the flexgrid displays a special charecter in the first
col  if .Clip method is used.
Further i should  be able to find the no of cols and rows in the Txt
file . to re create the file to any suitable  control .

Thank You

2.How to read a Tab Delimited text file in to a Flexgrid without using .Clip Method

How to read a Tab Delimited text file in to  a Flexgrid without using
.Clip Method

3.Problem reading Unicode from a tab-delimited file

Hi,
I have a spreadsheet that contains multiple languages. Per project
requirements I have saved this speadsheet in a tab-delimted format
using Excel 2007. I have been able to pretty much get all the
charaters correct when reading the file. I will also have to parse
Japanese from this, which I have not been able to do. I cannot read
the 3 byte characters from the file correctly for some reason. I have
an example here showing 2 characters for simplicity.

??

I get the correct value for ? but not for ? The value of ?should be
2019, instead I getting something that just displays a box in the
debugger, some value around 65k.
Note in the code snippet below, If I pass the unicodeString to the
foreach (Byte b in encodedBytes)
it works perfectly, outs the correct values for the charaters.. I have
a tab-delimted file that contains the same characters. When I open
that file and reead from it, the ?is correct, but the ?is not.
Likewise for the Japanese characters I am tring to read. Almost seems
like the issue is the file open() or the readline().
Any help and code examples would be appreciated.
Thanks
Jeff




 String unicodeString = " ???";;
            // Create a UTF-8 encoding.
            UTF8Encoding utf8 = new UTF8Encoding();
            // determine whether fileName is a file
            if (File.Exists(fileName))
            {
                     // obtain reader and file contents
                    StreamReader stream = new StreamReader(fileName);
                    // Open the file to read from.
                    using (StreamReader sr = File.OpenText(fileName))
                    {

                        while( sr.ReadLine() != null )
                        {

                            // Encode the string.
                            Byte[] encodedBytes = utf8.GetBytes
(unicodeString);
                            Console.WriteLine();
                            Console.WriteLine("Encoded bytes:");
                            foreach (Byte b in encodedBytes)
                            {
                                if (b != 9)
                                {
                                    Console.Write("[{0}]", b);
                                }
                            }

                        }

                    }

            } // end if

4.Reading tab delimited file

I have a file that is tab delimited and has no header row with column 
headings. What is the best method for reading this data into a dataset?

5.Reading Tab Delimited Data With Imbedded Double Quotes

I can't get the Microsoft Jet OLEDB 4.0 driver to read a tab delimited 
text file that has double quotes imbedded in the data. For example

Field1 | Field2 | Field3
Bob | Pant Size 34" Waist | 22

(I'm using a vertical bar here for the tab)

Field2 will contain: Pant Size 34
Field3 will contain: Waist

I have a schema.ini

[MyFile.txt]
ColNameHeader=True
Format=TabDelimited
MaxScanRows=25
CharacterSet=OEM

How do I get it to read the double quote?

Tom

6. Reading Tab Delimited Text thorugh VB6

7. Reading a delimited text file into Access 2000 mdb file with VB 6.0

8. Save a excel file as a TAB delimited text file



Return to VB.NET

 

Who is online

Users browsing this forum: No registered users and 80 guest