PDA

View Full Version : کامپوننت چیه؟>



dast nayaftani
جمعه 18 مرداد 1387, 17:57 عصر
سلام
شاید واستو ن خنده دار باشه
من تازه با دلفی شروع به کار کردم(یعنی شروع به یادگیری)
و هنوز معنی کامپوننت رو دقیق نمی دونم
می شه کمکم کنید؟
مفهموم کامپوننت تو این زبان برنامه نویسی چی هست؟
ممنون

vcldeveloper
شنبه 19 مرداد 1387, 03:07 صبح
بطور کلی، کامپوننت یک جزء از برنامه هست که از قبل آماده و بسته بندی شده تا بتوان به راحتی از آن در پروژه های مختلف استفاده کرد. برای مثال کنترل هایی مثل Button, CheckBox, ListBox, Memo و... در دلفی کامپوننت هستند. برای استفاده از این اجزاء فقط کافی هست که آنها را از Component Pallet دلفی روی فرم مورد نظر خودتون بیاندازید (یا در حالت پیش رفته تر، در زمان اجرا آنها را بسازید)، و خصوصیات آنها را از طریق Object Inspector دلفی متناسب با نیاز خود، ویرایش کنید.
در دلفی، کلاس TComponent کلاس پایه همه کامپوننت ها هست، یعنی همه کامپوننت ها با واسطه یا بی واسطه، از این کلاس مشتق شدند.

حالا با توجه به توضیحات بالا، می تونید توضیحات پایین را بخوانید:



کامپوننت‌های بصری و غیربصری

http://wiki.barnamenevis.org/images/thumb/1/18/Vcl_main_classes.png/180px-Vcl_main_classes.png (http://wiki.barnamenevis.org/index.php/%D8%AA%D8%B5%D9%88%DB%8C%D8%B1:Vcl_main_classes.pn g)
http://wiki.barnamenevis.org/skins/common/images/magnify-clip.png (http://wiki.barnamenevis.org/index.php/%D8%AA%D8%B5%D9%88%DB%8C%D8%B1:Vcl_main_classes.pn g)
سلسله‌مراتب کلاس‌های اصلی VCL


کامپوننت‌های دلفی به دو دسته کلی‌ بصری (visual) و غیر‌‌بصری ( non-visual) تقسیم می‌شوند. کامپوننت‌های بصری از کلاس TControl (http://wiki.barnamenevis.org/index.php?title=TControl&action=edit) مشتق می شوند و به همین دلیل به آنها کنترل (http://wiki.barnamenevis.org/index.php?title=%DA%A9%D9%86%D8%AA%D8%B1%D9%84&action=edit) گفته می‌شود. کنترل‌ها در محیط طراحی دلفی به همان شکلی که در برنامه نمایش داده خواهند شد، نمایش داده می شوند. اما کامپوننت‌های غیر‌بصری در محیط طراحی دلفی به شکل یک مربع کوچک نمایش داده می‌شوند. اکثر کنترلهای VCL، بخصوص کنترل‌هایی که از کلاس TWinControl (http://wiki.barnamenevis.org/index.php?title=TWinControl&action=edit) مشتق می شوند، Wrapper (http://wiki.barnamenevis.org/index.php?title=Wrapper&action=edit)‌هایی برای Windows API (http://wiki.barnamenevis.org/index.php?title=Windows_API&action=edit) محسوب می‌شوند؛ یعنی کنترل‌های استاندارد ویندوز مثل Button, ListBox, ListView و غیره را در قالب کامپوننت‌های دلفی به برنامه‌نویس ارائه می‌کنند.
برنامه‌نویسان می‌توانند با خلق کامپوننت‌های جدید VCL را توسعه دهند. در حال حاضر شرکت‌ها و گروه‌های بسیاری به تولید کامپوننت‌های دلفی مشغول هستند که هر یک قابلیت‌های جدیدی به VCL اضافه می‌کنند؛ مجموعه Indy (http://www.indyproject.org/index.en.aspx) برای کار با سوکت‌ها و پروتکل‌های مختلف شبکه، مجموعه JEDI (http://www.delphi-jedi.org/) شامل تعداد زیادی کامپوننت برای مصارف گوناگون، IntraWeb (http://www.atozed.com/IntraWeb/index.en.aspx) برای تولید نرم‌افزارهای تحت وب (http://wiki.barnamenevis.org/index.php?title=%D8%AA%D8%AD%D8%AA_%D9%88%D8%A8&action=edit)، و مجموعه TNT (http://www.yunqa.de/delphi/doku.php/products/tntunicodecontrols/index) برای پشتیبانی از استاندارد یونی‌کد (http://wiki.barnamenevis.org/index.php?title=%DB%8C%D9%88%D9%86%DB%8C%E2%80%8C% DA%A9%D8%AF&action=edit) نمونه‌هایی از مجموعه کامپوننت‌هایی هستند که توسط گروه‌ها و شرکت‌های طرف سوم برپایه VCL توسعه داده می‌شوند.

dast nayaftani
شنبه 19 مرداد 1387, 08:58 صبح
می شه بگید از چه کامپوننتی برای ارتباط با پورت سریال می تونم استفاده کنم؟
ممنون

Hsimple11
شنبه 19 مرداد 1387, 10:51 صبح
سایت Torry.Net را در این زمینه جستجو کنید.

کامپوننت های TCommPort و Serial Port Control نیز وجود دارند. فکر میکنم با جستجو بتوانید آن را پیدا کنید.

dast nayaftani
شنبه 19 مرداد 1387, 13:37 عصر
سلام
ممنون از کمکتون
من فایلtcommport رو از این سایت دانلود کردم
ولی برای استفاده از اون در برنامه می شه کمکم کنید؟
بازهم ممنون

vcldeveloper
شنبه 19 مرداد 1387, 16:58 عصر
من فایلtcommport رو از این سایت دانلود کردم
این دیگه مربوط به این تایک نمیشه. این تاپیک درباره این بود که "کامپوننت چی هست". برای سوال درباره کامپوننت TCommPort باید در همین بخش کامپوننت ها جستجو کنید که آیا تاپیکی در این رابطه هست یا نه، اگر بود، و به سوال شما هم مربوط بود، سوال خود را در آن تاپیک بپرسید. اگر تاپیکی نبود، خودتان یک تاپیک درباره آن ایجاد کنید و سوال خود را بپرسید.