PDA

View Full Version : چک کردن وضعیت چند باتون قبل از خروج



Gladiator
یک شنبه 11 آبان 1382, 21:49 عصر
با سلام

میخواستم قبل از خروج از برنامه وضعیت Enable بودن یا Disable بودن 14 تا bitbtn رو چک کنم . اگر همگی enable باشند برنامه پایان پیدا کنه و خارج بشه اگر حتی یکی هم disable باشه برنامه خارج نشه .

با کمال تشکر .
گلادیاتور .

مهدی کرامتی
یک شنبه 11 آبان 1382, 22:14 عصر
در واقعه OnCloseQuery متغیر CanClose‌ را False‌ کنید. در این صورت حتی اگر کاربر بر روی دکمه Close بالای فرم کلیک کند فرم بسته نمیشود.
شما میتوانید این متغیر را وقتی True کنید که شرط شما برقرار باشد.

Gladiator
یک شنبه 11 آبان 1382, 22:27 عصر
با سلام

آقا مهدی این کار رو الان هم انجام دادم ولی مشکلم اینه که اون شرط 14 تایی رو به چه شکل راحت تر بنویسم ؟؟؟ ( کوتاه تر ) راحی هست ؟

متشکرم .

amirrf
یک شنبه 11 آبان 1382, 22:49 عصر
سلام،
اگر همه آنها دارای یک owner هستند مثلا همه در یک فرم قرار دارند:

CanClose := True;
for I := 0 to FormX.ComponentCount - 1 do
begin
if (FormX.Components[I] is TBitBtn) then
begin
CanClose := CanClose and (FormX.Components[I] as TBitBtn).Enabled;
if not CanClose then
Break;
end;
end;
اگر BitBtn دیگری هم وجود دارد اما نباید بررسی شود می توانید از خاصیت Tag کامپوننت ها بهره بگیرید.

Gladiator
یک شنبه 11 آبان 1382, 22:53 عصر
امیر جان بسیار بسیار سپاسگذارم .

واقعا لطف کردی . ممنونم .