I am very confused from the docs

_Variable_ *= READ* [ *#* _Stream_ ] *AS* _Datatype_

_Variable_ *= READ* [ *#* _Stream_ *,* ] _Length_

so wouldn't it be_
_

IDtag = read #hfile  as ID3v1_TAG  ?

with doesn't work by the way



On 18/07/17 12:44, nand...@nothingsimple.com wrote:
I think
         Read #hfile, IDtag, ID3v1_TAG
should be
         Read #hfile, IDtag as ID3v1_TAG


--
Open WebMail Project (http://openwebmail.org)


---------- Original Message -----------
From: Shane <buster6se...@gmail.com>
To: gambas-user@lists.sourceforge.net
Sent: Tue, 18 Jul 2017 10:50:43 +1000
Subject: Re: [Gambas-user] reading files

i don't know what i am doing wrong

Public Struct ID3v1_TAG              '(128 bytes)
       Tag[3] As String               'always TAG
       Title[30] As String             'title, 30 characters
       Artist[30] As String           'artist, 30 characters
       Album[30] As String           'album, 30 characters
       Year[4] As String              'year, 4 characters
       Comment[30] As String          'comment, 30 characters (or 28 if
track# included)
       Genre As Byte                   'genre, 255 for none defined
End Struct

Private Sub GetID3v1(File As String)
      Dim IDtag As ID3v1_TAG
      Dim hfile As File

      hfile = Open File For Read

          '
          'read the tag
          ' seek to end of less tag size

          Read #hfile, IDtag, ID3v1_TAG

here i get IDtag is NULL

On 18/07/17 05:05, nand...@nothingsimple.com wrote:
Yes it is possible, I do it.  here is some code (incomplete)

-Nando (Canada)



' top of class file
Public Struct recstruc
    _a as integer
    _b as integer
    _c as integer
end struct


' a function
public function openAfile(filename as string) as file

dim hfile as file
dim arec as recstruc

hfile = open filename for read write create

with arec   'some values to write.
    ._a = 1
    ._b = 22
    ._c = 333
end with

write #hfile, arec as recstruc

'if you position the hfile pointer back to zero, you can...
read #hfile, arec as recstruc

close #hfile

end






--
Open WebMail Project (http://openwebmail.org)


---------- Original Message -----------
From: T Lee Davidson <t.lee.david...@gmail.com>
To: gambas-user@lists.sourceforge.net
Sent: Sun, 16 Jul 2017 12:42:35 -0400
Subject: Re: [Gambas-user] reading files

On 07/16/2017 06:57 AM, Shane wrote:
given this example

PRIVATE SUB BinaryRead(FilePath AS String)
     DIM binaryFile AS File
     DIM i AS Integer
     DIM b AS Byte
     DIM s AS Short
     DIM s1 AS String
     DIM s2 AS String
     ' Read binary file
     binaryFile = OPEN FilePath FOR READ
     READ #binaryFile, i
     READ #binaryFile, b
     READ #binaryFile, s
     READ #binaryFile, s1
     READ #binaryFile, s2
     CLOSE #binaryFile
     ' Display results
     PRINT i
     PRINT b
     PRINT s
     PRINT s1
     PRINT s2
END


is there a way for gambas to read a struct of all these variables
in one read ?

You may have hinted at the solution within your question. Have you considered
using a Structure?

http://gambaswiki.org/wiki/lang/read :
"... reads the stream Stream as binary data whose type is specified by the
Datatype argument."

"The returned datatype can be one of the following: NULL, Boolean, Byte, Short,
   Integer, Long, Pointer, Single, Float, Date, String, Variant, any Array,
   Collection or structure."

http://gambaswiki.org/wiki/lang/structdecl

--
Lee

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Gambas-user mailing list
Gambas-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gambas-user
------- End of Original Message -------


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Gambas-user mailing list
Gambas-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gambas-user
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Gambas-user mailing list
Gambas-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gambas-user
------- End of Original Message -------


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Gambas-user mailing list
Gambas-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gambas-user

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Gambas-user mailing list
Gambas-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gambas-user

Reply via email to