بایگانی‌های دسته‌بندی: برنامه‌نویسی

برنامه‌نویسی GUI در Qt

در این لینک دربارهٔ کتابخانهٔ روشن و نحوهٔ فراخوانی توابع موجود در آن توضیحاتی داده شد. اکنون می‌خواهیم با برنامه‌نویسی GUI در محیط Qt (کیوت)، از این کتابخانه بهره ببریم. با قرار دادن سورس‌کدهای چند نرم‌افزار کاربردی، در مورد GUI Programming نکاتی ارائه شده است. با بررسی این سورس‌کدها می‌توانید نکات کاربردی‌ای را کسب کنید. […]

کتابخانهٔ روشن (roshanlib) نسخهٔ 1.1.3.9

نسخه 1.1.3.9 کتابخانهٔ روشن دارای توابع جدیدی در حوزهٔ ریاضی است. نسخهٔ 1.0.0.0 این کتابخانه را می‌توانید از این لینک و نسخهٔ 1.1.2.4 را می‌توانید از این لینک دانلود کنید. کتابخانهٔ نسخهٔ 1.1.3.9 دارای همان توابعی است که به زبان C در نسخه‌های قبلی نوشته شده بود؛ با این تفاوت که: ۱) توابع درون large_math_c […]

یافتن یک توالی دلخواه در خلاصه پیام MD5 و خانوادهٔ SHA

تابع درهم‌ساز رمزنگارانه (به انگلیسی: Cryptographic Hash Function) (CHF)، تابع درهم‌سازی است که مناسب برای رمزنویسی است. در واقع یک الگوریتم ریاضی است که داده‌هایی با اندازه اختیاری یا متغیر (که اغلب «پیام» اطلاق می‌شوند) را دریافت می‌کند و به یک رشتهٔ بیتی با اندازهٔ ثابت (مقدار درهم، هش، «اثر انگشت» یا «خلاصه پیام») تبدیل […]

نکاتی دربارهٔ اپراتورهای بیتی (Bitwise Operators)

اپراتور XOR ۱. از اپراتور XOR می‌توان برای معکوس کردن یک یا چند بیت مشخص استفاده کرد. بعنوان مثال:الف) می‌خواهیم بیت‌های دوم، پنجم و هفتم عدد 11101100110 (1894) را معکوس کنیم. باید این عدد را با 1010010 (82)، XOR کنیم. عدد حاصل برابر 11100110100 (1844) می‌شود. بنابراین هرگاه خواستید بیت‌های دوم، پنجم و هفتم یک […]

برنامه امضاء روشن به زبان C

بِسمِ اللهِ الرَّحمنِ الرَّحِیمِ‏ همانطور که قبلا در این صفحه و این صفحه دربارهٔ برنامه‌های امضاء گفته شد، این برنامه‌ها بصورت جمع‌وجور و معمولا رمزآلود نوشته می‌شوند. برنامه امضا‌ء زیر را خودم مدت‌ها پیش نوشتم، که بعد از اجرا ترجمهٔ «بِسمِ اللهِ الرَّحمنِ الرَّحِیمِ‏» یعنی “In the name of Allah, the Beneficent, the Merciful” را […]

ضرب دو عدد صحیح با استفاده از اپراتورهای بیتی

روش‌های مختلفی برای ضرب اعداد صحیح وجود دارد. یک روش جالب الگوریتم دهقان روسی (Russian Peasant Algorithm) است. این الگوریتم بدین صورت است که: حاصل ضرب n1 × n2 برابر می‌شود با:اگر n2 یک عدد فرد باشد، آنگاه n1 را یادداشت می‌کنیم و اگر زوج باشد، از آن صرف نظر می‌کنیم. سپس n1 را دو […]

پیش‌پردازندهٔ ماکرو (macro)

به خطوطی که با علامت هش (hash sign) (#) شروع می‌شوند، پیش‌پردازنده (Preprocessor) می‌گویند. این خطوط دستورات برنامه نیستند و دستورالعمل پیش‌پردازنده هستند. پیش‌پردازنده قبل از شروع ترجمه (Compilation) کد را بررسی می‌کند و اقدامات لازم را انجام می‌دهد. پیش‌پردازنده‌ها تنها در یک خط نوشته می‌شوند و به محض اینکه خط جدیدی شروع می‌شود، دستورات […]

Split کردن یک رشته به یک لیست بوسیلهٔ چندین Delimiter در Qt

برای Split کردن یک رشته به یک لیست بوسیلهٔ چندین Delimiter، می‌توان از کلاس QRegExp کمک گرفت. RegExp مخفف Regular Expression (عبارت با قاعده) می‌باشد و می‌توان از این کلاس جهت جستجو، Replace کلمات، Split و… استفاده نمود. در کد زیر و فایل ضمیمه، می‌توانید چگونگی استفاده از آن را مشاهده کنید.

جابجایی اطلاعات بین فرم‌ها در Qt (کیوت)

برای برنامه‌نویسی GUI در Qt (کیوت)، هم می‌توان از طریق کدنویسی و هم از طریق Qt Designer اقدام نمود. بعد از طراحی فرم‌های برنامه، باید بتوان اطلاعات را بین فرم‌ها جابجا نمود. اگر فرم‌ها با Qt Designer ساخته شده باشند، می‌توان با استفاده از سیگنال (Signal) و اسلات (Slot)، اطلاعات را بین فرم‌ها جابجا کرد. […]

جمع و تفریق دو عدد صحیح با استفاده از اپراتورهای بیتی

کد زیر جمع بین دو عدد صحیح را با استفاده از اپراتورهای بیتی بدست می‌آورد. به این کد دقت کنید: Output: 9 در کد بالا اپراتور XOR جمع بین دو بیت را به ما می‌دهد. هدف از XOR، انجام کارهای زیر است: با استفاده از اپراتور AND می‌توان بیت Carry را بدست آورد. در واقع […]