[Gambas-user] Return an array in a function

Matías Manuel Grandi matiasgrandi at ...626...
Mon Aug 9 16:30:40 CEST 2010


First of all, thanks for your time and dedication!!!!

Basically, I'm not too oriented to OOP because....I'm not a programmer, I'm
just an economist. It's only a hobby.

But the most important thing to not moving to oop, or not moving
successfully, is that I started programming in basic, some scriping
lenguajes, PHP...and so on. So I'm not too familiarized with oop, and I
couldn't find a good manual about it (I'm sure it exists), adding that
gambas documentation is very poor.

BTW, your code is excelent, and shows in a clear way the benefits of OOP. So
I will take the code as start point, and I'll try to improve my oop with
gambas.

So I will ask many questions on the list...so be patient, please!!!!

Regards,
Mato.-

2010/8/8 Caveat <Gambas at ...1950...>

> Hello again Mato
>
> I don't really get this code.  Why do you set xml8tracks to new
> XMLReader, then immediately set it to the return from urlDownload?
>
> Where is urlDownload defined?  What does it return?  Where do you define
> xml8tracks? What is smix?  Why is smix defined as String [10, 4]?  Is
> that something you know upfront?  In the "name" case, your debug could
> be confusing as you print that you're showing smix[id, 0] but you
> actually show smix[0, 0].
>
> Please send us enough of the code that we can see what's going on and
> help a little more...
>
> My first tentative thought is that the odd, seemingly contradictory
> message "I wanted an Array but I got an Array" could be complaining
> because it's expecting one type of Array but getting another (so looking
> for a one-dimensional String Array but getting a 2-D one, or looking
> forRegards,classes a String Array but getting a kind of Variant one or
> so... ).
>
> But all that aside... I think that you need to start thinking in a more
> object-oriented way, so I've started you off with the changes to
> TestProject3 (see attached) to make it more oo.  You'll notice I've
> added 3 classes, Response, MixUser, and Mix.  The Response class holds a
> Collection of Mixes, the Mix class has a MixUser ... look at the
> procedure UseClasses on the Form to start to get an idea of how you'd
> need to use the classes.
>
> Create a new instance of the Response class when you get your XML, as
> you go through the XML and hit a new mix, create a new Mix object, when
> you get to a User, create a new MixUser object... when you hit the end
> of a Mix object, add that to the Response object... etc. etc.
>
> Sorry, I really have to go... let me know if you're still stuck!!
>
> Regards,
> Caveat
>
>
> On Sat, 2010-08-07 at 13:25 -0300, Matías Manuel Grandi wrote:
> > Sorry, hi goes again!!!
> > -----------------------------------------------------------------
> >
> > Hi Guys!w
> > I have a problem when calling a function, which receive an xmlreader
> > and returns an array.
> > The function is geturl and the error gambas give me is "Type Mismatch:
> > Wanted an Array, got an Array instead"
> > The code is (a bit simplified):
> >
> > PUBLIC SUB btnPopular_Click()
> >   DIM GetUrlFromXml AS Array
> >   xml8tracks = NEW XmlReader
> >   xml8tracks = urlDownload("http://8tracks.com/mixes.xml?sort=popular")
> >   GetUrlFromXml = GetUrl(xml8tracks)
> > END
> >
> > PUBLIC FUNCTION GetUrl(reader AS XmlReader) AS Array
> >   DIM smix[10, 4] AS String
> >   DIM id AS Integer
> >
> >   DO WHILE TRUE
> >     TRY reader.Read()
> >     IF reader.Eof THEN BREAK
> >     IF reader.Node.Type = XmlReaderNodeType.Element THEN
> >       SELECT CASE reader.Node.Name
> >         CASE "name"
> >             id = id + 1
> >             reader.Read()
> >             smix[id, 0] = reader.Node.Value
> >             PRINT id & "Nombre: " & smix[0, 0]
> >         CASE "restful-url"
> >             reader.Read()
> >             smix[id, 1] = reader.Node.Value
> >             PRINT id & "restful-url: " & smix[id, 1]
> >        END SELECT
> >     ENDIF
> >   LOOP
> >  reader.Close()
> >  IF ERROR THEN
> >    Message.Error("Error when trying to open the Heroes.XML file!")
> >    RETURN
> >  ENDIF
> >  RETURN smix
> > END
> >
> > Thanks!
> > Mato.-
> >
> >
> > 2010/8/7 M. Cs. <mohareve at ...626...>
> > >
> > > It's not readable! Can you resend it without weblinks?
> > >
> ------------------------------------------------------------------------------
> > > This SF.net email is sponsored by
> > >
> > > Make an app they can't live without
> > > Enter the BlackBerry Developer Challenge
> > > http://p.sf.net/sfu/RIM-dev2dev
> > > _______________________________________________
> > > Gambas-user mailing list
> > > Gambas-user at lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/gambas-user
> >
> >
> ------------------------------------------------------------------------------
> > This SF.net email is sponsored by
> >
> > Make an app they can't live without
> > Enter the BlackBerry Developer Challenge
> > http://p.sf.net/sfu/RIM-dev2dev
> > _______________________________________________
> > Gambas-user mailing list
> > Gambas-user at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/gambas-user
>
>
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by
>
> Make an app they can't live without
> Enter the BlackBerry Developer Challenge
> http://p.sf.net/sfu/RIM-dev2dev
> _______________________________________________
> Gambas-user mailing list
> Gambas-user at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gambas-user
>
>



More information about the User mailing list