PDA

View Full Version : سوال: نحوه فراخوانی بیت های یک متغیر



Morteza Iranmanesh
سه شنبه 23 شهریور 1400, 19:08 عصر
سلام
یک بانک اطلاعاتی اکسس دارم که برای کاهش میزان حافظه می خوام بجای اینکه چندین داده رشته ای رو باهم بچسبونم و داخل یک فیلد بگذارم اون فیلد رو می خوام بصورت فلگ از نوع بایت استفاده کنم بطوری که اگر دوتا مقدار در یک TcheckListBox انتخاب شد بیت مربوط به اون دو تا یک بشه و ذخیره بشه و موقع خوندن از بانک محتوای اون فیلد رو بتونم بیت به بیت بهش دسترسی داشته باشم و متناسب با هر بیت داده ای که براش در نظر گرفتم رو فعال کنم در گذارش یا جستجو به عبارت دیگه می خوام اون فیلد بانک اطلاعاتی حکم یک فلگ رو داشته باشه که هر بیتش یک نوع اطلاعات خاص رو برام اعتبارش رو مشخص کنه برای این کار نمی دونم چجوری به بیت های یک داده دسترسی داشته باشم و بتونم تغییرش بدم اگر کسی می دونه ممنون می شم راهنماییم کنه
درسته که خود اکسس توانایی ذخیره چندین آیتم رو برای یک فیلد داره ولی دلفی این اجازه رو نمی ده که چندین مقدار رو به یک فیلد اختصاص بدم برای حل این مشکل می خوام از تکنیک فلگ استفاده کنم اگر کسی در این راه کمکم کنه ممنون می شم

یوسف زالی
سه شنبه 23 شهریور 1400, 23:11 عصر
سلام می تونید به جاش از رشته استفاده کنید و هر کاراکتر بشه یک متغیر.

برای کار با بیت ها هم دلفی توابع متناسبی داره.
and or xor not shl shr
مثلا برای دسترسی به بیت سوم از یک اینت یک بایتی می تونید اون رو با عدد 00100000 باینری اند کنید و نتیجه رو با صفر مقایسه کنید. برای نوشتن بیت سوم هم می تونید از اور استفاده کنید.

Morteza Iranmanesh
پنج شنبه 25 شهریور 1400, 01:30 صبح
سلام
مرسی از راهنماییت پس می شه مثل C هر بیت رو مقدارش رو خوند و تغییر داد اگر لطف کنی یک سری از توابع کار با بیت ها رو در دلفی بهم بگی ممنون می شم:لبخندساده:

یوسف زالی
جمعه 26 شهریور 1400, 14:14 عصر
XOR
OR
AND
NOT
SHL
SHR

اینا توابع کار با بیت در دلفی هستند.
مثال:

;Bool1 := X and 1 = 1
;Bool2 := X and 2 = 2
;Bool3 := X and 4 = 4
;Bool4 := X and 8 = 8

Morteza Iranmanesh
دوشنبه 12 مهر 1400, 22:48 عصر
XOR
OR
AND
NOT
SHL
SHR

اینا توابع کار با بیت در دلفی هستند.
مثال:

;Bool1 := X and 1 = 1
;Bool2 := X and 2 = 2
;Bool3 := X and 4 = 4
;Bool4 := X and 8 = 8
سلام
مرسی از راهنماییتون :)