thank you Gian i did take a rest and read but alas it did not help

as far as i see it he is saying don't use binary file for fixed length strings

but as this is an mp3 file tag witch i have no control i am doomed



On 18/07/17 19:22, Gianluigi wrote:
Why do not you take a moment of rest and read what Tobias Boege recommend
me in the discussion [0] I told you here [1]?

[0]
http://gambas.8142.n7.nabble.com/Random-access-files-with-fixed-length-string-td50880.html
[1] http://gambas.8142.n7.nabble.com/vb-code-td59764.html

2017-07-18 9:04 GMT+02:00 Shane <buster6se...@gmail.com>:

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

------------------------------------------------------------------------------
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