Hi Jürgen,

it seems that we have to find a better solution for hyper in Basic because hyper is a valid type in our API and in fact of this we should extend the typeset of Basic at least to support all the simple base types of our API.

Andreas, what do you think? What would be the best solution to support hyper in Basic?

You're right, but after my fix of i66765 the only problem I
still see is how hyper/int64 can be declared and how the cor-
responding literals can be handled (i66770).

Bernard's workaround (see below) is not even necessary after
the fix of i66765 as the hyper comes from UNO and so has not
to be declared explicitely.

sub TestHyper
        dim oUcb as object, oFile as object
        dim hx as variant
        
        oUcb = createUnoService("com.sun.star.ucb.SimpleFileAccess")
        oFile = oUcb.OpenFileReadWrite(convertToURL( _
                "D:\temp\OOo_2.0.3_060623_Win32Intel_install.exe"))
                ' Size: 96.444.912 bytes
        hx = oFile.getLength
        print hx
        
        hx = hx - 20000000  ' compute a related position
        print hx
        oFile.seek(hx)
        print oFile.getPosition
        
        oFile.closeInput
end sub

Besides this the values do not extend the long range anyway,
so long could be used without problems here (after the fix).

Regards

Andreas


I found a solution to this example. Tested on a 50Mbytes file.

dim oUcb as object, oFile as object, oInputStream as object
dim hx as variant, hxb as variant, p as variant

oUcb = createUnoService("com.sun.star.ucb.SimpleFileAccess")
oFile = oUcb.OpenFileReadWrite(convertToURL("D:\Music\Haendel235.wav"))
oInputStream = createUnoService("com.sun.star.io.DataInputStream")
oInputStream.setInputStream(oFile.getInputStream())
hx = oFile.getLength
hxb = CLng(hx)  ' convert to a usable Basic type
print hxb
hxb = hxb -4879123  ' compute a related position
print hxb
oFile.seek(CreateUnoValue("hyper", hxb)
p = oFile.getPosition
print CLng(p)  ' confirmation
oInputStream.closeInput


   Bernard

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to