Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
0x0000000000001
Message
From
20/11/2006 11:48:02
Cetin Basoz
Engineerica Inc.
Izmir, Turkey
 
 
General information
Forum:
Visual FoxPro
Category:
Windows API functions
Title:
Environment versions
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01171178
Message ID:
01171206
Views:
8
>
? 0x00000001
>? 0x00001
>? 0x01
>? 0x1
>
>All are 1. However, in the next piece of code the declaration is 0x00000001. Can anyone tell me why? Will 0x1 not do the job?
>
>
#define FILE_ATTRIBUTE_READONLY    0x00000001
>#define FILE_ATTRIBUTE_HIDDEN      0x00000002
>#define FILE_ATTRIBUTE_SYSTEM      0x00000004
>
>local lnNewAttr
>lnNewAttr = iif(tlReadonly,FILE_ATTRIBUTE_READONLY,0)+;
>	  iif(tlHidden,FILE_ATTRIBUTE_HIDDEN,0)+;
>	  iif(tlSystem,FILE_ATTRIBUTE_SYSTEM,0)
>
>declare integer SetFileAttributes in Win32API ;
>	string @ lpFileName,  integer dwFileAttributes
>declare integer GetFileAttributes in Win32API ;
>  string @ lpFileName
>
>return ( SetFileAttributes(@tcFilename, ;
>	bitor(bitand(GetFileAttributes(@tcFilename),0xFFFFFFF8),;
>        lnNewAttr)) = 1)
The answer is simple. I copy pasted constants from default header file and though they're same it is common to exolcitily define it in integer format (full 4 bytes).
Cetin
Çetin Basöz

The way to Go
Flutter - For mobile, web and desktop.
World's most advanced open source relational database.
.Net for foxheads - Blog (main)
FoxSharp - Blog (mirror)
Welcome to FoxyClasses

LinqPad - C#,VB,F#,SQL,eSQL ... scratchpad
Previous
Reply
Map
View

Click here to load this message in the networking platform