Jump to content
Sign in to follow this  
unknown12

Reading VMG

Recommended Posts

unknown12

How can I do this?

I know people will say to try it myself, but i've tried various functions, and searched these very forums. They all seem to only return the first charachter of the file.

I've attached a sample file, but added .txt to the end so that it'd upload.

Thanks in advance.

1049721.vmg.txt

Share this post


Link to post
Share on other sites
Thatsgreat2345

ummm remove the .txt , use fileread and if you dont want the spaces do a StringReplace

$file = '1049721.vmg'
$string = StringReplace(FileRead($file)," ","")
MsgBox(0,"Test",$string)

Share this post


Link to post
Share on other sites
unknown12

I wish it were that simple. Try it yourself, and you'll see it only returns "B".

Share this post


Link to post
Share on other sites
The Kandie Man

The file contains null characters and is in binary:

Dim $b_readdata
Dim $b_fixeddata
$b_readdata = FileREad("1049721.vmg")
$b_fixeddata = StringReplace($b_readdata,Chr(0),"")
Msgbox(0,"Data:",$b_fixeddata)
$ho_output = FileOpen("1049721-translated.vmg",2)
FileWrite($ho_output,$b_fixeddata)
FileClose($ho_output)

"So man has sown the wind and reaped the world. Perhaps in the next few hours there will no remembrance of the past and no hope for the future that might have been." & _"All the works of man will be consumed in the great fire after which he was created." & _"And if there is a future for man, insensitive as he is, proud and defiant in his pursuit of power, let him resolve to live it lovingly, for he knows well how to do so." & _"Then he may say once more, 'Truly the light is sweet, and what a pleasant thing it is for the eyes to see the sun.'" - The Day the Earth Caught Fire

Share this post


Link to post
Share on other sites
Thatsgreat2345

o your write my bad :P

$file = '1049721.vmg'
$string = StringReplace(FileRead($file),Chr(0),"")
MsgBox(0,"Test",$string)

even though kandie already did it :D

Share this post


Link to post
Share on other sites
unknown12

Thanks, Kandie man and Thatsgreat.

Share this post


Link to post
Share on other sites
unknown12

Ok, so i've got it into a string now, and with that comes another problem :P Doing StringSplit($string,'END:VBODY') returns a 50+ part array, whereas i'd expect it to only return 2 parts, seeing as there is only 1 instance of END:VBODY.

Thanks.

Share this post


Link to post
Share on other sites
unknown12

Any ideas?

Share this post


Link to post
Share on other sites
Thatsgreat2345

for some reason the flag default of StringSplit = 0 meaning it will split at every char meaning at every E N D : V B O D Y

#include <Array.au3>
Dim $b_readdata
Dim $b_fixeddata
$b_readdata = FileRead("1049721.vmg")
$b_fixeddata = StringSplit($b_readdata,"END:VBODY",1)
_ArrayDisplay($b_fixeddata,'')

Share this post


Link to post
Share on other sites
unknown12

Thanks, adding ",1" seems to have worked.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×