[Gambas-user] reading files

Gianluigi bagonergi at ...626...
Tue Jul 18 11:22:18 CEST 2017


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 <buster6seven at ...626...>:

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