Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
What exactly is a
Message
From
24/11/2004 10:17:53
 
 
To
23/11/2004 17:26:01
Cetin Basoz
Engineerica Inc.
Izmir, Turkey
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Environment versions
Database:
Visual FoxPro
Miscellaneous
Thread ID:
00964046
Message ID:
00964299
Views:
9
Holy cow, ask *ONE* simple question and sometimes it starts a snowball :-)

But I have my original question answered: what is a DWORD and Cetin here helped me name my function and as Peter de Valenca has said, what I really want in a function name is something that is accurate - but that accuracy has to be balanced with something I can remember - I think I like the DWordToNum() best (if someone has better name that is more accurate, I'm still open to suggestions).

I have a large function library that started way back in FP Dos days (I think it was a guy named Alan Schwartz way back at an early conference who got me started writing functions to increase my "resusability" of code - was that the guy's name - I think he worked for the FoxFire guys). Anyhow, the name is important because if you don't use the function for a long time, it helps to have *some* idea of what you might have called it. And as someone has pointed out, sometimes the names given by MSFT to functions seem "odd" to us who have to use them!

Thanks for all the input!

Albert Gostick

>>Hi Y'all,
>>
>>Trying to name a function correctly to put it into my library of functions. The following function was pulled from the UT and I want to rename it - but I don't exactly know what a DWORD is. Here is the function:
>>
>>
>>FUNCTION buffer2dword(lcBuffer)
>>
>>RETURN ASC(SUBSTR(lcBuffer, 1,1)) + ;
>>    ASC(SUBSTR(lcBuffer, 2,1)) * 256 +;
>>    ASC(SUBSTR(lcBuffer, 3,1)) * 65536 +;
>>    ASC(SUBSTR(lcBuffer, 4,1)) * 16777216
>>
>>
>>
>>Looking up some definitions via Google, it says "double word" but in this case, it contains a numeric value. Why would they call it a "word" when it contains a number?
>>
>>Also, what would you call something that is stored as base 256 (the passed in string seems to be base 256). I was thinking of calling the above function 'StringToDWord' but 'string' is a bit ambigous. Note: if worrying about a function name seems 'anal', I have a large library of functions and I think it is important to name them correctly!
>>
>>Thanks,
>>Albert Gostick
>
>Albert,
>A word is 2 bytes and dword is 4 bytes = 32 bits integer (quadword 8 bytes).
>Passed in string is I bet a hex string. ie:
>
>FF is 255
>0100 is 256
>FFFF is 65535
>0D is 13 etc
>
>In memory an 32 bits integer is stored as a sequence of 4 bytes (reverse order - low order,high order words). ie: "ABCD" is printable but if it stores an integer then its value is:
>
>asc("A") * 256^0 +
>asc("B") * 256^1 +
>asc("C") * 256^2 +
>asc("D") * 256^3
>
>IOW above function could be:
>
>
>FUNCTION buffer2dword(lcBuffer)
>local lnValue
>lnValue=0
>for ix=1 to 4
> lnValue = lnValue + asc(substr(m.lcBuffer,m.ix)) * 256^(m.ix-1)
>endfor
>return m.lcValue
>
You might call it Str2Int32, Str2Int, Dword2Num, C2Bin etc
>Cetin
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform