PDA

View Full Version : پيدا كردن تعدا كامپوننتهاي موجود در فرم



pad_kay
سه شنبه 03 دی 1387, 17:40 عصر
با سلام
چگونه مي شود در يك كامپوننت تعداد كامپوننتهاي موجود در يك فرم را شمارش كرد ؟
لازم به ذكر است منظور تعداد كامپوننت (كنترل ) هاي است كه چه قبل و چه بعداز قراردادن آن كامپوننت برروي فرم است نه ؟

vcldeveloper
سه شنبه 03 دی 1387, 17:58 عصر
هر فرم لیستی از کامپوننت های خودش را نگه داری میکنه که با استفاده از خصوصیت Components به آن دسترسی خواهید داشت. تعداد این کامپوننت ها هم با استفاده از خصوصیت Components.ComponentCountبدست میاد.

pad_kay
چهارشنبه 04 دی 1387, 09:37 صبح
هر فرم لیستی از کامپوننت های خودش را نگه داری میکنه که با استفاده از خصوصیت Components به آن دسترسی خواهید داشت. تعداد این کامپوننت ها هم با استفاده از خصوصیت Components.ComponentCountبدست میاد.
من از اين خصوصيت استفاده مي كنم ولي زماني كه يك كامپوننت بهد از كامپوننت من برروي فرم قرار مي دهم آنرا در نظر نمي گيرد و شمارش نمي شود:متعجب:
بهتر است سوالم را به گونه ديگر بيان كنم آيا روشي هست كه با استفاده از آن كامپوننت خاصي آخرين كامپوننت ساخته شده در فرم باشد
بهتر بگويم من مي خواهم بدون توجه به زمان قرار دادن كامپوننت ، كامپوننت من آخرين كامپوننتي باشد كه در فرم ساخته مي شود
با تشكر از شما

vcldeveloper
چهارشنبه 04 دی 1387, 16:08 عصر
من از اين خصوصيت استفاده مي كنم ولي زماني كه يك كامپوننت بهد از كامپوننت من برروي فرم قرار مي دهم آنرا در نظر نمي گيرد و شمارش نمي شود
این خصوصیت را باید در Runtime استفاده کنید. برای اینکه کامپوننت شما هم در لیست قرار بگیره، باید از این خصوصیت زمانی استفاده کنید که کامپوننت شما Create شده.

در ضمن، کامپوننت هایی که Owner مشترکی داشته باشند، در هنگام ایجاد شدن، یا حذف شدن، باعث اجرای متد Notification سایر کامپوننت هایی که از همان Owner هستند، می شوند. به این ترتیب، کامپوننت های یک Owner ورود و خروج خود را به هم اطلاع می دهند. می تونید در راهنمای دلفی درباره TConmponent.Notification و TComponent.FreeNotification تحقیق کنید.

pad_kay
شنبه 07 دی 1387, 08:07 صبح
با تشكر از راهنمايي شما
در صورت امكان با يك نمونه سورس من را بيشتر راهنمايي كنيد چون با بنا به گفته شما Help دلفي را مطالعه نمودم و نمونه از استفاده از آن را درسايت About پيدا نمودم ولي هيچگون واكنشي برروي كامپوننتهاي كه بعداز كامپوننت من و از جنس كامپوننت من است نشان نميدهد

pad_kay
یک شنبه 08 دی 1387, 10:02 صبح
دوستان لطفا من را راهنمايي كنيدبراي ارائه نمودن كامپوننت تنها به اين مورد نياز دارم