PDA

View Full Version : flugs



lord_viper
جمعه 13 خرداد 1384, 03:34 صبح
با سلام
کاربرد flugsدر توابع چیه و چطور مقدار دهی میشه؟
با تشکر

vcldeveloper
شنبه 14 خرداد 1384, 03:12 صبح
flugs
:گیج:

lord_viper
یک شنبه 15 خرداد 1384, 07:08 صبح
اقا شرمنده :cry: :cry: :cry:
منضورم flagsبود

Touska
یک شنبه 15 خرداد 1384, 10:06 صبح
منم خیلی جاها دیدم ولی استفاده شو نفهمیدم. منظور از پرچم چیست؟ :گیج:

محمد میرمصطفی
دوشنبه 16 خرداد 1384, 00:17 صبح
یه مثل میشه یزنید که کجا دیدید؟

lord_viper
دوشنبه 16 خرداد 1384, 07:21 صبح
مثلا در توابع shfileopstruct و shbrowsfolder از flag استفاده میشه

vcldeveloper
دوشنبه 16 خرداد 1384, 10:53 صبح
هر flag (یا پرچم) یک بیت نشان دهنده حالت یا وضعیت خاص هست، که اگه مقدارش 1 باشه، یعنی حالت مورد نظر فعاله و اگه مقدارش صفر باشه یعنی حالت مورد نظر غیرفعاله.
برای مثال رکورد shfileopstruct که بهش اشاره کردید، به عنوان پارامتر در تابع SHFileOperation استفاده میشه. در این رکورد متغیر fFlag عملیات بر روی فایل رو کنترل میکنه. اگه به تعریف هر یک از ثابت های FOF_ALLOWUNDO، FOF_CONFIRMMOUSE و ... در یونیت ShellAPI توجه کرده باشید، متوجه میشید که هر کدومشون یک عدد هگزا بر میگردونند که یک بیت رو 1 میکنه:
FOF_RENAMEONCOLLISION = $0008; //binary = 1000
FOF_NOCONFIRMATION = $0010; //binary = 10000

حالا اگه شما مقدار fFlag رو برابر با FOF_NOCONFIRMATION قرار بدید، یعنی fFlag = 100000 ( همه بیت ها غیر از بیت پنجم صفر میشند) و اگر fFlags = FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION باشه، یعنی fFlags = 10000 or 1000 که میشه 11000 یعنی بیت های پنجم و ششم (از راست) یک می شند و بقیه بیت ها صفر. تابع SHFileOperation با خوندن این بیت ها می تونه بفهمه که شما قصد انجام چه نوع عملیاتی بر روی فایل دارید.