I'll see if I can better explain things for you guys... I originally wrote the uplink software a few years back that involved a pull straight from TSReader. Everything worked great. But then Dish started the deal of reusing channel numbers that caused the data tables from TSReader to choke. So JohnH gave me his parser that took the data stream and spit it out to a format I could use. So the process was my app called TSReader, then called JohnH's code to process it to a format that was readable, then my app would load the data and process it even more to what I needed for the report. Then it would compare the data to start the process of posting it to the forums. It's a crazy little process that involves multiple pieces of programming. My code relied on John's for the data, and JohnH's app relied on mine to process it into a format you guys could read.
My app is written in Delphi and his was written in GWBASIC
And if you are curious... my app contains about 5000+ lines of code but that's not where the issue lies at this point.
I'm working on it though... it's just tough to go back in time to GWBASIC and reverse engineer someone elses code.