دسته Archives: دلفی

دسته بندی زبان دلفی

مقایسه C# با Delphi – برتری ها – مزایا و معایب

مقدمه

همیشه یکی از بحث های مطرح بین برنامه نویس برتری زبان های برنامه نویسی هستش، اصلالتاُ این بحث زمانی سر چشمه میگیره که، برنامه نویس ها تنها یک زبان رو برای توسعه خودشون انتخاب کنند، من به شخصه هیچ عرقی به یک زبان برنامه نویسی خاص ندارم و هر کسی از من این سوال رو میپرسه ( معمولا تو هفته یکی دو مرتبه پیش میادش) با چه زبانی برنامه نویسی رو استارت بزنم پاسخ من با یه سوال شروع میشه چشم انداز تو برای برنامه نویس یا توسعه دهنده شدن چی هستش؟ اما ما باید یه چیزی رو در نظر بگیریم اونم اینه که هر زبانی یه سری رویکرد داره که برای انتخاب باید به رویکرد ها و قابلیت ها توجه کرد که‌ آیا رویکرد این زبان برنامه نویسی با رویکرد های من سازگار هست یا خیر! پس این نقد و مقایسه رو به دور از تعصب توضیح میدیم لذا خیلی موقع ها من به بعضی ها خودم #C رو پیشنهاد میدم به برخی دیگه دلفی رو، پس میزان رویکرد شماس.

 

delphic

 

توضیحی در مورد آندرس هلزبرگ

Anders Hejlsberg معمار اصلی دلفی می باشد، که طراح بنیان دلفی به عهده ایشان بوده است و یکی از طرح های کم نظیر ایشان VCL در دلفی می باشد ، به صورت خلاصه وار بخواهیم در مورد دادگاهی بین مایکروسافت و برلند ( بنیان گذار دلفی اما الان هیچ امتیازی ندارد در اختیار embarcadero می باشد) یک جلسه پشت درب های بسته انجام میشود Borland از شکایت خود منصرف میشود و در نهایت آندرس هلزبرگ از برلند به مایکروسافت می رود همچنان جای سوال است که برنلد در این معماله در ازای چه چیزی مغز متفکر خود را تقدیم مایکروسافت کرد و در نهایت پس از ورود به مایکروسافت J# را طراحی میکند که با شکست مواجه میشود و بعد از معمار اصلی C# ایشان میباشند پس این شخص یکی از مهم تریناطلاعات بیشتر

kill process بستن یک برنامه در دلفی

به نام دانای بر حق

 

یکی از چیزهایی که قبلا تو xmen برای این حقیر جذاب بودش این بودش که برای هر کاری یه sample وجود داشتش. استاد مبین همیشه پیشتاز این عرصه بودش با اقتدا به ایشان. البته انتشار این مثال ها جنبه عملی و چیز جدیدی نداره ها فقط مثال هستش بودنشون خالی از لطف نیست.

kill process  با استفاده از نام فایل:

استفاده از unit مشخص شده Winapi.TlHelp32 ضرورت داره:

تابع مورد نظر :

 

نحوه استفاده:اطلاعات بیشتر

معرفی یونیت x4 دلفی Delphi

به نام دانای بر حق

 

همیشه یه سری توابع وجود دارد که من زیاد استفاده می کنم ازشون تو هر پروژه ای میام تعریف می کنم داستان میشه

آخرین بار تصمیم گرفتم که هر چی رو از یه مدتی به بعد نوشتم یه یونیتش کنم (ولی همه اش نیست) و استفاده کنم و به نظرم این یونیت به درد شما هم بخوره این یونیت رو همراه یونیت شمسی رو زیاد استفاده می کنم.

 

اما حالا توابع و کلاس های این یونیت رو معرفی می کنیم که اگر نیاز شد استفاده فرمایید و در نظر دارم مدام آپدیتش کنم:

 

مشخصات کلی:

 

  1. add SetRegValue functionadd TAssoc class for TAssocitive array in delphi
  2. add GetAppDir function
  3. add GetOSType function
  4. add GetOSName function
  5. add GetOSDetail function
  6. add FatalError procedure
  7. add Explode string
  8. add Implode string
  9. add Base64Encode function
  10. add Base64Decde
  11. DrawXMLFromADO
  12. DrawXMLFromDBX
  13. add SetRegValue function
  14. add GetRegValue function
  15. add IsAppStartUp function
  16. add SetAppStartUp function
  17. add UnsetAppStartUP function

اطلاعات بیشتر

DatePicker و تقویم – یونیت تاریخ هجری شمسی – دلفی و لازاروس

به نام دانای برحق

مقدمه

یکی از چیز هایی که هر برنامه نویس ایرانی بالاخره با اون بخورد خواهد و کرده قطعاً تقویم هجری شمسی و یا تبدیل تاریخ میلادی به شمسی می باشد و یونیت ها و کد هایی تو این زمینه وجود دارند که گاهی مطمئن و گاه غیر مطمئن هستند. و البته رفیق صمیمی و استاد عزیزم مبین جان پارسی دیت ParsiDate رو حرفی واسه گفتن نذاشتن ولی خوب خالی از لطف نیست منم یکی از کارهای open source خودم رو اینجا قرار بدم دوستان لذت ببرند.

 

