[Gambas-user] reading files

Shane buster6seven at ...626...
Tue Jul 18 09:04:04 CEST 2017


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, nando_f at ...951... 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 <buster6seven at ...626...>
> To: gambas-user at 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, nando_f at ...951... 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.davidson at ...626...>
>>> To: gambas-user at 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 at 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 at 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 at 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 at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gambas-user




More information about the User mailing list