VB6 serial port help

I'm trying to figure out how to get the proper data off the serial port from my GPS adapter. I'm using xPort to split my GPS into 3 virtual coms, 1 for iGuidance, one for netstumbler, and one for my frontend. All i really want is speed and bearing, so I can have a basic compass in my front end all the time.

Now I know what part of the NMEA sentence I need, but I'm having trouble getting the sentences into VB in a consistant form. I can see the data that I need in the status bar in xPort, but I'm getting alot of garbage and | characters in my input stream.

I can zip up my test app that i wrote and attach it if someone wants to take a look at it.

This is the first time I've ever tried anything regarding the serial port, so what I came up with is not very fancy. It was stuff i found with google here and there, and kinda molded into something that i thought would work, so please bear with me.

I've attached my little test program which basically takes whatever is in the input buffer and using the split function splits it into words() using a comma as the delimiter. If words(0) = "$GPRMC" then it takes words(7) and converts it from knots to km/h and puts it in a textbox, and words(8) (bearing) in another box. I have the MsComm control set to Com10 as that's the com i set aside for it on xPort, it can be changed in the properties of the control. Clicking the start/stop button simply sets the mscomm1.portopen property to true or false.

I'm pretty sure it's not the right way to go about this, but it's very simple and i came up with it in about an hour. I don't know how else I can test my program, and I know very little about serial programming.

The class file in the zip on the above page was really what I was looking for in the first place, but couldn't find anything. I'd still like to see if what I wrote is going to work with little modification, but if not I can just use the class file