یونیت PDate

این یوینت جزو دقیق ترین یونیت های هستش که میتونین پیدا کنید تقریبا از سال 2009-2010 دارم باهاش کار می کنم و ارتقاش میدم و هرگز خطایی درش نبوده تو تبدیل ها خب حالا از امکانات این یونیت براتون بگم:

این یونیت از دلفی و لازاروس پشتیبانی لازم رو انجام میده.

اما کامپوننت تقویم در دلفی لازاروس

یکی از چیزهایی که خیلی برای خودم مهم بوده DatePicker پارسی بوده که به سادگی استفاده شود الان نسخه فعلی از کامپوننت دلفی رو هم اضافه کردم به زودی کامپوننت لازاروس هم در اختیارتون قرار میدم. شاید الان که دارین این مطلب رو میخونید کامپوننت لازاروس هم باشه.

تصویری از محیط کامپوننت

screenاطلاعات بیشتر

ترسیم طرح مبتنی بر دایره با استفاده مختصات قطبی – Delphi و Javascript

به نام دانای برحق

مقدمه

سلام یاده زمانی که دانشگاه بودم سر کلاس ریاضی کاربردی خیلی حال می کردم چون نکات جدیدی رو درک می کردم یکی از درس های ریاضی کاربردی مختصات قطبی بودش که شاید تا الان بیش از ۲۰ مرتبه استفاده شده ازش برام.

در مختصات دکارتی شما محدودیت این رو دارید که نمیتونید اشکال دایره وار به راحتی ترسیم کنید شما فرض کنید می خواهید یه سری نقطه چین ترسیم کنید که به شکل دایره ای باشه برای محاسبه تو مختصات دکارتی تقریبا با نظرم درست کردنش غیر ممکن هستش حال آنکه سیستم دیجیتالی سیستم عامل هایی که ما باهاشون کار می کنیم از ما فقط مختصات دکارتی رو می پذیرند روی همین حساب ما باید یه کار دیگه کنیم اون زمان هستش مختصا قطبی به درد ما میخوره.

ما در این قسمت از دو زبان یکی زبان تحت وب کلاینت استفاده می کنیم javascript و یه زبان تحت ویندوز Delphi

مختصات قطبی و تفاوت آن با دکارتی

به زبان ساده ما با بیان تفاوت بهتر میتونیم این مسائله رو روشن کنیم ما برای آدرس دهی در روش دکارتی به دو نقطه نیاز داریم x و y که معادل طول و ارتفاع هستش خوب حالا متخصات قطبی تفاوت دارد و نحوه آدرسی بر اساس این است که مرکز صفحه مختصات میشود محور کار می برای آدرس دهی ما یک فاصله با یک زاویه میدهیم مثلا فاصله ۲۱۰ پیکسل با زاویه ۴۵ درجه از مبدا مختصات میشه آدرس دهی ما اما به نقل از ویکی پدیا این شکلی میتونیم تعریف کنیم:

دستگاه مختصات قطبی، یک دستگاه مختصات دوبعدی است که در آن مکان هر نقطه، با فاصلهٔ آن تا مرکز مختصات (r) و زاویه بین خط رسم‌شده از مرکز به آن نقطه و محور طول، (θ) مشخص می‌شود. این دستگاه در سه بعد به دستگاه مختصات استوانه‌ای و دستگاه مختصات کروی تبدیل می‌شود.

اولین استفاده‌های مشابه که به ایجاد کنونی این دستگاه انجامیده‌است توسط ابوریحان بیرونی انجام شد.

Polar_Coordinatesاطلاعات بیشتر

Shellcode نویسی در دلفی – قسمت اول

یا مقلب القلوب…

با سلام.

در این سری از اموزش دلفی قصد داریم نحوه ShellCode نویسی در دلفی رو توضیح بدم. مطالب بسیار زیادی رو در این زمینه باید مطرح کرد ، برای همین سعی میکنم در چندین سری این بحث رو تکمیل کنم.

Shellcode_Logo

 

اطلاعات بیشتر

گرافیک در دلفی – درخت فیثاغورس ، مربع های تو در تو

با سلام.

دو سورس کد (دلفی) مربوط به مبحث گرافیک کامپیوتری رو برای دوستان می گزارم، به امید اینکه یه جایی به درد کسی بخوره.

سورس خیلی روان نوشته شده، با این حال اگه جایی رو متوجه نشدید با خیال راحت بپرسید 😉

 

Pythagoras tree

Pythagoras tree

اطلاعات بیشتر

ارسال SMS با دلفی XE5 برای Android

خوب در این پست قصد داریم که با نحوه ارسال اس ام اس در برنامه هایمان آشنا شویم.

ارسال اس ام اس برای برنامه های آندرویدی در دلفی XE5 بسیار راحت است. به تکه کد زیر دقت کنید:

