[Gambas-user] reading files

Gianluigi bagonergi at ...626...
Wed Jul 19 13:45:19 CEST 2017


You can take a look at our Italian wiki [0][1][2] using Google Translate.
You can also subscribe and ask a question in English, I do not understand
mp3, but there is someone who understands it.

Regards
Gianluigi

[0]
http://www.gambas-it.org/wiki/index.php?title=Estrarre_informazioni_e_TAG_da_un_file_MP3_con_le_sole_funzioni_di_Gambas
[1]
http://www.gambas-it.org/wiki/index.php?title=Guide_della_comunit%C3%A0#Gestione_dei_dati_audio_e_dei_file_audio
[2]
http://www.gambas-it.org/wiki/index.php?title=Guide_della_comunit%C3%A0#Struttur

2017-07-19 6:33 GMT+02:00 Shane <buster6seven at ...626...>:

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