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

Reply via email to