[Gambas-user] someshort="xy" returns "Wanted short, got string instead"

tobias tobiasboe1 at ...20...
Wed Sep 15 14:47:06 CEST 2010


hi,

> I can say, somebyte=ASC("x"), but is it possible to quickly assign a two-byte
> string to a typical two-byte short?
> 
> I'm sure this can be done with some lengthy function but (as most
> programmers should) I have a need for efficiency. I'm not concerned with
> character set mishaps for people with different language settings, as the
> app will be virtualized in a strict environment.
> 
> Also in general I am extremely interested in how to quickly assign values
> from one datatype to a different one. Does GAMBAS have a convention for this
> outside of functions like ASC?
> 
> -----
> Kevin Fishburne, Eight Virtues
> www:  http://sales.eightvirtues.com http://sales.eightvirtues.com 
> e-mail:  mailto:sales at ...1887... sales at ...1887... 
> phone: (770) 853-6271

hum, this shouldn't be so diffcult and even if there were a function, it 
won't be more efficient than this one:

PUBLIC FUNCTION GetShort(sWord AS String) AS Short

	RETURN Mid$(sWord, 1, 1) * 256 + Mid$(sWord, 2, 1)

END

i haven't tried it but i think it should work... but i think there is 
the problem that shorts in gambas are -32.768 <= Short <= +32.767 and i 
don't know if there's a possibility to make them unsigned like in c, but 
if you only want to deal with standard ascii chars (to 127) the highest 
value will be 127 * 256 + 127 = 32639 and this fits in the short's space.
i hope, this is all right.

regards,
tobi




More information about the User mailing list