تابع ارسال SMS یعنی تابع sendTextMessage بدین صورت است :

اگر پارمتر scAddress را مقدار nil بدهیم برای ارسال sms از sms center پیش فرض استفاده خواهد شد. در انتها نکته قابل ذکر که در برنامه به منوی Project/Options/Permissions رفته و دسترسی ارسال SMS را برای برنامه فعال کنید.

 

لذت ببرید و موفق باشید.

 

 

JSON چیست و نحوه استفاده آن در دلفی Delphi و پی اچ پی PHP

سلام

به سایت 4xmen خوش آمدید بازم باعث افتخار منه که پیش عزیزان دیگه این سایت دارم فعالیت می کنم.

بحث پیش روی امروز استفاده از JSON  هستش، اول از همه بهتر هستش ما ماهیت  اطلاعات فرآوری شده رو بررسی کنیم ، زمانی فرارسید که برنامه نویسان زبان های مختلف قصد این رو کردن اطلاعات رو ما بین زبان های هم دیگر رد بدل کنند و این به یه دغدغه تبدیل شد ، برای این کار باید به برنامه خوب و یک استاندارد تعریف میشد، که همه به اون استناد کنند و بتونن اطلاعات رو جا به جا کنند، خب معروف ترین و پر مصرف ترین این استاندراد ها XML هستش که همه ی شما با اون آشنایی دارید و حداقل یک بار اونو دیدید.

اما Javascript چون یه زبان اسکریپت نویسی هستش و مستقل برای خودش عمل نمی کنه یعنی سمت کلاینت (کاربر) هستش برای همین نیاز شدیدی داره که با زبان های سمت سرور ارتباط برقرار کنه از همین رو یه استاندارد جدید هم عرضه شد به نام JSON تعریف JSON طبق اونچه سایت مرجعش نوشته:

جی‌سان یا JSON (JavaScript Object Notation) یک فرمت تبادل داده سبک (lightweight) می‌باشد که خواندن و نوشتن آن برای انسان و تولید و پارس کردن آن برای ماشین‌ها آسان است. این زبان بر مبنای یک زیر مجموعه از زبان برنامه‌نویسی JavaScript ، استاندارد ECMA-262 ویرایش سوم – دسامبر 1999‌، است. JSON بصورت متنی (text) بوده و کاملاً مستقل از زبان بکار رفته است، اما از قوانینی استفاده می‌کند که برای برنامه‌نویسان زبان‌های خانواده C (شامل C ، C++ ، Java ، JavaScript ، Perl ، Python ، و بسیاری زبان‌های دیگر) آشنا می‌باشد.‌ این خصوصیات JSON را یک زبان تبادل‌داده‌ای ایده‌آل کرده است.اطلاعات بیشتر

کاهش حجم فایل های EXE در Lazarus

در اولین برخورد با این IDE مشکلی که شاید موردتوجه واقع گردد، داشتن حجم زیاد فایل های کامپایل شده (exe) هست که شاید دلیلی باشد تا شما منصرف از استفاده این محیط شوید.

در ورژن 1.0.12 که روی سیستمم نصب کرده ام، خروجی یک پروژه که فقط یک فرم خالی دارد نزدیک به 15MB می باشد!!! به دلیل اینکه فایل همراه با اطلاعات اضافی و Debug می باشد که برای کار با gdb نیاز است. برای برطرف نمودن این مشکل یکی از تولزهای خود لازاروس استفاده می کنیم.

ابزار STRIP  تقریبا فایل را به 20 درصد حجم فعلی می رساند و اطلاعات اضافی را از روی فایل کامپایل شده حذف خواهد نمود. حالا می توان از upx هم استفاده نمود و حجم را بیشتر کاهش دهیم. تولز STRIP در مسیر زیر قرار دارد(تمامی تنظیمات را بصورت پیش فرض نصب کردم):

C:\lazarus\fpc\2.6.2\bin\x86_64-win64\strip

و بصورت command-line می توان داده های اضافی (symbol,relocation) را از روی فایل خروجی حذف نماییم تا حجم فایل کاهش یابد.

strip –strip-all  COMPILED_FILE_PATH

حال بدین صورت فایل 15MB به 2MB کاهش خواهد یافت.

اطلاعات بیشتر

برنامه نویسی اندروید در دلفی

با لاخره قابلیت کامپایل و ایجاد فایلهای APK سیستم عامل اندروید به دلفی اضافه شد.این کامایلر بر خلاف اکثر کامپایلرهای موجود Java Dalvik bytecode تولید نمیکند بله کدهای باینری مختص به خود ARM پلتفورم اندروید را تولید میکند.تا کنون برای ایجاد کدهای باینری اندروید مجبور به استفاده از ++c بودید ولی اکنون با استفاده از این کامپایلر شما به راحتی میتوانید از تمامی قابلیتهای دلفی و کامپوننتهای آن برای ایجاد برنامه های اندروید استفاده کنیداطلاعات بیشتر