PDA

View Full Version : راهنمایی برای ساخت گیتهای منطقی



alasht
شنبه 10 دی 1390, 00:41 صبح
با سلام خدمت دوستان
من میخوام یه برنامه به شکل زیر بنویسم

http://up9.iranblog.com/images/7zq0s21we2bcfm66yogk.jpg

برنامه ای که بشه باهاش گیتهای منطقی رو شبیه سازی کرد
من میخوام یه تولباکس بنویسم و وقتی برنامه اجرا میشه گیتها رو کنار هم بچینم و با یه لامپ خروجی رو نشون بدم
من تو ساخت گیتها مشکل ندارم مشکل اینجاست که فرض کنید من خروجی گیت Not رو وقتی میچسبونم به ورودی گیت بعدی مثلا And چطوری به برنامه بفهمونم که گیت and باید ورودی خودشو از خروجی گیت not بخونه
در واقع در وصل کردن دو گیت به هم مشکل دارم
امیدوارم متوجه منظورم شده باشید
من کد نمیخوام فقط یه راه حل میخوام که درک این موضوع برام راحت تر بشه
ممنون میشم دوستان راهنمایی کنند
با تشکر

سوداگر
شنبه 10 دی 1390, 00:56 صبح
به نظر من شما به یک "گراف" نیاز دارید به طوریکه داده هایی که درون هر گره ذخیره می شوند، همان گیتهای منطقی باشند و عملیات حذف و درج هم در این گراف صورت بگیرد.
البته برای فهمیدن اینکه چه گیتی در آن ذخیره شده میتوانید با متد GetType مطلع شوید
موفق باشید.

rahmatr
شنبه 10 دی 1390, 01:41 صبح
من 5 سال پیش یه برنامه با VB6 نوشته بودم. ببینید شاید مفید باشد:
آموزش مدار منطقی (http://barnamenevis.org/showthread.php?81542-%D8%A2%D8%B1%D8%B4%DB%8C%D9%88-%D8%B3%D9%88%D8%B1%D8%B3-%D9%87%D8%A7%DB%8C-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C-%D9%88-%D8%A8%D8%AF%D8%B1%D8%AF%D8%A8%D8%AE%D9%88%D8%B1&p=1294484&viewfull=1#post1294484)

http://barnamenevis.org/attachment.php?attachmentid=72171&d=1310184722

alasht
شنبه 10 دی 1390, 17:06 عصر
ممنون از دوستانی که پاسخ دادن
اگر میشه روشش رو دوستان بگن
مثلا با چه ابزاری کار کنم و چطوری بهم ارتتباطشون بدم . ...
با تشکر

M.YasPro
دوشنبه 12 دی 1390, 18:03 عصر
فارق از مسائل مربوط به گیتها ، کلا برای فهمیدن اینکه کدوم کنترل به کدوم کنترل دیگه متصله میشه خیلی راحت از این راه استفاده کرد که تمامی کنترلها در دات نت یک پراپرتی به نام tag دارند که از نوع object هست که میشه همه نوع داده ای رو بهش بدید،حالا توی یک ایونتی(هر ایونت مطلوب)کنترل یا شناسه ای از یک کنترل رو که به کنترل مورد نظر ما متصل هست رو داخل این پراپرتی میریزیم ، حالا در زمان شروع پردازش(یعنی در این زمان :
ورودی گیت بعدی مثلا And چطوری به برنامه بفهمونم که گیت and باید ورودی خودشو از خروجی گیت not بخونه) شما چک می کنید که اگر پراپرتی tag مساوی با Null نبود و مقدار داشت یعنی به یک کنترل دیگه متصل هست و شما به کنترل بعدی میری و باز هم به همین ترتیب .
در ضمن شما میتونی با ساختن یه کنترل سفارشی بطور مشخص پراپرتی های مورد نیاز خودتون رو توی این کنترل جدید اضافه کنی و محدودیت پراپرتی Tag رو نداشته باشی .
موفق باشید ./